56 XDRFileUnMarshaller::XDRFileUnMarshaller( FILE *out )
62 XDRFileUnMarshaller::XDRFileUnMarshaller()
66 throw InternalErr( __FILE__, __LINE__,
"Default constructor not implemented." ) ;
73 throw InternalErr( __FILE__, __LINE__,
"Copy constructor not implemented." ) ;
79 throw InternalErr( __FILE__, __LINE__,
"Copy operator not implemented." ) ;
92 if( !xdr_char( _source, (
char *)&val ) )
93 throw Error(
"Network I/O Error. Could not read byte data. This may be due to a\nbug in DODS or a problem with the network connection.");
100 throw Error(
"Network I/O Error. Could not read int 16 data. This may be due to a\nbug in libdap or a problem with the network connection.");
107 throw Error(
"Network I/O Error. Could not read int 32 data. This may be due to a\nbug in libdap or a problem with the network connection.");
113 if( !xdr_float( _source, &val ) )
114 throw Error(
"Network I/O Error. Could not read float 32 data. This may be due to a\nbug in libdap or a problem with the network connection.");
120 if( !xdr_double( _source, &val ) )
121 throw Error(
"Network I/O Error. Could not read float 64 data. This may be due to a\nbug in libdap or a problem with the network connection.");
128 throw Error(
"Network I/O Error. Could not read uint 16 data. This may be due to a\nbug in libdap or a problem with the network connection.");
135 throw Error(
"Network I/O Error. Could not read uint 32 data. This may be due to a\nbug in libdap or a problem with the network connection.");
141 char *in_tmp = NULL ;
144 throw Error(
"Network I/O Error. Could not read string data.\nThis may be due to a bug in libdap, on the server or a\nproblem with the network connection.");
160 xdr_opaque( _source, val, len ) ;
166 if( !xdr_int( _source, &val ) )
167 throw Error(
"Network I/O Error(1). This may be due to a bug in libdap or a\nproblem with the network connection.");
174 throw Error(
"Network I/O error. Could not read packed array data.\nThis may be due to a bug in libdap or a problem with\nthe network connection.");
185 throw Error(
"Network I/O error. Could not read packed array data.\nThis may be due to a bug in libdap or a problem with\nthe network connection.");
193 << (
void *)
this <<
")" << endl ;
virtual ~XDRFileUnMarshaller()
virtual void get_byte(dods_byte &val)
abstract base class used to unmarshall/deserialize dap data objects
virtual void get_float64(dods_float64 &val)
Holds a one-dimensional collection of DAP2 data types.
virtual void get_int16(dods_int16 &val)
virtual void get_uint32(dods_uint32 &val)
virtual void get_str(string &val)
XDR * new_xdrstdio(FILE *stream, enum xdr_op xop)
virtual void get_url(string &val)
A class for software fault reporting.
virtual void get_int(int &val)
virtual BaseType * var(const string &name="", bool exact_match=true, btp_stack *s=0)
const unsigned int max_str_len
Type type() const
Returns the type of the class instance.
unmarshaller that knows how to unmarshall/deserialize dap objects using XDR from a file ...
virtual void dump(ostream &strm) const
dump the contents of this object to the specified ostream
void delete_xdrstdio(XDR *xdr)
virtual void get_int32(dods_int32 &val)
static ostream & LMarg(ostream &strm)
virtual void get_uint16(dods_uint16 &val)
The basic data type for the DODS DAP types.
virtual void get_float32(dods_float32 &val)
virtual void get_vector(char **val, unsigned int &num, Vector &vec)
static xdrproc_t xdr_coder(const Type &t)
Returns a function used to encode elements of an array.
A class for error processing.
virtual void get_opaque(char *val, unsigned int len)