00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef LIBCERTI_BASIC_MESSAGE
00026 #define LIBCERTI_BASIC_MESSAGE
00027
00028 #include "Extent.hh"
00029 #include "MessageBuffer.hh"
00030 #include "BaseRegion.hh"
00031 #include <vector>
00032
00033 namespace certi {
00034
00041 class CERTI_EXPORT BasicMessage
00042 {
00043 public:
00044 void setExtents(const std::vector<Extent> &);
00045 const std::vector<Extent> &getExtents() const ;
00046
00047 void setRegions(const BaseRegion **, int);
00048 void setRegions(const std::vector<RegionHandle> &);
00049 const std::vector<RegionHandle> &getRegions() const ;
00050
00051 protected:
00052 virtual ~BasicMessage();
00053 virtual void serialize(MessageBuffer& msgBuffer);
00054 virtual void deserialize(MessageBuffer& msgBuffer);
00055
00056 void readExtents(MessageBuffer& msgBuffer);
00057 void writeExtents(MessageBuffer& msgBuffer) const ;
00058
00059 void readRegions(MessageBuffer& msgBuffer);
00060 void writeRegions(MessageBuffer& msgBuffer);
00061
00062 std::vector<Extent> extents ;
00063 std::vector<RegionHandle> regions ;
00064
00065 };
00066
00067 }
00068
00069 #endif // LIBCERTI_BASIC_MESSAGE
00070
00071