00001 // XDRFileMarshaller.h 00002 00003 #ifndef I_XDRFileMarshaller_h 00004 #define I_XDRFileMarshaller_h 1 00005 00006 #include "Marshaller.h" 00007 #include "XDRUtils.h" 00008 00009 class XDRFileMarshaller : public Marshaller 00010 { 00011 private: 00012 XDR * _sink ; 00013 XDRFileMarshaller() : _sink( 0 ) {} ; 00014 public: 00015 XDRFileMarshaller( FILE *out ) ; 00016 virtual ~XDRFileMarshaller() ; 00017 00018 virtual void put_byte( dods_byte val ) ; 00019 00020 virtual void put_int16( dods_int16 val ) ; 00021 virtual void put_int32( dods_int32 val ) ; 00022 00023 virtual void put_float32( dods_float32 val ) ; 00024 virtual void put_float64( dods_float64 val ) ; 00025 00026 virtual void put_uint16( dods_uint16 val ) ; 00027 virtual void put_uint32( dods_uint32 val ) ; 00028 00029 virtual void put_str( const string &val ) ; 00030 virtual void put_url( const string &val ) ; 00031 00032 virtual void put_opaque( char *val, unsigned int len ) ; 00033 virtual void put_int( int val ) ; 00034 00035 virtual void put_vector( char *val, int num, 00036 Vector &vec ) ; 00037 virtual void put_vector( char *val, int num, int width, 00038 Vector &vec ) ; 00039 virtual void dump(ostream &strm) const ; 00040 } ; 00041 00042 #endif // I_XDRFileMarshaller_h 00043