Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

POMessage.h

Go to the documentation of this file.
00001 //=============================================================================
00002 // POMessage.h
00005 //
00006 // Created 5/13/03 By Daniel Larimer
00007 //=============================================================================
00008 #ifndef _POMESSAGE_H_
00009 #define _POMESSAGE_H_
00010 #include<Packable.h>
00011 #include<POAddress.h>
00012 #include<POTypes.h>
00013 #include<string>
00014 using namespace std;
00015 
00016 
00017 class PEXPR_API POMessage : impliments Packable
00018 {
00019     public:
00020         POMessage();
00021         POMessage( const POMessage& cpy );
00022         virtual ~POMessage();
00023         virtual string messageType()const { return "POMessage"; };
00024 
00025         void setTag( int id ){ m_tag = id; }
00026         void setSource( const POAddress& source );
00027         void setDestination( const POAddress& dest );
00028 
00029         POInt     getTag()const { return m_tag; }
00030         POAddress getSource()const;
00031         POAddress getDestination()const;
00032         string    getPackedType()const{ return m_derivedtype.val(); }
00033 
00034         virtual POMessage* clone()const;
00035 
00036         //==========================
00037         // Packable
00038         //==========================
00039         int packsize()const;
00040         int pack( char* buf )const;
00041         int unpack( char* buf );
00042 
00043     private:
00044         POAddress m_source;
00045         POAddress m_destination;
00046         POString  m_derivedtype;
00047         POInt     m_tag;
00048 };
00049 #include<POMessageFactory.h>
00050 #endif

Generated on Tue Jun 15 12:49:28 2004 for pexpr by doxygen 1.3.4