00001 #ifndef __CMWFWIOPMAPPER_H__ 00002 #define __CMWFWIOPMAPPER_H__ 00003 00004 #include "cmwfwTypes.h" 00005 00006 class cmwfwIOPMapper{ 00007 public: 00008 00009 friend class cmwfwDeviceServer; 00010 friend class cmwfwDeviceAdapter; 00011 friend class cmwfwPoller; 00012 friend class cmwfwForwarder; 00013 00014 cmwfwIOPMapper(); 00015 ~cmwfwIOPMapper(); 00016 protected: 00017 00018 private: 00019 cmwfwDeviceServer* getServer(const cmwfwIOPoint& iop); 00020 cmwfwDeviceAdapter* getAdapter(const cmwfwIOPoint& iop); 00021 00022 void reg(const cmwfwIOPoint& iop, 00023 cmwfwDeviceServer& srv); 00024 void reg(const cmwfwIOPoint& iop, 00025 cmwfwDeviceAdapter& adp); 00026 void reg(cmwfwDeviceServer& srv); 00027 void reg(cmwfwDeviceAdapter& adp); 00028 void unreg(const cmwfwIOPoint& iop, 00029 cmwfwDeviceServer& srv); 00030 void unreg(const cmwfwIOPoint& iop, 00031 cmwfwDeviceAdapter& adp); 00032 void unreg(cmwfwDeviceServer& srv); 00033 void unreg(cmwfwDeviceAdapter& adp); 00034 00035 cmwfwDeviceServer* srv_reg ; 00036 cmwfwDeviceAdapter* adp_reg; 00037 00038 static bool ThereCanBeOnlyOne; 00039 00040 }; 00041 00042 00043 #endif //#ifndef __CMWFWIOPMAPPER_H__