libdap
Updated for version 3.19.1
libdap4 is an implementation of OPeNDAP's DAP protocol.
|
57 #include "Marshaller.h"
58 #include "UnMarshaller.h"
61 #include "D4StreamMarshaller.h"
62 #include "D4StreamUnMarshaller.h"
66 #include "Operators.h"
67 #include "dods-limits.h"
69 #include "InternalErr.h"
99 d_buf = copy_from.d_buf;
105 return new Int32(*
this);
110 DBG(cerr <<
"~Int32" << endl);
114 Int32::operator=(
const Int32 &rhs)
119 dynamic_cast<BaseType &
>(*this) = rhs;
129 return sizeof(dods_int32);
136 #if USE_LOCAL_TIMEOUT_SCHEME
144 #if USE_LOCAL_TIMEOUT_SCHEME
147 m.put_int32( d_buf ) ;
155 um.get_int32( d_buf ) ;
163 checksum.
AddData(
reinterpret_cast<uint8_t*
>(&d_buf),
sizeof(d_buf));
180 m.put_int32( d_buf ) ;
186 um.get_int32( d_buf ) ;
198 "The incoming pointer does not contain any data.");
200 d_buf = *(dods_int32 *)val;
211 throw InternalErr(__FILE__, __LINE__,
"NULL pointer.");
214 *val =
new dods_int32;
216 *(dods_int32 *)*val = d_buf;
228 Int32::set_value(dods_int32 i)
241 fwrite(oss.str().data(),
sizeof(
char), oss.str().length(), out);
248 out <<
" = " << (int) d_buf <<
";\n";
263 throw InternalErr(__FILE__, __LINE__,
"This value not read!");
273 throw InternalErr(__FILE__, __LINE__,
"This value not read!");
284 DBG(cerr <<
"b->typename(): " << b->
type_name() << endl);
287 return Cmp<dods_int32, dods_int8>(op, d_buf,
static_cast<Int8*
>(b)->value());
289 return SUCmp<dods_int32, dods_byte>(op, d_buf,
static_cast<Byte*
>(b)->value());
291 return Cmp<dods_int32, dods_int16>(op, d_buf,
static_cast<Int16*
>(b)->value());
293 return SUCmp<dods_int32, dods_uint16>(op, d_buf,
static_cast<UInt16*
>(b)->value());
295 return Cmp<dods_int32, dods_int32>(op, d_buf,
static_cast<Int32*
>(b)->value());
297 return SUCmp<dods_int32, dods_uint32>(op, d_buf,
static_cast<UInt32*
>(b)->value());
299 return Cmp<dods_int32, dods_int64>(op, d_buf,
static_cast<Int64*
>(b)->value());
301 return SUCmp<dods_int32, dods_uint64>(op, d_buf,
static_cast<UInt64*
>(b)->value());
303 return Cmp<dods_int32, dods_float32>(op, d_buf,
static_cast<Float32*
>(b)->value());
305 return Cmp<dods_int32, dods_float64>(op, d_buf,
static_cast<Float64*
>(b)->value());
308 throw Error(malformed_expr,
"Relational operators can only compare compatible types (number, string).");
310 throw Error(malformed_expr,
"Relational operators only work with scalar types.");
325 strm << DapIndent::LMarg <<
"Int32::dump - ("
326 << (
void *)
this <<
")" << endl ;
327 DapIndent::Indent() ;
329 strm << DapIndent::LMarg <<
"value: " << d_buf << endl ;
330 DapIndent::UnIndent() ;
Evaluate a constraint expression.
Holds a 64-bit unsigned integer.
virtual bool deserialize(UnMarshaller &um, DDS *dds, bool reuse=false)
Receive data from the net.
abstract base class used to unmarshall/deserialize dap data objects
virtual void print_val(FILE *out, string space="", bool print_decl_p=true)
Prints the value of the variable.
virtual void print_decl(FILE *out, string space=" ", bool print_semi=true, bool constraint_info=false, bool constrained=false)
Print an ASCII representation of the variable structure.
A class for error processing.
A class for software fault reporting.
abstract base class used to marshal/serialize dap data objects
Holds a 16-bit signed integer value.
Holds a 32-bit unsigned integer.
virtual BaseType * ptr_duplicate()
BaseType(const string &n, const Type &t, bool is_dap4=false)
The BaseType constructor.
Holds an 8-bit signed integer value.
Holds a 32-bit floating point value.
virtual void dump(ostream &strm) const
dumps information about this object
virtual string dataset() const
Returns the name of the dataset used to create this instance.
Read data from the stream made by D4StreamMarshaller.
virtual bool read_p()
Has this variable been read?
Holds an unsigned 16-bit integer.
virtual void dump(ostream &strm) const
dumps information about this object
virtual Type type() const
Returns the type of the class instance.
virtual unsigned int val2buf(void *val, bool reuse=false)
Loads class data.
bool eval_selection(DDS &dds, const std::string &dataset)
Evaluate a boolean-valued constraint expression. This is main method for the evaluator and is called ...
virtual unsigned int buf2val(void **val)
Reads the class data.
virtual void compute_checksum(Crc32 &checksum)
include the data for this variable in the checksum DAP4 includes a checksum with every data response....
virtual bool ops(BaseType *b, int op)
Evaluate relational operators.
virtual void set_read_p(bool state)
Sets the value of the read_p property.
void AddData(const uint8_t *pData, const uint32_t length)
virtual bool d4_ops(BaseType *b, int op)
virtual bool read()
Read data into a local buffer.
Holds a 32-bit signed integer.
virtual bool serialize(ConstraintEvaluator &eval, DDS &dds, Marshaller &m, bool ce_eval=true)
Move data to the net, then remove them from the object.
Holds a64-bit signed integer.
The basic data type for the DODS DAP types.
Holds a 64-bit (double precision) floating point value.
virtual unsigned int width(bool constrained=false) const
How many bytes does this use Return the number of bytes of storage this variable uses....
virtual string type_name() const
Returns the type of the class instance as a string.
Marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using DAP4's receiv...