00001 //============================================================================= 00006 //============================================================================= 00007 #ifndef _POGROUP_H_ 00008 #define _POGROUP_H_ 00009 #include<qobject.h> 00010 #include<vector> 00011 #include<string> 00012 #include<POAddress.h> 00013 using namespace std; 00014 00015 class PostOffice; 00016 class POBox; 00017 class POMessage; 00018 00019 class POGroup : public QObject 00020 { 00021 Q_OBJECT 00022 public: 00023 POGroup( const string& name, PostOffice* po ); 00024 ~POGroup(); 00025 00026 public slots: 00027 void handleMessage( const POMessage* msg ); 00028 void addAddress( const POAddress& adr ); 00029 void removeAddress( const POAddress& adr ); 00030 void forward( const POMessage* msg ); 00031 00032 private: 00033 POBox* m_inbox; 00034 PostOffice* m_po; 00035 vector<POAddress> m_members; 00036 }; 00037 00038 00039 #endif