BALL  1.5.0
XDRPersistenceManager.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_CONCEPT_XDRPERSISTENCEMANAGER_H
6 #define BALL_CONCEPT_XDRPERSISTENCEMANAGER_H
7 
8 #ifndef BALL_CONCEPT_PERSISTENCEMANAGER_H
10 #endif
11 
12 #include <rpc/types.h>
13 #include <rpc/xdr.h>
14 
15 namespace BALL
16 {
25  : public PersistenceManager
26  {
27  public:
28 
34  static const Size STREAM_HEADER;
35 
38  static const Size STREAM_TRAILER;
39 
42  static const Size OBJECT_HEADER;
43 
46  static const Size OBJECT_TRAILER;
48 
52 
56  ;
57 
60  XDRPersistenceManager(std::istream& is)
61  ;
62 
65  XDRPersistenceManager(std::ostream& os)
66  ;
67 
70  XDRPersistenceManager(std::istream& is, std::ostream& os)
71  ;
73 
77 
82  virtual void writeHeader(const char* type_name, const char* name, LongSize ptr)
83  ;
84 
89  virtual bool checkHeader(const char* type_name, const char* name, LongSize& ptr)
90  ;
91 
96  virtual void writeTrailer(const char* name = 0)
97  ;
98 
103  virtual bool checkTrailer(const char* name = 0)
104  ;
105 
108  virtual void writeStreamHeader()
109  ;
110 
113  virtual void writeStreamTrailer()
114  ;
115 
118  virtual bool checkStreamHeader()
119  ;
120 
123  virtual bool checkStreamTrailer()
124  ;
125 
128  virtual bool getObjectHeader(String& type_name, LongSize& ptr)
129  ;
130 
133  virtual void writeName(const char* name)
134  ;
135 
138  virtual bool checkName(const char* name)
139  ;
140 
143  virtual void writeStorableHeader(const char* type_name, const char* name)
144  ;
145 
148  virtual bool checkStorableHeader(const char* type_name, const char* name)
149  ;
150 
153  virtual void writePrimitiveHeader(const char* type_name, const char* name)
154  ;
155 
158  virtual bool checkPrimitiveHeader(const char* type_name, const char* name)
159  ;
160 
163  virtual void writeStorableTrailer()
164  ;
165 
168  virtual bool checkStorableTrailer()
169  ;
170 
173  virtual void writePrimitiveTrailer()
174  ;
175 
178  virtual bool checkPrimitiveTrailer()
179  ;
180 
183  virtual void writeObjectPointerHeader(const char* type_name, const char* name)
184  ;
185 
188  virtual bool checkObjectPointerHeader(const char* type_name, const char* name)
189  ;
190 
193  virtual void writeObjectReferenceHeader(const char* type_name, const char* name)
194  ;
195 
198  virtual bool checkObjectReferenceHeader(const char* type_name, const char* name)
199  ;
200 
203  virtual void writeObjectPointerArrayHeader(const char* type_name, const char* name, Size size)
204  ;
205 
208  virtual bool checkObjectPointerArrayHeader(const char* type_name, const char* name, Size& size)
209  ;
210 
214  ;
215 
219  ;
220 
225  virtual void initializeOutputStream()
226  ;
227 
231  virtual void finalizeOutputStream()
232  ;
233 
238  virtual void initializeInputStream()
239  ;
240 
244  virtual void finalizeInputStream()
245  ;
246 
248 
252 
255  virtual void put(const char c)
256  ;
257 
260  virtual void put(const Byte b)
261  ;
262 
265  virtual void put(const Index i)
266  ;
267 
270  virtual void put(const Size s)
271  ;
272 
275  virtual void put(const bool b)
276  ;
277 
280  virtual void put(const Real f)
281  ;
282 
285  virtual void put(const DoubleReal d)
286  ;
287 
290  virtual void put(const string& s)
291  ;
292 
295  virtual void put(const LongSize p)
296  ;
298 
302 
305  virtual void get(char& c)
306  ;
307 
310  virtual void get(Byte& c)
311  ;
312 
315  virtual void get(Index& s)
316  ;
317 
320  virtual void get(Size& s)
321  ;
322 
325  virtual void get(bool& b)
326  ;
327 
330  virtual void get(Real& f)
331  ;
332 
335  virtual void get(DoubleReal& d)
336  ;
337 
340  virtual void get(string& s)
341  ;
342 
345  virtual void get(LongSize& p)
346  ;
348 
352 
356  void setHandleStreamsExternally(bool handle_externally);
357 
359  private:
360 
363  XDR xdr_in_;
364 
367  XDR xdr_out_;
368 
372  bool streams_handled_externally_;
373 
374  };
375 
376 } // namespace BALL
377 
378 #endif // BALL_CONCEPT_XDRPERSISTENCEMANAGER_H
BALL::XDRPersistenceManager::checkStorableHeader
virtual bool checkStorableHeader(const char *type_name, const char *name)
BALL::XDRPersistenceManager::writeStorableHeader
virtual void writeStorableHeader(const char *type_name, const char *name)
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::XDRPersistenceManager::checkObjectPointerArrayTrailer
virtual bool checkObjectPointerArrayTrailer()
BALL::XDRPersistenceManager::checkObjectPointerHeader
virtual bool checkObjectPointerHeader(const char *type_name, const char *name)
BALL::XDRPersistenceManager::XDRPersistenceManager
XDRPersistenceManager(std::istream &is, std::ostream &os)
BALL::XDRPersistenceManager::writeStorableTrailer
virtual void writeStorableTrailer()
BALL::XDRPersistenceManager::finalizeOutputStream
virtual void finalizeOutputStream()
BALL::XDRPersistenceManager::writeObjectPointerHeader
virtual void writeObjectPointerHeader(const char *type_name, const char *name)
BALL::XDRPersistenceManager::writeHeader
virtual void writeHeader(const char *type_name, const char *name, LongSize ptr)
BALL::XDRPersistenceManager::setHandleStreamsExternally
void setHandleStreamsExternally(bool handle_externally)
BALL::XDRPersistenceManager
Definition: XDRPersistenceManager.h:26
BALL::XDRPersistenceManager::get
virtual void get(LongSize &p)
BALL::XDRPersistenceManager::put
virtual void put(const Size s)
BALL::LongSize
BALL_ULONG64_TYPE LongSize
Definition: COMMON/global.h:192
BALL::XDRPersistenceManager::checkStorableTrailer
virtual bool checkStorableTrailer()
BALL::XDRPersistenceManager::writeObjectReferenceHeader
virtual void writeObjectReferenceHeader(const char *type_name, const char *name)
BALL::XDRPersistenceManager::put
virtual void put(const Real f)
BALL::PersistenceManager
Definition: persistenceManager.h:73
BALL::XDRPersistenceManager::writeObjectPointerArrayHeader
virtual void writeObjectPointerArrayHeader(const char *type_name, const char *name, Size size)
BALL::XDRPersistenceManager::STREAM_TRAILER
static const Size STREAM_TRAILER
Definition: XDRPersistenceManager.h:38
double
BALL::XDRPersistenceManager::get
virtual void get(string &s)
BALL::String
Definition: string.h:57
BALL::XDRPersistenceManager::checkStreamTrailer
virtual bool checkStreamTrailer()
BALL::XDRPersistenceManager::writePrimitiveTrailer
virtual void writePrimitiveTrailer()
BALL
Definition: constants.h:13
BALL::XDRPersistenceManager::XDRPersistenceManager
XDRPersistenceManager(std::ostream &os)
BALL::XDRPersistenceManager::writeName
virtual void writeName(const char *name)
BALL::XDRPersistenceManager::get
virtual void get(Real &f)
BALL::XDRPersistenceManager::writePrimitiveHeader
virtual void writePrimitiveHeader(const char *type_name, const char *name)
BALL::XDRPersistenceManager::checkName
virtual bool checkName(const char *name)
BALL::XDRPersistenceManager::OBJECT_TRAILER
static const Size OBJECT_TRAILER
Definition: XDRPersistenceManager.h:46
BALL::XDRPersistenceManager::checkTrailer
virtual bool checkTrailer(const char *name=0)
BALL::Constants::c
BALL_EXTERN_VARIABLE const double c
Definition: constants.h:149
BALL::XDRPersistenceManager::get
virtual void get(bool &b)
BALL::XDRPersistenceManager::checkPrimitiveTrailer
virtual bool checkPrimitiveTrailer()
BALL::XDRPersistenceManager::checkHeader
virtual bool checkHeader(const char *type_name, const char *name, LongSize &ptr)
BALL::XDRPersistenceManager::get
virtual void get(Size &s)
BALL::XDRPersistenceManager::put
virtual void put(const LongSize p)
BALL::XDRPersistenceManager::writeStreamHeader
virtual void writeStreamHeader()
BALL::XDRPersistenceManager::put
virtual void put(const Byte b)
BALL_INDEX_TYPE
BALL_SIZE_TYPE
BALL::XDRPersistenceManager::XDRPersistenceManager
XDRPersistenceManager(std::istream &is)
BALL::XDRPersistenceManager::getObjectHeader
virtual bool getObjectHeader(String &type_name, LongSize &ptr)
BALL::XDRPersistenceManager::writeObjectPointerArrayTrailer
virtual void writeObjectPointerArrayTrailer()
BALL::XDRPersistenceManager::put
virtual void put(const char c)
BALL::XDRPersistenceManager::put
virtual void put(const bool b)
BALL::XDRPersistenceManager::get
virtual void get(char &c)
BALL::XDRPersistenceManager::OBJECT_HEADER
static const Size OBJECT_HEADER
Definition: XDRPersistenceManager.h:42
BALL::XDRPersistenceManager::put
virtual void put(const DoubleReal d)
BALL::XDRPersistenceManager::get
virtual void get(Index &s)
BALL::XDRPersistenceManager::writeStreamTrailer
virtual void writeStreamTrailer()
BALL::XDRPersistenceManager::get
virtual void get(DoubleReal &d)
BALL::XDRPersistenceManager::finalizeInputStream
virtual void finalizeInputStream()
BALL::XDRPersistenceManager::put
virtual void put(const string &s)
BALL::XDRPersistenceManager::checkStreamHeader
virtual bool checkStreamHeader()
BALL::XDRPersistenceManager::put
virtual void put(const Index i)
persistenceManager.h
BALL::XDRPersistenceManager::writeTrailer
virtual void writeTrailer(const char *name=0)
BALL::XDRPersistenceManager::STREAM_HEADER
static const Size STREAM_HEADER
Definition: XDRPersistenceManager.h:34
BALL::Byte
unsigned char Byte
Definition: COMMON/global.h:183
BALL::XDRPersistenceManager::checkPrimitiveHeader
virtual bool checkPrimitiveHeader(const char *type_name, const char *name)
BALL::XDRPersistenceManager::get
virtual void get(Byte &c)
BALL::XDRPersistenceManager::checkObjectReferenceHeader
virtual bool checkObjectReferenceHeader(const char *type_name, const char *name)
BALL::XDRPersistenceManager::checkObjectPointerArrayHeader
virtual bool checkObjectPointerArrayHeader(const char *type_name, const char *name, Size &size)
BALL::XDRPersistenceManager::initializeOutputStream
virtual void initializeOutputStream()
BALL::XDRPersistenceManager::XDRPersistenceManager
XDRPersistenceManager()
BALL::XDRPersistenceManager::initializeInputStream
virtual void initializeInputStream()
float