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