1/* 2 File: CBuffer.h 3 4 Contains: Interface to the CBuffer abstract class 5 6*/ 7 8#ifndef __CBUFFER_H 9#define __CBUFFER_H 10 11#include "IrDATypes.h" 12 13//-------------------------------------------------------------------------------- 14// CBuffer 15//-------------------------------------------------------------------------------- 16class CBuffer : public OSObject 17{ 18 OSDeclareAbstractStructors(CBuffer); 19 20public: 21 22 // position and size 23 24 virtual Long Hide(Long count, int dir) = 0; 25 virtual Size Seek(Long off, int dir) = 0; 26 virtual Size Position(void) const = 0; 27 virtual Size GetSize(void) const = 0; 28 virtual Boolean AtEOF(void) const = 0; 29 30 31 // get primitives 32 33 virtual int Peek(void) = 0; 34 virtual int Next(void) = 0; 35 virtual uintptr_t Skip(void) = 0; 36 virtual int Get(void) = 0; 37 virtual Size Getn(UByte* p, Size n) = 0; 38 virtual int CopyOut(UByte* p, Size& n) = 0; 39 40 // put primitives 41 42 virtual int Put(int dataByte) = 0; 43 virtual Size Putn(const UByte* p, Size n) = 0; 44 virtual int CopyIn(const UByte* p, Size& n) = 0; 45 46 // misc 47 48 virtual void Reset(void) = 0; 49 50 51}; // CBuffer 52 53#endif /* __CBUFFER_H */ 54