libdap++ Updated for version 3.12.1

libdap::XDRStreamMarshaller Class Reference

marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using XDR More...

#include <XDRStreamMarshaller.h>

Inheritance diagram for libdap::XDRStreamMarshaller:
Collaboration diagram for libdap::XDRStreamMarshaller:

List of all members.

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, Vector &vec)
virtual void put_vector (char *val, unsigned int num, int width, Type type)
virtual void put_vector (char *val, int num, int width, Vector &vec)
 XDRStreamMarshaller (ostream &out)
virtual ~XDRStreamMarshaller ()

Detailed Description

Note:
This class can now compute checksums for data that will be marshalled. jhrg 1/18/2012

Definition at line 56 of file XDRStreamMarshaller.h.


Constructor & Destructor Documentation

libdap::XDRStreamMarshaller::XDRStreamMarshaller ( ostream out)

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.

Parameters:
outWrite to this stream object.
checksumIf true, compute checksums. False by default
write_dataIf true, write data values. True by default

Definition at line 63 of file XDRStreamMarshaller.cc.

References libdap::XDR_DAP_BUFF_SIZE.

libdap::XDRStreamMarshaller::~XDRStreamMarshaller ( ) [virtual]

Definition at line 101 of file XDRStreamMarshaller.cc.


Member Function Documentation

void libdap::XDRStreamMarshaller::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...

Parameters:
strmC++ i/o stream to dump the object to

Implements libdap::Marshaller.

Definition at line 531 of file XDRStreamMarshaller.cc.

References libdap::DapIndent::LMarg().

Here is the call graph for this function:

void libdap::XDRStreamMarshaller::put_byte ( dods_byte  val) [virtual]

Implements libdap::Marshaller.

Definition at line 184 of file XDRStreamMarshaller.cc.

References DBG.

void libdap::XDRStreamMarshaller::put_float32 ( dods_float32  val) [virtual]

Implements libdap::Marshaller.

Definition at line 249 of file XDRStreamMarshaller.cc.

void libdap::XDRStreamMarshaller::put_float64 ( dods_float64  val) [virtual]

Implements libdap::Marshaller.

Definition at line 270 of file XDRStreamMarshaller.cc.

void libdap::XDRStreamMarshaller::put_int ( int  val) [virtual]

Implements libdap::Marshaller.

Definition at line 407 of file XDRStreamMarshaller.cc.

Referenced by put_vector().

void libdap::XDRStreamMarshaller::put_int16 ( dods_int16  val) [virtual]

Implements libdap::Marshaller.

Definition at line 207 of file XDRStreamMarshaller.cc.

References XDR_INT16.

void libdap::XDRStreamMarshaller::put_int32 ( dods_int32  val) [virtual]

Implements libdap::Marshaller.

Definition at line 228 of file XDRStreamMarshaller.cc.

References XDR_INT32.

void libdap::XDRStreamMarshaller::put_opaque ( char *  val,
unsigned int  len 
) [virtual]

Implements libdap::Marshaller.

Definition at line 383 of file XDRStreamMarshaller.cc.

References libdap::XDR_DAP_BUFF_SIZE.

void libdap::XDRStreamMarshaller::put_str ( const string &  val) [virtual]

Implements libdap::Marshaller.

Definition at line 333 of file XDRStreamMarshaller.cc.

Referenced by put_url().

void libdap::XDRStreamMarshaller::put_uint16 ( dods_uint16  val) [virtual]

Implements libdap::Marshaller.

Definition at line 291 of file XDRStreamMarshaller.cc.

References XDR_UINT16.

void libdap::XDRStreamMarshaller::put_uint32 ( dods_uint32  val) [virtual]

Implements libdap::Marshaller.

Definition at line 312 of file XDRStreamMarshaller.cc.

References XDR_UINT32.

void libdap::XDRStreamMarshaller::put_url ( const string &  val) [virtual]

Implements libdap::Marshaller.

Definition at line 378 of file XDRStreamMarshaller.cc.

References put_str().

Here is the call graph for this function:

void libdap::XDRStreamMarshaller::put_vector ( char *  val,
int  num,
Vector vec 
) [virtual]

Implements libdap::Marshaller.

Definition at line 428 of file XDRStreamMarshaller.cc.

References put_int().

Referenced by put_vector().

Here is the call graph for this function:

void libdap::XDRStreamMarshaller::put_vector ( char *  val,
int  num,
int  width,
Vector vec 
) [virtual]

Implements libdap::Marshaller.

Definition at line 471 of file XDRStreamMarshaller.cc.

References put_vector(), libdap::BaseType::type(), and libdap::Vector::var().

Here is the call graph for this function:

void libdap::XDRStreamMarshaller::put_vector ( char *  val,
unsigned int  num,
int  width,
Type  type 
) [virtual]

Definition at line 477 of file XDRStreamMarshaller.cc.

References put_int(), and libdap::XDRUtils::xdr_coder().

Here is the call graph for this function:


The documentation for this class was generated from the following files: