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
Documentation generated on Mon Jun 9 11:45:57 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |