User Manual, Developers Guide and API Documentation

HasUpPort.hpp

Go to the documentation of this file.
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

Generated on Thu May 24 03:31:42 2012 for openWNS by  doxygen 1.5.5