libdap++  Updated for version 3.13.1
libdap::XDRFileMarshaller Class Reference

marshaller that knows how to marshall/serialize dap data objects to a file using XDR More...

#include <XDRFileMarshaller.h>

Inheritance diagram for libdap::XDRFileMarshaller:
Inheritance graph
Collaboration diagram for libdap::XDRFileMarshaller:
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)
 
 XDRFileMarshaller (FILE *out)
 
virtual ~XDRFileMarshaller ()
 

Detailed Description

Definition at line 45 of file XDRFileMarshaller.h.

Constructor & Destructor Documentation

libdap::XDRFileMarshaller::XDRFileMarshaller ( FILE *  out)

Definition at line 56 of file XDRFileMarshaller.cc.

References new_xdrstdio().

Here is the call graph for this function:

libdap::XDRFileMarshaller::~XDRFileMarshaller ( )
virtual

Definition at line 84 of file XDRFileMarshaller.cc.

References delete_xdrstdio().

Here is the call graph for this function:

Member Function Documentation

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...

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

Implements libdap::Marshaller.

Definition at line 204 of file XDRFileMarshaller.cc.

References libdap::DapIndent::LMarg().

Here is the call graph for this function:

void libdap::XDRFileMarshaller::put_byte ( dods_byte  val)
virtual

Implements libdap::Marshaller.

Definition at line 90 of file XDRFileMarshaller.cc.

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

Implements libdap::Marshaller.

Definition at line 111 of file XDRFileMarshaller.cc.

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

Implements libdap::Marshaller.

Definition at line 118 of file XDRFileMarshaller.cc.

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

Implements libdap::Marshaller.

Definition at line 161 of file XDRFileMarshaller.cc.

Referenced by put_vector().

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

Implements libdap::Marshaller.

Definition at line 97 of file XDRFileMarshaller.cc.

References XDR_INT16.

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

Implements libdap::Marshaller.

Definition at line 104 of file XDRFileMarshaller.cc.

References XDR_INT32.

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

Implements libdap::Marshaller.

Definition at line 154 of file XDRFileMarshaller.cc.

void libdap::XDRFileMarshaller::put_str ( const string &  val)
virtual

Implements libdap::Marshaller.

Definition at line 139 of file XDRFileMarshaller.cc.

References libdap::max_str_len.

Referenced by put_url().

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

Implements libdap::Marshaller.

Definition at line 125 of file XDRFileMarshaller.cc.

References XDR_UINT16.

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

Implements libdap::Marshaller.

Definition at line 132 of file XDRFileMarshaller.cc.

References XDR_UINT32.

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

Implements libdap::Marshaller.

Definition at line 148 of file XDRFileMarshaller.cc.

References put_str().

Here is the call graph for this function:

void libdap::XDRFileMarshaller::put_vector ( char *  val,
int  num,
Vector vec 
)
virtual

Implements libdap::Marshaller.

Definition at line 168 of file XDRFileMarshaller.cc.

References libdap::DODS_MAX_ARRAY, and put_int().

Here is the call graph for this function:

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

Implements libdap::Marshaller.

Definition at line 185 of file XDRFileMarshaller.cc.

References libdap::DODS_MAX_ARRAY, put_int(), libdap::BaseType::type(), libdap::Vector::var(), and libdap::XDRUtils::xdr_coder().

Here is the call graph for this function:


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