⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wireless_channel_manager.hpp

📁 RFID reader 语 tag 模拟器
💻 HPP
字号:
 #ifndef CHANNEL_MANAGER_H #define CHANNEL_MANAGER_H #include <map> #include <set> using namespace std; #include <boost/shared_ptr.hpp> #include <boost/enable_shared_from_this.hpp> #include <boost/utility.hpp> #include "utility.hpp" class WirelessChannel; typedef boost::shared_ptr<WirelessChannel> WirelessChannelPtr; class PhysicalLayer; typedef boost::shared_ptr<PhysicalLayer> PhysicalLayerPtr; typedef boost::shared_ptr<PhysicalLayer const> ConstPhysicalLayerPtr; class WirelessCommSignal; typedef boost::shared_ptr<WirelessCommSignal> WirelessCommSignalPtr; class Simulator; typedef Simulator* SimulatorPtr; class SignalListeners; typedef boost::shared_ptr<SignalListeners> SignalListenersPtr; class ListenerSignals; typedef boost::shared_ptr<ListenerSignals> ListenerSignalsPtr; typedef map<t_uint,WirelessChannelPtr> ChannelIdMap; typedef multimap<WirelessChannelPtr,PhysicalLayerPtr> ChannelObserver; typedef multimap<PhysicalLayerPtr,WirelessChannelPtr> SenderChannel; class WirelessChannelManager : boost::noncopyable,    public boost::enable_shared_from_this<WirelessChannelManager> { public:    typedef boost::shared_ptr<WirelessChannelManager>       WirelessChannelManagerPtr;    static inline WirelessChannelManagerPtr create();    void recvSignal(PhysicalLayerPtr sender,       WirelessCommSignalPtr signal);    void passSignalToReceiver(PhysicalLayerPtr receiver,       WirelessCommSignalPtr signal) const;    bool attachAsSender(PhysicalLayerPtr physicalLayer, t_uint channelId);    bool attachAsListener(PhysicalLayerPtr physicalLayer, t_uint channelId);    bool detachAsSender(PhysicalLayerPtr physicalLayer, t_uint channelId);    bool detachAsListener(PhysicalLayerPtr physicalLayer, t_uint channelId);    void addChannel(t_uint channelId, WirelessChannelPtr channel);    bool removeChannel(t_uint channelId); protected:    WirelessChannelManager(); private:    static const bool m_DEBUG_SIGNAL_STRENGTH = false;    ChannelIdMap m_channels;    ChannelObserver m_listeners;    SenderChannel m_senders;    void sendSignalOnChannel(ConstPhysicalLayerPtr sender,       WirelessCommSignalPtr signal, WirelessChannelPtr channel);    t_uint getChannelId(WirelessChannelPtr channel) const; }; typedef boost::shared_ptr<WirelessChannelManager>    WirelessChannelManagerPtr; typedef boost::shared_ptr<WirelessChannelManager const>    ConstWirelessChannelManagerPtr; // Inline Functions inline WirelessChannelManagerPtr WirelessChannelManager::create() {    WirelessChannelManagerPtr p(new WirelessChannelManager());    return p; } // Overloaded Operators #endif // CHANNEL_MANAGER_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -