![]() |
User Manual, Developers Guide and API Documentation |
![]() |
00001 /****************************************************************************** 00002 * WNS (Wireless Network Simulator) * 00003 * __________________________________________________________________________ * 00004 * * 00005 * Copyright (C) 2004-2006 * 00006 * Chair of Communication Networks (ComNets) * 00007 * Kopernikusstr. 16, D-52074 Aachen, Germany * 00008 * phone: ++49-241-80-27910 (phone), fax: ++49-241-80-22242 * 00009 * email: wns@comnets.rwth-aachen.de * 00010 * www: http://wns.comnets.rwth-aachen.de * 00011 ******************************************************************************/ 00012 00013 #ifndef WNS_LDK_HASUPPORT_HPP 00014 #define WNS_LDK_HASUPPORT_HPP 00015 00016 #include <WNS/ldk/HasDeliverer.hpp> 00017 #include <WNS/ldk/GetHasDeliverer.hpp> 00018 #include <WNS/ldk/SingleDeliverer.hpp> 00019 #include <WNS/ldk/HasReceptor.hpp> 00020 #include <WNS/ldk/GetHasReceptor.hpp> 00021 #include <WNS/ldk/SingleReceptor.hpp> 00022 #include <WNS/ldk/HasConnectorReceptacle.hpp> 00023 #include <WNS/ldk/SinglePort.hpp> 00024 00025 namespace wns { namespace ldk { 00026 00027 namespace hasdeliverer 00028 { 00029 typedef SingleDeliverer DefaultDelivererStrategy; 00030 } 00031 00032 namespace hasreceptor 00033 { 00034 typedef SingleReceptor DefaultReceptorStrategy; 00035 } 00036 00037 template <typename CLASS, 00038 typename PORTID = Port<SinglePort>, 00039 typename DELIVERERTYPE = hasdeliverer::DefaultDelivererStrategy, 00040 typename RECEPTORTYPE = hasreceptor::DefaultReceptorStrategy> 00041 class HasUpPort 00042 : public GetHasDeliverer<typename PORTID::PortType>, 00043 public GetHasReceptor<typename PORTID::PortType>, 00044 public HasConnectorReceptacle<CLASS, typename PORTID::PortType> 00045 { 00046 public: 00047 HasUpPort(CLASS* fu) 00048 : GetHasDeliverer<typename PORTID::PortType>(), 00049 GetHasReceptor<typename PORTID::PortType>(), 00050 HasConnectorReceptacle<CLASS, typename PORTID::PortType>(fu), 00051 deliverer_(fu), 00052 receptor_(fu) 00053 { 00054 setHasDeliverer(&deliverer_); 00055 setHasReceptor(&receptor_); 00056 } 00057 00058 virtual 00059 ~HasUpPort() 00060 {} 00061 00062 private: 00063 HasDeliverer<DELIVERERTYPE, typename PORTID::PortType> deliverer_; 00064 HasReceptor<RECEPTORTYPE, typename PORTID::PortType> receptor_; 00065 }; 00066 00067 00068 template <typename CLASS, 00069 typename DELIVERERTYPE, 00070 typename RECEPTORTYPE> 00071 class HasUpPort<CLASS, Port<SinglePort>, DELIVERERTYPE, RECEPTORTYPE> 00072 { 00073 public: 00074 HasUpPort(CLASS*) 00075 {} 00076 }; 00077 00078 } //ldk 00079 } //wns 00080 00081 #endif // NOT defined WNS_LDK_HASUPPORT
1.5.5