![]() |
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 #include <IP/Resolver.hpp> 00029 #include <IP/VirtualDHCP.hpp> 00030 00031 using namespace ip::resolver; 00032 00033 STATIC_FACTORY_REGISTER_WITH_CREATOR( 00034 FixedAddressResolver, 00035 ResolverInterface, 00036 "ip.resolver.fixed", 00037 wns::PyConfigViewCreator); 00038 00039 STATIC_FACTORY_REGISTER_WITH_CREATOR( 00040 VirtualDHCPResolver, 00041 ResolverInterface, 00042 "ip.resolver.vdhcp", 00043 wns::PyConfigViewCreator); 00044 00045 FixedAddressResolver::FixedAddressResolver(const wns::pyconfig::View& _pyco): 00046 address(_pyco.get<std::string>("address")), 00047 subnetMask(_pyco.get<std::string>("subnetMask")) 00048 { 00049 } 00050 00051 void 00052 FixedAddressResolver::resolve() 00053 { 00054 } 00055 00056 wns::service::nl::Address 00057 FixedAddressResolver::getAddress() 00058 { 00059 return address; 00060 } 00061 00062 wns::service::nl::Address 00063 FixedAddressResolver::getSubnetMask() 00064 { 00065 return subnetMask; 00066 } 00067 00068 VirtualDHCPResolver::VirtualDHCPResolver(const wns::pyconfig::View& _pyco) 00069 { 00070 zone = _pyco.get<std::string>("vdhcpZone"); 00071 } 00072 00073 void 00074 VirtualDHCPResolver::resolve() 00075 { 00076 DHCPAck dhcpAck = TheDHCPService::Instance().getZoneManager(zone)->request(); 00077 address = dhcpAck.address; 00078 subnetMask = dhcpAck.subnetMask; 00079 } 00080 00081 wns::service::nl::Address 00082 VirtualDHCPResolver::getAddress() 00083 { 00084 return address; 00085 } 00086 00087 wns::service::nl::Address 00088 VirtualDHCPResolver::getSubnetMask() 00089 { 00090 return subnetMask;; 00091 }
1.5.5