libdap
Updated for version 3.20.6
libdap4 is an implementation of OPeNDAP's DAP protocol.
|
Read data from the stream made by D4StreamMarshaller. More...
#include <D4StreamUnMarshaller.h>
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) |
bool | is_source_big_endian () const |
Is the data source we are reading from a big-endian machine? We need this because the value of the CRC32 checksum is dependent on byte order. More... | |
void | set_twiddle_bytes (bool twiddle) |
Static Public Attributes | |
static const unsigned int | c_checksum_length = 4 |
Read data from the stream made by D4StreamMarshaller.
Definition at line 65 of file D4StreamUnMarshaller.h.
libdap::D4StreamUnMarshaller::D4StreamUnMarshaller | ( | istream & | in, |
bool | twiddle_bytes | ||
) |
Build a DAP4 Stream unMarshaller.
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()).
in | Read from this input stream |
is_stream_bigendian | The 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.
in |
Definition at line 80 of file D4StreamUnMarshaller.cc.
|
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...
strm | C++ i/o stream to dump the object to |
Implements libdap::UnMarshaller.
Definition at line 468 of file D4StreamUnMarshaller.cc.
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.
count | The number of elements to follow. |
Definition at line 264 of file D4StreamUnMarshaller.cc.
|
virtual |
Get opaque data when the size of the data to be read is not known in advance.
val | Value-result parameter for the data; caller must delete. |
len | value-result parameter for the length of the data |
Definition at line 279 of file D4StreamUnMarshaller.cc.
|
inline |
Is the data source we are reading from a big-endian machine? We need this because the value of the CRC32 checksum is dependent on byte order.
Definition at line 104 of file D4StreamUnMarshaller.h.