User Manual, Developers Guide and API Documentation

Events.hpp

Go to the documentation of this file.
00001 /*******************************************************************************
00002  * This file is part of openWNS (open Wireless Network Simulator)
00003  * _____________________________________________________________________________
00004  *
00005  * Copyright (C) 2004-2007
00006  * Chair of Communication Networks (ComNets)
00007  * Kopernikusstr. 5, D-52074 Aachen, Germany
00008  * phone: ++49-241-80-27910,
00009  * fax: ++49-241-80-22242
00010  * email: info@openwns.org
00011  * www: http://www.openwns.org
00012  * _____________________________________________________________________________
00013  *
00014  * openWNS is free software; you can redistribute it and/or modify it under the
00015  * terms of the GNU Lesser General Public License version 2 as published by the
00016  * Free Software Foundation;
00017  *
00018  * openWNS is distributed in the hope that it will be useful, but WITHOUT ANY
00019  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
00020  * A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
00021  * details.
00022  *
00023  * You should have received a copy of the GNU Lesser General Public License
00024  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00025  *
00026  ******************************************************************************/
00027 
00028 #ifndef LTE_TIMING_EVENTS_UT_EVENTS_HPP
00029 #define LTE_TIMING_EVENTS_UT_EVENTS_HPP
00030 
00031 #include <LTE/timing/ResourceSchedulerInterface.hpp>
00032 #include <LTE/timing/events/Base.hpp>
00033 
00034 namespace lte {
00035     namespace controlplane {
00036         class IMapHandlerTiming;
00037     }
00038 
00039     namespace macr {
00040         class IRachTimingTx;
00041     }
00042 
00043     namespace timing {
00044 
00045         namespace events {
00046             namespace ut {
00047 
00050                 class EventBase :
00051                     public events::Base
00052                 {
00053                 public:
00055                     EventBase(wns::ldk::fun::FUN* _fun, const wns::pyconfig::View& config) :
00056                         events::Base(_fun, config)
00057                         {};
00058                     virtual ~EventBase(){};
00059                 };
00060 
00061 
00062                 class StartBCH :
00063                     public EventBase
00064                 //public wns::Cloneable<StartBCH>
00065                 {
00066                 public:
00067                     StartBCH(wns::ldk::fun::FUN* _fun, const wns::pyconfig::View& config);
00068                     virtual void execute();
00069                 }; //StartBCH
00070 
00071 
00072                 class StartRACH :
00073                     public EventBase
00074                 //public wns::Cloneable<StartRACH>
00075                 {
00076                     lte::macr::IRachTimingTx* rach;
00077                 public:
00078                     StartRACH(wns::ldk::fun::FUN* _fun, const wns::pyconfig::View& config);
00079                     virtual void execute();
00080                 }; //StartRACH
00081 
00082 
00083                 class StartMap :
00084                     public EventBase
00085                 //public wns::Cloneable<StartMap>
00086                 {
00087                     int frameNr;
00088                     bool useMapResourcesInUL;
00089                     lte::controlplane::IMapHandlerTiming* mapHandler;
00090                     lte::timing::SlaveScheduler* rstx;
00091                 public:
00092                     StartMap(wns::ldk::fun::FUN* _fun, const wns::pyconfig::View& config);
00093                     virtual void execute();
00094                 }; //StartMap
00095 
00096 
00097                 class StartData :
00098                     public EventBase
00099                 //public wns::Cloneable<StartData>
00100                 {
00104                     class SwitchingPoint :
00105                         public EventBase
00106                     //public wns::Cloneable<SwitchingPoint>
00107                     {
00108                         lte::timing::SlaveScheduler* rstxSlave;
00109                         lte::timing::SchedulerIncoming* rstxIncoming;
00110                         lte::controlplane::IMapHandlerTiming* mapHandler;
00111                         int frameNr;
00112                     public:
00113                         SwitchingPoint(wns::ldk::fun::FUN* _fun,
00114                                        const wns::pyconfig::View& config);
00115                         virtual void execute();
00116                     }; // SwitchingPoint
00117 
00121                     class StopData :
00122                         public EventBase
00123                     //public wns::Cloneable<StopData>
00124                     {
00125                         lte::timing::SchedulerIncoming* rstx;
00126                     public:
00127                         StopData(wns::ldk::fun::FUN* _fun,
00128                                  const wns::pyconfig::View& config);
00129                         virtual void execute();
00130                     }; // StopData
00131 
00132                     lte::timing::SlaveScheduler* rstx;
00133                     lte::controlplane::IMapHandlerTiming* mapHandler;
00134                     SwitchingPoint mySwitchingPointEvent;
00135                     StopData myStopDataEvent;
00136                     int frameNr;
00137                     int framesPerSuperFrame;
00138                     bool useMapResourcesInUL;
00139                 public:
00140                     StartData(wns::ldk::fun::FUN* _fun, const wns::pyconfig::View& config);
00141                     virtual ~StartData();
00142 
00147 //                  virtual wns::CloneableInterface*
00148 //                     clone() const;
00149 
00153                     virtual void setTimer(lte::timing::TimingScheduler* _timer);
00154                     virtual void execute();
00155                 }; // StartData
00156 
00157                 typedef wns::ldk::FUNConfigCreator<EventBase> EventCreator;
00158                 typedef wns::StaticFactory<EventCreator> EventFactory;
00159 
00160             } //namespace ut
00161         } //namespace events
00162     } //timing
00163 } // lte
00164 
00165 #endif // LTE_TIMING_EVENTS_UT_EVENTS_HPP
00166 
00167 
00168 
00169 

Generated on Sun May 27 03:32:05 2012 for openWNS by  doxygen 1.5.5