libdap++  Updated for version 3.14.0
libdap::D4StreamUnMarshaller Class Reference

Read data from the stream made by D4StreamMarshaller. More...

#include <D4StreamUnMarshaller.h>

Inheritance diagram for libdap::D4StreamUnMarshaller:
Inheritance graph
Collaboration diagram for libdap::D4StreamUnMarshaller:
Collaboration graph

Public Member Functions

 D4StreamUnMarshaller (istream &in, bool twiddle_bytes)
 Build a DAP4 Stream unMarshaller. More...
 
 D4StreamUnMarshaller (istream &in)
 
virtual void dump (ostream &strm) const
 dump the contents of this object to the specified ostream More...
 
virtual void get_byte (dods_byte &val)
 
Crc32::checksum get_checksum ()
 
string get_checksum_str ()
 
int64_t get_count ()
 
virtual void get_float32 (dods_float32 &val)
 
virtual void get_float64 (dods_float64 &val)
 
virtual void get_int (int &)
 
virtual void get_int16 (dods_int16 &val)
 
virtual void get_int32 (dods_int32 &val)
 
virtual void get_int64 (dods_int64 &val)
 
virtual void get_int8 (dods_int8 &val)
 
virtual void get_opaque (char *, unsigned int)
 
virtual void get_opaque_dap4 (char **val, int64_t &len)
 
virtual void get_opaque_dap4 (vector< uint8_t > &val)
 
virtual void get_str (string &val)
 
virtual void get_uint16 (dods_uint16 &val)
 
virtual void get_uint32 (dods_uint32 &val)
 
virtual void get_uint64 (dods_uint64 &val)
 
virtual void get_url (string &val)
 
virtual void get_vector (char **, unsigned int &, Vector &)
 
virtual void get_vector (char **, unsigned int &, int, Vector &)
 
virtual void get_vector (char *val, int64_t num_bytes)
 
virtual void get_vector (char *val, int64_t num_elem, int elem_size)
 
virtual void get_vector_float32 (char *val, int64_t num_elem)
 
virtual void get_vector_float64 (char *val, int64_t num_elem)
 
void set_twiddle_bytes (bool twiddle)
 
virtual ~D4StreamUnMarshaller ()
 

Static Public Attributes

static const unsigned int c_checksum_length = 4
 

Detailed Description

Definition at line 64 of file D4StreamUnMarshaller.h.

Constructor & Destructor Documentation

libdap::D4StreamUnMarshaller::D4StreamUnMarshaller ( istream &  in,
bool  twiddle_bytes 
)

Build a DAP4 Stream UnMarshaller initialed to read from am istream object. Figure out if the words read for values need to be 'twiddled' based on the byte-order of the stream an this host (see set_twiddle_bytes()).

Parameters
inRead from this input stream
is_stream_bigendianThe byte order of the data in the stream

Definition at line 59 of file D4StreamUnMarshaller.cc.

libdap::D4StreamUnMarshaller::D4StreamUnMarshaller ( istream &  in)

When using this constructor, set_twiddle_bytes() should be called before data are processed.

Parameters
in

Definition at line 80 of file D4StreamUnMarshaller.cc.

libdap::D4StreamUnMarshaller::~D4StreamUnMarshaller ( )
virtual

Definition at line 94 of file D4StreamUnMarshaller.cc.

Member Function Documentation

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

Definition at line 468 of file D4StreamUnMarshaller.cc.

References libdap::DapIndent::LMarg().

Here is the call graph for this function:

void libdap::D4StreamUnMarshaller::get_byte ( dods_byte val)
virtual
Crc32::checksum libdap::D4StreamUnMarshaller::get_checksum ( )

Definition at line 101 of file D4StreamUnMarshaller.cc.

Referenced by get_checksum_str().

string libdap::D4StreamUnMarshaller::get_checksum_str ( )

Definition at line 109 of file D4StreamUnMarshaller.cc.

References get_checksum().

Referenced by libdap::D4Group::deserialize().

Here is the call graph for this function:

int64_t libdap::D4StreamUnMarshaller::get_count ( )

Read a count value from the stream. This is used with D4Sequence which needs to use various other 'get' methods to read its fields. Methods like get_opaque_dap4() handle reading their count values themselves.

Parameters
countThe number of elements to follow.

Definition at line 264 of file D4StreamUnMarshaller.cc.

Referenced by libdap::D4Sequence::deserialize().

void libdap::D4StreamUnMarshaller::get_float32 ( dods_float32 val)
virtual

Implements libdap::UnMarshaller.

Definition at line 155 of file D4StreamUnMarshaller.cc.

Referenced by libdap::Float32::deserialize().

void libdap::D4StreamUnMarshaller::get_float64 ( dods_float64 val)
virtual

Implements libdap::UnMarshaller.

Definition at line 186 of file D4StreamUnMarshaller.cc.

Referenced by libdap::Float64::deserialize().

virtual void libdap::D4StreamUnMarshaller::get_int ( int &  )
inlinevirtual

Implements libdap::UnMarshaller.

Definition at line 123 of file D4StreamUnMarshaller.h.

void libdap::D4StreamUnMarshaller::get_int16 ( dods_int16 val)
virtual
void libdap::D4StreamUnMarshaller::get_int32 ( dods_int32 val)
virtual
void libdap::D4StreamUnMarshaller::get_int64 ( dods_int64 val)
virtual
void libdap::D4StreamUnMarshaller::get_int8 ( dods_int8 val)
virtual
virtual void libdap::D4StreamUnMarshaller::get_opaque ( char *  ,
unsigned int   
)
inlinevirtual

Implements libdap::UnMarshaller.

Definition at line 116 of file D4StreamUnMarshaller.h.

void libdap::D4StreamUnMarshaller::get_opaque_dap4 ( char **  val,
int64_t &  len 
)
virtual

Get opaque data when the size of the data to be read is not known in advance.

Parameters
valValue-result parameter for the data; caller must delete.
lenvalue-result parameter for the length of the data

Definition at line 279 of file D4StreamUnMarshaller.cc.

Referenced by libdap::D4Opaque::deserialize().

void libdap::D4StreamUnMarshaller::get_opaque_dap4 ( vector< uint8_t > &  val)
virtual

Definition at line 289 of file D4StreamUnMarshaller.cc.

void libdap::D4StreamUnMarshaller::get_str ( string &  val)
virtual
void libdap::D4StreamUnMarshaller::get_uint16 ( dods_uint16 val)
virtual
void libdap::D4StreamUnMarshaller::get_uint32 ( dods_uint32 val)
virtual
void libdap::D4StreamUnMarshaller::get_uint64 ( dods_uint64 val)
virtual
void libdap::D4StreamUnMarshaller::get_url ( string &  val)
virtual

Implements libdap::UnMarshaller.

Definition at line 250 of file D4StreamUnMarshaller.cc.

References get_str().

Here is the call graph for this function:

virtual void libdap::D4StreamUnMarshaller::get_vector ( char **  ,
unsigned int &  ,
Vector  
)
inlinevirtual

Implements libdap::UnMarshaller.

Definition at line 131 of file D4StreamUnMarshaller.h.

Referenced by libdap::Vector::deserialize().

virtual void libdap::D4StreamUnMarshaller::get_vector ( char **  ,
unsigned int &  ,
int  ,
Vector  
)
inlinevirtual

Implements libdap::UnMarshaller.

Definition at line 135 of file D4StreamUnMarshaller.h.

void libdap::D4StreamUnMarshaller::get_vector ( char *  val,
int64_t  num_bytes 
)
virtual

Definition at line 300 of file D4StreamUnMarshaller.cc.

void libdap::D4StreamUnMarshaller::get_vector ( char *  val,
int64_t  num_elem,
int  elem_size 
)
virtual

Definition at line 364 of file D4StreamUnMarshaller.cc.

void libdap::D4StreamUnMarshaller::get_vector_float32 ( char *  val,
int64_t  num_elem 
)
virtual

Definition at line 404 of file D4StreamUnMarshaller.cc.

References libdap::dods_float32_c, and libdap::dods_float64_c.

Referenced by libdap::Vector::deserialize().

void libdap::D4StreamUnMarshaller::get_vector_float64 ( char *  val,
int64_t  num_elem 
)
virtual

Definition at line 436 of file D4StreamUnMarshaller.cc.

References libdap::dods_float32_c, and libdap::dods_float64_c.

Referenced by libdap::Vector::deserialize().

void libdap::D4StreamUnMarshaller::set_twiddle_bytes ( bool  twiddle)
inline

Definition at line 91 of file D4StreamUnMarshaller.h.

Member Data Documentation

const unsigned int libdap::D4StreamUnMarshaller::c_checksum_length = 4
static

Definition at line 66 of file D4StreamUnMarshaller.h.


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