Files
surfer/actlibrary/include/actIAlgorithm.h
2010-10-29 10:54:12 +00:00

39 lines
1.1 KiB
C++

//////////////////////////////////////////////////////////////////////////////////
// Name: actIAlgorithm.h
// Product: cv act library
// Purpose: IAlgorithm is an abstract base. All concrete algorithm-classes are
// derived from IAlgorithm.
//
// Copyright: (c) 2000 cv cryptovision GmbH
// all rights reserved
// Licence: The conditions for the use of this software are regulated
// in the cv act library licence agreement.
//////////////////////////////////////////////////////////////////////////////////
#ifndef ACT_IAlgorithm_h
#define ACT_IAlgorithm_h
#include "actBasics.h"
namespace act
{
class Blob;
class IAlgorithm
{
public:
virtual ~IAlgorithm() { }
virtual void Write(const Blob& input) = 0;
virtual void Write(const byte* input, size_t insize) = 0;
virtual void Finalize() = 0;
virtual size_t GetAvailableSize() const = 0;
virtual size_t Read(Blob& output, size_t max = 0) = 0;
virtual size_t Read(byte* outbuffer, size_t buffersize) = 0;
virtual status_t GetStatus() const = 0;
};
} // namespace act
#endif // ACT_IAlgorithm_h