00001 #ifndef IncomingSynchronisationMessageHEADER 00002 #define IncomingSynchronisationMessageHEADER 00003 00004 00005 #include "OMKOpenMASK.h" 00006 #include <sstream> 00007 #include <string> 00008 00009 namespace OMK 00010 { 00011 class Packable ; 00012 00020 class OMK_API IncomingSynchronisationMessage 00021 { 00022 public: 00024 virtual ~IncomingSynchronisationMessage() ; 00025 00027 IncomingSynchronisationMessage () ; 00028 00030 virtual const Date & getMessageDate() = 0 ; 00031 00033 template <typename T> 00034 IncomingSynchronisationMessage & operator >> (T & val) 00035 { 00036 get ( val ) ; 00037 return *this ; 00038 } 00039 00041 IncomingSynchronisationMessage & operator >> (char * val) ; 00042 00044 virtual void get ( Packable & val ) ; 00045 00047 virtual void get ( bool & val ) = 0 ; 00048 00050 virtual void get ( char & val ) = 0 ; 00051 00053 virtual void get ( long & val ) = 0 ; 00054 00056 virtual void get ( unsigned long & val ) = 0 ; 00057 00059 virtual void get ( int & val ) = 0 ; 00060 00062 virtual void get ( unsigned int & val ) = 0 ; 00063 00065 virtual void get ( float & val ) = 0 ; 00066 00068 virtual void get ( double & val) = 0 ; 00069 00071 virtual void get ( short & val ) = 0 ; 00072 00074 virtual void get ( unsigned short & val ) = 0 ; 00075 00077 virtual void get (char * val) = 0 ; 00078 00080 virtual void get ( std::string & val ) = 0 ; 00081 00082 00084 virtual void get ( char * val, int cnt ) = 0 ; 00085 00087 virtual void get ( long * val, int cnt ) = 0 ; 00088 00090 virtual void get ( unsigned long * val, int cnt ) = 0 ; 00091 00093 virtual void get ( int * val, int cnt ) = 0 ; 00094 00096 virtual void get ( unsigned int * val, int cnt ) = 0 ; 00097 00099 virtual void get ( float * val, int cnt ) = 0 ; 00100 00102 virtual void get ( double * val, int cnt ) = 0 ; 00103 00105 virtual void get ( short * val, int cnt ) = 0 ; 00106 00108 virtual void get ( unsigned short * val, int cnt ) = 0 ; 00109 00111 std::istringstream & getInputStream () ; 00112 00116 virtual void unpackInputStream ( ) ; 00117 protected: 00119 std::istringstream * _myis ; 00120 }; 00121 } // namespace OMK 00122 #endif
Documentation generated on Mon Jun 9 11:45:56 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |