marshaller that knows how to marshall/serialize dap data objects to a file using XDR
#include <XDRFileMarshaller.h>
Public Member Functions | |
virtual void | dump (ostream &strm) const |
dump the contents of this object to the specified ostream | |
virtual void | put_byte (dods_byte val) |
virtual void | put_float32 (dods_float32 val) |
virtual void | put_float64 (dods_float64 val) |
virtual void | put_int (int val) |
virtual void | put_int16 (dods_int16 val) |
virtual void | put_int32 (dods_int32 val) |
virtual void | put_opaque (char *val, unsigned int len) |
virtual void | put_str (const string &val) |
virtual void | put_uint16 (dods_uint16 val) |
virtual void | put_uint32 (dods_uint32 val) |
virtual void | put_url (const string &val) |
virtual void | put_vector (char *val, int num, int width, Vector &vec) |
virtual void | put_vector (char *val, int num, Vector &vec) |
XDRFileMarshaller (FILE *out) | |
virtual | ~XDRFileMarshaller () |
Definition at line 45 of file XDRFileMarshaller.h.
libdap::XDRFileMarshaller::XDRFileMarshaller | ( | FILE * | out | ) |
Definition at line 36 of file XDRFileMarshaller.cc.
References new_xdrstdio().
libdap::XDRFileMarshaller::~XDRFileMarshaller | ( | ) | [virtual] |
Definition at line 64 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::dump | ( | ostream & | strm | ) | const [virtual] |
This method is implemented by all derived classes to dump their contents, in other words, any state they might have, private variables, etc...
The inline function below can be used to dump the contents of an OPeNDAOObj object. For example, the object Animal is derived from DapObj. A user could do the following:
Animal *a = new dog( "Sparky" ) ; cout << a << endl ;
And the dump method for dog could display the name passed into the constructor, the (this) pointer of the object, etc...
strm | C++ i/o stream to dump the object to |
Implements libdap::Marshaller.
Definition at line 184 of file XDRFileMarshaller.cc.
References libdap::DODS_MAX_ARRAY, put_int(), libdap::BaseType::type(), libdap::Vector::var(), and libdap::XDRUtils::xdr_coder().
void libdap::XDRFileMarshaller::put_byte | ( | dods_byte | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 70 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_float32 | ( | dods_float32 | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 91 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_float64 | ( | dods_float64 | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 98 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_int | ( | int | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 141 of file XDRFileMarshaller.cc.
Referenced by dump(), and put_vector().
void libdap::XDRFileMarshaller::put_int16 | ( | dods_int16 | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 77 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_int32 | ( | dods_int32 | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 84 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_opaque | ( | char * | val, | |
unsigned int | len | |||
) | [virtual] |
Implements libdap::Marshaller.
Definition at line 134 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_str | ( | const string & | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 119 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_uint16 | ( | dods_uint16 | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 105 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_uint32 | ( | dods_uint32 | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 112 of file XDRFileMarshaller.cc.
void libdap::XDRFileMarshaller::put_url | ( | const string & | val | ) | [virtual] |
Implements libdap::Marshaller.
Definition at line 128 of file XDRFileMarshaller.cc.
References XDR_UINT32.
void libdap::XDRFileMarshaller::put_vector | ( | char * | val, | |
int | num, | |||
int | width, | |||
Vector & | vec | |||
) | [virtual] |
Implements libdap::Marshaller.
Definition at line 165 of file XDRFileMarshaller.cc.
References libdap::DODS_MAX_ARRAY, and put_int().
void libdap::XDRFileMarshaller::put_vector | ( | char * | val, | |
int | num, | |||
Vector & | vec | |||
) | [virtual] |
Implements libdap::Marshaller.
Definition at line 148 of file XDRFileMarshaller.cc.