67 const static unsigned int c_checksum_length = 4;
73#if USE_XDR_FOR_IEEE754_ENCODING
76 char d_buf[
sizeof(dods_float64)];
79 D4StreamUnMarshaller();
80 D4StreamUnMarshaller(
const D4StreamUnMarshaller &);
81 D4StreamUnMarshaller &operator=(
const D4StreamUnMarshaller &);
82#if USE_XDR_FOR_IEEE754_ENCODING
83 void m_deserialize_reals(
char *val, int64_t num,
int width,
Type type);
85 void m_twidle_vector_elements(
char *vals, int64_t num,
int width);
88 D4StreamUnMarshaller(istream &in,
bool twiddle_bytes);
89 D4StreamUnMarshaller(istream &in);
90 virtual ~D4StreamUnMarshaller();
92 void set_twiddle_bytes(
bool twiddle) { d_twiddle_bytes = twiddle; }
108 Crc32::checksum get_checksum();
109 string get_checksum_str();
112 virtual void get_byte(dods_byte &val);
113 virtual void get_int8(dods_int8 &val);
115 virtual void get_int16(dods_int16 &val);
116 virtual void get_int32(dods_int32 &val);
118 virtual void get_int64(dods_int64 &val);
120 virtual void get_float32(dods_float32 &val);
121 virtual void get_float64(dods_float64 &val);
123 virtual void get_uint16(dods_uint16 &val);
124 virtual void get_uint32(dods_uint32 &val);
126 virtual void get_uint64(dods_uint64 &val);
128 virtual void get_str(
string &val);
129 virtual void get_url(
string &val);
131 virtual void get_opaque(
char *,
unsigned int) {
132 throw InternalErr(__FILE__, __LINE__,
"Not implemented for DAP4, use get_opaque_dap4() instead.");
138 virtual void get_int(
int &) {
throw InternalErr(__FILE__, __LINE__,
"Not implemented for DAP4"); }
144 virtual void get_vector(
char **,
unsigned int &, Vector &) {
145 throw InternalErr(__FILE__, __LINE__,
"Not implemented for DAP4");
148 virtual void get_vector(
char **,
unsigned int &,
int, Vector &) {
149 throw InternalErr(__FILE__, __LINE__,
"Not implemented for DAP4");
152 virtual void get_vector(
char *val, int64_t num_bytes);
153 virtual void get_vector(
char *val, int64_t num_elem,
int elem_size);
154 virtual void get_vector_float32(
char *val, int64_t num_elem);
155 virtual void get_vector_float64(
char *val, int64_t num_elem);
157 virtual void dump(ostream &strm)
const;