00001
00002
00005
00006
00007
00008 #ifndef _POPARTIALMSG_H_
00009 #define _POPARTIALMSG_H_
00010 #include<POMessage.h>
00011 #include<POTypes.h>
00012 #include<string>
00013 using namespace std;
00014
00015
00016 class PEXPR_API POPartialMsg : public POMessage
00017 {
00018 public:
00019 POPartialMsg( int num = 0,
00020 int of = 0,
00021 char* buffer = NULL, int size = 0 );
00022 POPartialMsg( const POPartialMsg& cpy );
00023 virtual ~POPartialMsg();
00024 virtual string messageType()const { return "POPartialMsg"; };
00025
00026 virtual POMessage* clone()const;
00027
00028 int getBufferSize()const { return m_size.val(); }
00029 int getNumber()const { return m_num.val(); }
00030 int getMaxNum()const { return m_maxnum.val(); }
00031 char* getData()const { return m_buffer; }
00032
00033
00034
00035
00036 int packsize()const;
00037 int pack( char* buf )const;
00038 int unpack( char* buf );
00039
00040 private:
00041 char* m_buffer;
00042 POInt m_size;
00043 POInt m_num;
00044 POInt m_maxnum;
00045 };
00046
00047 #endif