libdap Updated for version 3.21.1
libdap4 is an implementation of OPeNDAP's DAP protocol.
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
 
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)
 
virtual void put_vector_end ()
 
virtual void put_vector_part (char *, unsigned int, int, Type)
 
virtual void put_vector_start (int)
 
 XDRFileMarshaller (FILE *out)
 
virtual ~XDRFileMarshaller ()
 

Detailed Description

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

Definition at line 48 of file XDRFileMarshaller.h.

Constructor & Destructor Documentation

◆ XDRFileMarshaller()

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

Definition at line 57 of file XDRFileMarshaller.cc.

◆ ~XDRFileMarshaller()

libdap::XDRFileMarshaller::~XDRFileMarshaller ( )
virtual

Definition at line 79 of file XDRFileMarshaller.cc.

Member Function Documentation

◆ dump()

void libdap::XDRFileMarshaller::dump ( ostream & strm) const
virtual

dump the contents of this object to the specified ostream

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

◆ put_byte()

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

Implements libdap::Marshaller.

Definition at line 81 of file XDRFileMarshaller.cc.

◆ put_float32()

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

Implements libdap::Marshaller.

Definition at line 99 of file XDRFileMarshaller.cc.

◆ put_float64()

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

Implements libdap::Marshaller.

Definition at line 105 of file XDRFileMarshaller.cc.

◆ put_int()

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

Implements libdap::Marshaller.

Definition at line 135 of file XDRFileMarshaller.cc.

◆ put_int16()

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

Implements libdap::Marshaller.

Definition at line 87 of file XDRFileMarshaller.cc.

◆ put_int32()

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

Implements libdap::Marshaller.

Definition at line 93 of file XDRFileMarshaller.cc.

◆ put_opaque()

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

Implements libdap::Marshaller.

Definition at line 130 of file XDRFileMarshaller.cc.

◆ put_str()

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

Implements libdap::Marshaller.

Definition at line 121 of file XDRFileMarshaller.cc.

◆ put_uint16()

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

Implements libdap::Marshaller.

Definition at line 111 of file XDRFileMarshaller.cc.

◆ put_uint32()

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

Implements libdap::Marshaller.

Definition at line 116 of file XDRFileMarshaller.cc.

◆ put_url()

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

Implements libdap::Marshaller.

Definition at line 128 of file XDRFileMarshaller.cc.

◆ put_vector() [1/2]

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

Implements libdap::Marshaller.

Definition at line 151 of file XDRFileMarshaller.cc.

◆ put_vector() [2/2]

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

Implements libdap::Marshaller.

Definition at line 140 of file XDRFileMarshaller.cc.

◆ put_vector_end()

virtual void libdap::Marshaller::put_vector_end ( )
inlinevirtualinherited

Close a vector written using put_vector_part()

Reimplemented in libdap::D4StreamMarshaller, and libdap::XDRStreamMarshaller.

Definition at line 96 of file Marshaller.h.

◆ put_vector_part()

virtual void libdap::Marshaller::put_vector_part ( char * ,
unsigned int ,
int ,
Type  )
inlinevirtualinherited

Write one part of a vector's contents.

Parameters
valPointer to the part's values
numThe number of values in this part
widthThe number of bytes per value
typeThe DAP2 data type for each value

Reimplemented in libdap::D4StreamMarshaller, and libdap::XDRStreamMarshaller.

Definition at line 89 of file Marshaller.h.

◆ put_vector_start()

virtual void libdap::Marshaller::put_vector_start ( int )
inlinevirtualinherited

Write the prefix bytes for a vector and reset the state/counter for a vector/array that will be written using put_vector_part() and put_vector_end().

Parameters
numThe number of elements to write

Reimplemented in libdap::D4StreamMarshaller, and libdap::XDRStreamMarshaller.

Definition at line 79 of file Marshaller.h.


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