BALL 1.5.0
Loading...
Searching...
No Matches
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
15namespace 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
174 ;
175
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
226 ;
227
231 virtual void finalizeOutputStream()
232 ;
233
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_ULONG64_TYPE LongSize
unsigned char Byte
virtual bool checkStreamTrailer()
virtual void writeStreamTrailer()
virtual bool checkPrimitiveHeader(const char *type_name, const char *name)
virtual void initializeOutputStream()
virtual void writeObjectReferenceHeader(const char *type_name, const char *name)
virtual void writeObjectPointerArrayHeader(const char *type_name, const char *name, Size size)
virtual bool checkStorableHeader(const char *type_name, const char *name)
virtual void get(char &c)
virtual void writeHeader(const char *type_name, const char *name, LongSize ptr)
virtual void finalizeInputStream()
virtual void writeName(const char *name)
XDRPersistenceManager(std::ostream &os)
virtual void get(DoubleReal &d)
virtual void get(string &s)
XDRPersistenceManager(std::istream &is, std::ostream &os)
virtual void writePrimitiveHeader(const char *type_name, const char *name)
virtual void put(const LongSize p)
virtual bool checkStorableTrailer()
virtual void writeStorableHeader(const char *type_name, const char *name)
virtual bool checkObjectPointerArrayTrailer()
virtual void put(const DoubleReal d)
virtual void put(const Size s)
virtual void initializeInputStream()
virtual bool checkStreamHeader()
virtual void put(const string &s)
virtual void writeStorableTrailer()
virtual void put(const bool b)
virtual void get(Real &f)
virtual bool checkObjectPointerArrayHeader(const char *type_name, const char *name, Size &size)
virtual void put(const char c)
virtual bool checkPrimitiveTrailer()
virtual void put(const Index i)
XDRPersistenceManager(std::istream &is)
virtual void writePrimitiveTrailer()
virtual void get(LongSize &p)
void setHandleStreamsExternally(bool handle_externally)
virtual bool getObjectHeader(String &type_name, LongSize &ptr)
virtual void get(Index &s)
virtual void finalizeOutputStream()
virtual void writeTrailer(const char *name=0)
virtual bool checkName(const char *name)
virtual void put(const Real f)
virtual void get(Byte &c)
virtual void get(Size &s)
virtual bool checkTrailer(const char *name=0)
virtual bool checkObjectReferenceHeader(const char *type_name, const char *name)
virtual void writeObjectPointerHeader(const char *type_name, const char *name)
virtual void get(bool &b)
virtual bool checkHeader(const char *type_name, const char *name, LongSize &ptr)
virtual void writeStreamHeader()
virtual void put(const Byte b)
virtual bool checkObjectPointerHeader(const char *type_name, const char *name)
virtual void writeObjectPointerArrayTrailer()
#define BALL_EXPORT