00001 class TSrvIfaceMgr; 00002 #ifndef SRVIFACEMGR_H 00003 #define SRVIFACEMGR_H 00004 00005 #include "SmartPtr.h" 00006 #include "IfaceMgr.h" 00007 #include "SrvCfgMgr.h" 00008 #include "SrvAddrMgr.h" 00009 #include "SrvTransMgr.h" 00010 #include "Msg.h" 00011 00019 class TSrvIfaceMgr :public TIfaceMgr { 00020 public: 00021 TSrvIfaceMgr(string xmlFile); 00022 ~TSrvIfaceMgr(); 00023 00024 // ---sends messages--- 00025 bool send(int iface, char *msg, int size, SmartPtr<TIPv6Addr> addr); 00026 00027 // ---receives messages--- 00028 SmartPtr<TMsg> select(unsigned long timeout); 00029 00030 // ---remember SmartPtrs to all menagers--- 00031 void setThats(SmartPtr<TSrvIfaceMgr> srvIfaceMgr, 00032 SmartPtr<TSrvTransMgr> srvTransMgr, 00033 SmartPtr<TSrvCfgMgr> srvCfgMgr, 00034 SmartPtr<TSrvAddrMgr> srvAddrMgr); 00035 00036 private: 00037 string XmlFile; 00038 SmartPtr<TSrvCfgMgr> SrvCfgMgr; 00039 SmartPtr<TSrvAddrMgr> SrvAddrMgr; 00040 SmartPtr<TSrvTransMgr> SrvTransMgr; 00041 SmartPtr<TSrvIfaceMgr> That; 00042 }; 00043 00044 #endif 00045