InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
CStreamRead.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: jargast
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __CStreamRead__
25 #define __CStreamRead__
26 
27 #include "IPMStream.h"
28 #include "HelperInterface.h"
29 
30 class IXferBytes;
31 class CStreamWrite;
32 
33 
34 class CStreamRead : public IPMStream
35 {
36 public:
37  CStreamRead(IPMUnknown *boss);
38  virtual ~CStreamRead();
39 
40  virtual uchar XferByte(uchar& chr) ;
41  virtual int32 XferByte(uchar *buf, int32 num) ;
42 
43  virtual bool16 XferBool(bool16& chr) ;
44  virtual int32 XferBool(bool16 *buf, int32 num) ;
45 
46  virtual int16 XferInt16(int16& i) ;
47  virtual int32 XferInt16(int16 *buf, int32 num) ;
48 
49  virtual int32 XferInt32(int32& i) ;
50  virtual int32 XferInt32(int32 *buf, int32 num) ;
51 
52  virtual int64 XferInt64(int64& i) ;
53 
54  virtual uintptr_t XferPointer(uintptr_t& i);
55 
56  virtual ClassID XferID(ClassID& i) ;
57  virtual int32 XferID(ClassID *buf, int32 num) ;
58 
60  virtual int32 XferID(ImplementationID *buf, int32 num) ;
61 
62  virtual WidgetID XferID(WidgetID& i) ;
63  virtual int32 XferID(WidgetID *buf, int32 num) ;
64 
65  virtual PluginID XferID(PluginID& i) ;
66  virtual int32 XferID(PluginID *buf, int32 num) ;
67 
68  virtual PMIID XferID(PMIID& i) ;
69  virtual int32 XferID(PMIID *buf, int32 num) ;
70 
71  virtual ActionID XferID(ActionID& i);
72  virtual int32 XferID(ActionID *buf, int32 num);
73 
75  virtual int32 XferID(ScriptElementID *buf, int32 num);
76 
77  virtual ScriptID XferID(ScriptID& i);
78  virtual int32 XferID(ScriptID *buf, int32 num);
79 
80  virtual LinkClientID XferID(LinkClientID& i);
81  virtual int32 XferID(LinkClientID *buf, int32 num);
82 
83  virtual UID XferObject(UID& u);
84  virtual int32 XferObject(UID *buf, int32 num);
85 
86  virtual UID XferReference(UID& u);
87  virtual int32 XferReference(UID *buf, int32 num);
88 
89  virtual PMReal& XferRealNumber(PMReal& r);
90  virtual int32 XferRealNumber(PMReal *buf, int32 num);
91 
92  virtual void Comment(const char* comment);
93 
94  virtual int64 Seek(int64 numberOfBytes, SeekFromWhere fromHere) ;
95  virtual void SetEndOfStream();
96  virtual void Flush() ;
97 
98  virtual StreamState GetStreamState();
99 
100  virtual bool16 IsReading() const ;
101  virtual bool16 IsWriting() const ;
102  virtual bool16 IsWritingForDuplication(IDataBase**) const
103  { return kFalse; }
104 
105  virtual void SetSwapping(bool16 swapping);
106  virtual bool16 GetSwapping() const;
107 
108  void SetXferBytes(IXferBytes *xferBytes)
109  { fXferBytes = xferBytes; }
110 
111 protected:
112  virtual bool16 Open();
113  virtual void Close();
114 
115 private:
116  int32 XferByteReverse(uchar *buf, int32 num) ;
117 
118 private:
119  IXferBytes* fXferBytes;
120  bool16 fSwapping;
121 
122 
123 };
124 
125 
126 #endif