00001 #ifndef PO_ADDRESS_H_ 00002 #define PO_ADDRESS_H_ 00003 #include<Packable.h> 00004 #include<POTypes.h> 00005 #include <iostream> 00006 using namespace std; 00007 00008 class PEXPR_API POAddress : impliments Packable 00009 { 00010 public: 00011 POAddress( const string& po = "undefined", const string& box ="undefined" ); 00012 POAddress( const POAddress& cpy ); 00013 virtual ~POAddress(){}; 00014 void debug(){cout << "PO = " << m_po.val() << endl; cout << "BOX = " << m_box.val() << endl;}; 00015 00016 string getPO()const { return m_po.val(); } 00017 string getBox()const{ return m_box.val(); } 00018 string toString()const { return m_po.val() + '.' + m_box.val(); } 00019 00020 int packsize()const; 00021 int pack( char* buf )const; 00022 int unpack( char* buf ); 00023 00024 private: 00025 POString m_po; 00026 POString m_box; 00027 }; 00028 00029 bool PEXPR_API operator==( const POAddress& a, const POAddress& b ); 00030 bool PEXPR_API operator!=( const POAddress& a, const POAddress& b ); 00031 00032 #endif