libdap++  Updated for version 3.14.0
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:
Inheritance graph
Collaboration diagram for libdap::XDRStreamMarshaller:
Collaboration graph

Public Member Functions

virtual void dump (ostream &strm) const
 dump the contents of this object to the specified ostream More...
 
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 put_vector (char *val, unsigned int num, int width, Type type)
 
 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 99 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...

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

Implements libdap::Marshaller.

Definition at line 511 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 180 of file XDRStreamMarshaller.cc.

References DBG.

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

Implements libdap::Marshaller.

Definition at line 239 of file XDRStreamMarshaller.cc.

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

Implements libdap::Marshaller.

Definition at line 258 of file XDRStreamMarshaller.cc.

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

Implements libdap::Marshaller.

Definition at line 387 of file XDRStreamMarshaller.cc.

Referenced by put_vector().

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

Implements libdap::Marshaller.

Definition at line 201 of file XDRStreamMarshaller.cc.

References XDR_INT16.

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

Implements libdap::Marshaller.

Definition at line 220 of file XDRStreamMarshaller.cc.

References XDR_INT32.

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

Implements libdap::Marshaller.

Definition at line 365 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 315 of file XDRStreamMarshaller.cc.

Referenced by put_url().

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

Implements libdap::Marshaller.

Definition at line 277 of file XDRStreamMarshaller.cc.

References XDR_UINT16.

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

Implements libdap::Marshaller.

Definition at line 296 of file XDRStreamMarshaller.cc.

References XDR_UINT32.

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

Implements libdap::Marshaller.

Definition at line 360 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 406 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 450 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 456 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: