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