Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PsOutgoingSynchronisationMessage.h

Go to the documentation of this file.
00001 #ifndef PsOutgoingSynchronisationMessageHEADER
00002 #define PsOutgoingSynchronisationMessageHEADER
00003 
00004 #ifdef _USESSTREAM
00005 #include <sstream>
00006 #else
00007 #include <strstream>
00008 #endif
00009 
00010 #include <string>
00011 #include "PsNumericType.h"
00012 class PsPackable ; 
00013 
00014 using namespace std ;
00015 
00021 class PsOutgoingSynchronisationMessage
00022 {
00023 public:
00025    virtual ~PsOutgoingSynchronisationMessage() ;
00026 
00028    PsOutgoingSynchronisationMessage () ;
00029    
00031    virtual const PsDate & getMessageDate() const = 0 ;
00032 
00034    template <typename Type>
00035    inline PsOutgoingSynchronisationMessage & operator << (const Type & val) 
00036    {
00037         pack( val ) ;
00038         return *this ;
00039    }
00040    
00042    virtual void pack ( const PsPackable & val )  ;
00043 
00045    virtual void pack ( bool val ) = 0 ;
00046    
00048    virtual void pack ( char val ) = 0 ;
00049    
00051    virtual void pack ( long val ) = 0 ;
00052    
00054    virtual void pack ( unsigned long val ) = 0 ;
00055    
00057    virtual void pack ( int val ) = 0 ;
00058  
00060    virtual void pack ( unsigned int val ) = 0 ;
00061 
00063    virtual void pack ( float val ) = 0 ;
00064 
00066    virtual void pack ( double val ) = 0 ;
00067 
00069    virtual void pack ( short val ) = 0 ;
00070 
00072    virtual void pack ( unsigned short val ) = 0 ;
00073 
00075    virtual void pack ( const string & val ) = 0 ;
00076 
00077    PsOutgoingSynchronisationMessage & operator << (char * val) ;
00078 
00080    virtual void pack (char * val) = 0 ;
00081 
00083    virtual void pack ( const char * val ) = 0 ;
00084 
00086    virtual void pack ( const long * val, int cnt ) = 0 ;
00087    
00089    virtual void pack ( const unsigned long * val, int cnt ) = 0 ;
00090    
00092    virtual void pack ( const int * val, int cnt ) = 0 ;
00093  
00095    virtual void pack ( const unsigned int * val, int cnt ) = 0 ;
00096 
00098    virtual void pack ( const float * val, int cnt ) = 0 ;
00099 
00101    virtual void pack ( const double * val, int cnt ) = 0 ;
00102 
00104    virtual void pack ( const short * val, int cnt ) = 0 ;
00105 
00107    virtual void pack ( const unsigned short * val, int cnt ) = 0 ;
00108 
00110    virtual void pack ( long * val, int cnt ) = 0 ;
00111    
00113    virtual void pack ( unsigned long * val, int cnt ) = 0 ;
00114    
00116    virtual void pack ( int * val, int cnt ) = 0 ;
00117  
00119    virtual void pack ( unsigned int * val, int cnt ) = 0 ;
00120 
00122    virtual void pack ( float * val, int cnt ) = 0 ;
00123 
00125    virtual void pack ( double * val, int cnt ) = 0 ;
00126 
00128    virtual void pack ( short * val, int cnt ) = 0 ;
00129 
00131    virtual void pack ( unsigned short * val, int cnt ) = 0 ;
00133 #ifdef _USESSTREAM
00134    ostringstream & getOutputStream () ;
00135 #else
00136    ostrstream & getOutputStream () ;
00137 #endif
00138 
00142   virtual void packOutputStream ( ) ;
00143 protected:
00145 #ifdef _USESSTREAM
00146    ostringstream _myos ;
00147 #else
00148   ostrstream _myos ;
00149 #endif
00150 
00152    virtual void reinit() ;
00153    
00154 };
00155 
00156 #endif

logo OpenMask

Documentation generated on Mon Nov 25 15:25:02 2002

Generated with doxygen 1.2.12 by Dimitri van Heesch ,   1997-2001