00001 // UnMarshaller.h 00002 00003 #ifndef A_UnMarshaller_h 00004 #define A_UnMarshaller_h 1 00005 00006 #include <string> 00007 #include <vector> 00008 00009 using std::string ; 00010 using std::vector ; 00011 00012 #include "DapObj.h" 00013 00014 #include "dods-datatypes.h" 00015 00016 class Vector ; 00017 00018 class UnMarshaller : public DapObj 00019 { 00020 public: 00021 virtual void get_byte( dods_byte &val ) = 0 ; 00022 00023 virtual void get_int16( dods_int16 &val ) = 0 ; 00024 virtual void get_int32( dods_int32 &val ) = 0 ; 00025 00026 virtual void get_float32( dods_float32 &val ) = 0 ; 00027 virtual void get_float64( dods_float64 &val ) = 0 ; 00028 00029 virtual void get_uint16( dods_uint16 &val ) = 0 ; 00030 virtual void get_uint32( dods_uint32 &val ) = 0 ; 00031 00032 virtual void get_str( string &val ) = 0 ; 00033 virtual void get_url( string &val ) = 0 ; 00034 00035 virtual void get_opaque( char *val, unsigned int len ) = 0 ; 00036 virtual void get_int( int &val ) = 0 ; 00037 00038 virtual void get_vector( char **val, unsigned int &num, 00039 Vector &vec ) = 0 ; 00040 virtual void get_vector( char **val, unsigned int &num, 00041 int width, Vector &vec ) = 0 ; 00042 00043 virtual void dump(ostream &strm) const = 0 ; 00044 } ; 00045 00046 #endif // A_UnMarshaller_h 00047