Public Member Functions

libdap::XDRFileMarshaller Class Reference

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

#include <XDRFileMarshaller.h>

Inheritance diagram for libdap::XDRFileMarshaller:
Inheritance graph
[legend]
Collaboration diagram for libdap::XDRFileMarshaller:
Collaboration graph
[legend]

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, int width, Vector &vec)
virtual void put_vector (char *val, int num, 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 36 of file XDRFileMarshaller.cc.

References new_xdrstdio().

Here is the call graph for this function:

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

Definition at line 64 of file XDRFileMarshaller.cc.


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:
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().

Here is the call graph for this function:

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

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 148 of file XDRFileMarshaller.cc.


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