![]() |
User Manual, Developers Guide and API Documentation |
![]() |
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
1.5.5