User Manual, Developers Guide and API Documentation

Layer2.hpp

Go to the documentation of this file.
00001 /******************************************************************************
00002  * WiFiMAC (IEEE 802.11 and its alphabet soup)                                *
00003  * This file is part of openWNS (open Wireless Network Simulator)
00004  * _____________________________________________________________________________
00005  *
00006  * Copyright (C) 2004-2007
00007  * Chair of Communication Networks (ComNets)
00008  * Kopernikusstr. 16, D-52074 Aachen, Germany
00009  * phone: ++49-241-80-27910,
00010  * fax: ++49-241-80-22242
00011  * email: info@openwns.org
00012  * www: http://www.openwns.org
00013  * _____________________________________________________________________________
00014  *
00015  * openWNS is free software; you can redistribute it and/or modify it under the
00016  * terms of the GNU Lesser General Public License version 2 as published by the
00017  * Free Software Foundation;
00018  *
00019  * openWNS is distributed in the hope that it will be useful, but WITHOUT ANY
00020  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
00021  * A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
00022  * details.
00023  *
00024  * You should have received a copy of the GNU Lesser General Public License
00025  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00026  *
00027  ******************************************************************************/
00028 
00029 #ifndef WIFIMAC_LAYER2_HPP
00030 #define WIFIMAC_LAYER2_HPP
00031 
00032 #include <WIFIMAC/lowerMAC/Manager.hpp>
00033 
00034 #include <WNS/ldk/ldk.hpp>
00035 #include <WNS/ldk/fun/Main.hpp>
00036 #include <WNS/service/phy/ofdma/DataTransmission.hpp>
00037 #include <WNS/logger/Logger.hpp>
00038 
00039 #include <DLL/Layer2.hpp>
00040 
00041 namespace dll {
00042     class StationManager;
00043 }
00044 
00045 namespace wifimac
00046 {
00062     class Layer2:
00063         public dll::Layer2
00064     {
00065         typedef wns::container::Registry<wns::service::dll::UnicastAddress,
00066                                          wifimac::lowerMAC::Manager*> ManagerRegistry;
00067     public:
00068         Layer2(wns::node::Interface*, const wns::pyconfig::View&);
00069         virtual ~Layer2() {};
00070 
00071         // ComponentInterface
00072         virtual void onNodeCreated();
00073         virtual void onWorldCreated();
00074         virtual void onShutdown();
00075 
00077         void registerManager(wifimac::lowerMAC::Manager* manager,
00078                              wns::service::dll::UnicastAddress address);
00079 
00081         bool isTransceiverMAC(wns::service::dll::UnicastAddress address);
00082 
00083     private:
00084         // disallow copy constructor
00085         Layer2(const Layer2&);
00086         // disallow assignment
00087         Layer2& operator=(const Layer2&);
00088 
00089         virtual void doStartup();
00090 
00092         wns::logger::Logger logger_;
00093 
00095         ManagerRegistry managers_;
00096     };
00097 }
00098 
00099 #endif // NOT defined WIFIMAC_LAYER2_HPP
00100 
00101 

Generated on Sun May 27 03:31:36 2012 for openWNS by  doxygen 1.5.5