libdap++
Updated for version 3.11.7
|
marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using XDR More...
#include <XDRStreamMarshaller.h>
Public Member Functions | |
virtual void | checksum_update (const void *data, unsigned long len) |
virtual void | dump (ostream &strm) const |
dump the contents of this object to the specified ostream More... | |
virtual string | get_checksum () |
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, Vector &vec) |
virtual void | put_vector (char *val, int num, int width, Vector &vec) |
virtual void | reset_checksum () |
XDRStreamMarshaller (ostream &out, bool checksum=false, bool write_data=true) | |
virtual | ~XDRStreamMarshaller () |
Definition at line 67 of file XDRStreamMarshaller.h.
libdap::XDRStreamMarshaller::XDRStreamMarshaller | ( | ostream & | out, |
bool | checksum = false , |
||
bool | write_data = true |
||
) |
Build an instance of XDRStreamMarshaller. Bind the C++ stream out to this instance. If the checksum parameter is true, initialize a checksum buffer and enable the use of the reset_checksum() and get_checksum() methods.
out | Write to this stream object. |
checksum | If true, compute checksums. False by default |
write_data | If true, write data values. True by default |
Definition at line 61 of file XDRStreamMarshaller.cc.
References libdap::XDR_DAP_BUFF_SIZE.
|
virtual |
Definition at line 97 of file XDRStreamMarshaller.cc.
|
virtual |
Definition at line 153 of file XDRStreamMarshaller.cc.
Referenced by put_byte(), put_float32(), put_float64(), put_int(), put_int16(), put_int32(), put_opaque(), put_str(), put_uint16(), put_uint32(), and put_vector().
|
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 514 of file XDRStreamMarshaller.cc.
References libdap::DapIndent::LMarg().
|
virtual |
Get the current checksum. It is not possible to continue computing the checksum once this has been called.
InternalErr | if called when the object was created without checksum support or if called when the checksum has already been returned. |
Definition at line 127 of file XDRStreamMarshaller.cc.
Referenced by libdap::ResponseBuilder::dataset_constraint(), libdap::Structure::serialize(), and libdap::Grid::serialize().
|
virtual |
Implements libdap::Marshaller.
Definition at line 167 of file XDRStreamMarshaller.cc.
References checksum_update(), and DBG.
|
virtual |
Implements libdap::Marshaller.
Definition at line 229 of file XDRStreamMarshaller.cc.
References checksum_update().
|
virtual |
Implements libdap::Marshaller.
Definition at line 249 of file XDRStreamMarshaller.cc.
References checksum_update().
|
virtual |
Implements libdap::Marshaller.
Definition at line 382 of file XDRStreamMarshaller.cc.
References checksum_update().
Referenced by put_vector().
|
virtual |
Implements libdap::Marshaller.
Definition at line 189 of file XDRStreamMarshaller.cc.
References checksum_update(), and XDR_INT16.
|
virtual |
Implements libdap::Marshaller.
Definition at line 209 of file XDRStreamMarshaller.cc.
References checksum_update(), and XDR_INT32.
|
virtual |
Implements libdap::Marshaller.
Definition at line 359 of file XDRStreamMarshaller.cc.
References checksum_update(), and libdap::XDR_DAP_BUFF_SIZE.
|
virtual |
Implements libdap::Marshaller.
Definition at line 309 of file XDRStreamMarshaller.cc.
References checksum_update(), and delete_xdrstdio().
Referenced by put_url().
|
virtual |
Implements libdap::Marshaller.
Definition at line 269 of file XDRStreamMarshaller.cc.
References checksum_update(), and XDR_UINT16.
|
virtual |
Implements libdap::Marshaller.
Definition at line 289 of file XDRStreamMarshaller.cc.
References checksum_update(), and XDR_UINT32.
|
virtual |
Implements libdap::Marshaller.
Definition at line 354 of file XDRStreamMarshaller.cc.
References put_str().
|
virtual |
Implements libdap::Marshaller.
Definition at line 403 of file XDRStreamMarshaller.cc.
References checksum_update(), delete_xdrstdio(), and put_int().
|
virtual |
Implements libdap::Marshaller.
Definition at line 452 of file XDRStreamMarshaller.cc.
References checksum_update(), delete_xdrstdio(), put_int(), libdap::BaseType::type(), libdap::Vector::var(), and libdap::XDRUtils::xdr_coder().
|
virtual |
Initialize the checksum buffer. This resets the checksum calculation.
InternalErr | if called when the object was created without checksum support. |
Definition at line 111 of file XDRStreamMarshaller.cc.
Referenced by libdap::ResponseBuilder::dataset_constraint(), libdap::Structure::serialize(), and libdap::Grid::serialize().