OMKOutgoingSynchronisationMessage.h

Go to the documentation of this file.
00001 #ifndef OutgoingSynchronisationMessageHEADER
00002 #define OutgoingSynchronisationMessageHEADER
00003 
00004 #include "OMKOpenMASK.h"
00005 
00006 #include <sstream>
00007 #include <string>
00008 namespace OMK 
00009 {
00010   class Packable ;
00016 class OMK_API OutgoingSynchronisationMessage
00017 {
00018 public:
00020   virtual ~OutgoingSynchronisationMessage() ;
00021 
00023   OutgoingSynchronisationMessage () ;
00024 
00026   virtual const Date & getMessageDate() const = 0 ;
00027 
00029   template <typename Type>
00030   inline OutgoingSynchronisationMessage & operator << (const Type & val) 
00031   {
00032     pack( val ) ;
00033     return *this ;
00034   }
00035 
00037   virtual void pack ( const Packable & val )  ;
00038 
00040   virtual void pack ( bool val ) = 0 ;
00041 
00043   virtual void pack ( char val ) = 0 ;
00044 
00046   virtual void pack ( long val ) = 0 ;
00047 
00049   virtual void pack ( unsigned long val ) = 0 ;
00050 
00052   virtual void pack ( int val ) = 0 ;
00053 
00055   virtual void pack ( unsigned int val ) = 0 ;
00056 
00058   virtual void pack ( float val ) = 0 ;
00059 
00061   virtual void pack ( double val ) = 0 ;
00062 
00064   virtual void pack ( short val ) = 0 ;
00065 
00067   virtual void pack ( unsigned short val ) = 0 ;
00068 
00070   virtual void pack ( const std::string & val ) = 0 ;
00071 
00072   OutgoingSynchronisationMessage & operator << (char * val) ;
00073 
00075   virtual void pack (char * val) = 0 ;
00076 
00078   virtual void pack ( const char * val ) = 0 ;
00079 
00081   virtual void pack ( const long * val, int cnt ) = 0 ;
00082 
00084   virtual void pack ( const unsigned long * val, int cnt ) = 0 ;
00085 
00087   virtual void pack ( const int * val, int cnt ) = 0 ;
00088 
00090   virtual void pack ( const unsigned int * val, int cnt ) = 0 ;
00091 
00093   virtual void pack ( const float * val, int cnt ) = 0 ;
00094 
00096   virtual void pack ( const double * val, int cnt ) = 0 ;
00097 
00099   virtual void pack ( const short * val, int cnt ) = 0 ;
00100 
00102   virtual void pack ( const unsigned short * val, int cnt ) = 0 ;
00103 
00105   virtual void pack ( long * val, int cnt ) = 0 ;
00106 
00108   virtual void pack ( unsigned long * val, int cnt ) = 0 ;
00109 
00111   virtual void pack ( int * val, int cnt ) = 0 ;
00112 
00114   virtual void pack ( unsigned int * val, int cnt ) = 0 ;
00115 
00117   virtual void pack ( float * val, int cnt ) = 0 ;
00118 
00120   virtual void pack ( double * val, int cnt ) = 0 ;
00121 
00123   virtual void pack ( short * val, int cnt ) = 0 ;
00124 
00126   virtual void pack ( unsigned short * val, int cnt ) = 0 ;
00128   std::ostringstream & getOutputStream () ;
00129 
00133   virtual void packOutputStream ( ) ;
00134 
00135   protected:
00136 
00138   std::ostringstream _myos ;
00139 
00141   virtual void reinit() ;
00142 
00143 };
00144 } // namespace OMK
00145 #endif

logo OpenMask

Documentation generated on Mon Jun 9 11:45:57 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007