InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IDHAMemoryXferBytes.h
1 #ifndef __IDHAMemoryXferBytes_h__
2 #define __IDHAMemoryXferBytes_h__
3 
4 #include "IXferBytes.h"
5 
7 {
8 public:
11  IDHAMemoryXferBytes(void);
12 
15  virtual ~IDHAMemoryXferBytes(void);
16 
17  //--- The IXferBytes interface we must implement ---
18 
21  virtual uint32 Read(void* buffer, uint32 num);
22 
25  virtual uint32 Write(void* buffer, uint32 num);
26 
29  virtual uint64 Seek(int64 numberOfBytes, SeekFromWhere fromHere);
30 
33  virtual void Flush(void);
34 
37  virtual StreamState GetStreamState(void);
38 
41  virtual void SetEndOfStream(void);
42 
43 protected:
44  const char* getBufferPtr(void) const;
45  void resizeBuffer(uint32 newSize);
46 
47 private:
48 
49  StreamState fStreamState;
50  uint32 fCountBytesStored;
51  uint32 fAbsolutePositionInBuffer;
52  char* fMyBuffer;
53  uint32 fCurrentMaxBuf;
54 
55  enum
56  {
57  eIDHAInitialMaxBuf = 256 * 1024
58  };
59 };
60 
61 #endif // __IDHAMemoryXferBytes_h__