1326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// 2326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// Copyright (C) 2014 The Android Open Source Project 3326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// 4326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// Licensed under the Apache License, Version 2.0 (the "License"); 5326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// you may not use this file except in compliance with the License. 6326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// You may obtain a copy of the License at 7326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// 8326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// http://www.apache.org/licenses/LICENSE-2.0 9326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// 10326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// Unless required by applicable law or agreed to in writing, software 11326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// distributed under the License is distributed on an "AS IS" BASIS, 12326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// See the License for the specific language governing permissions and 14326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// limitations under the License. 15326b6cfba5ab73c9e41a7585d1bc95871631122aPeter Qiu// 16bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 17bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu#include "apmanager/dhcp_server_factory.h" 18bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 19bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiunamespace apmanager { 20bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 21bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiunamespace { 22bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 23bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiubase::LazyInstance<DHCPServerFactory> g_dhcp_server_factory 24bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu = LAZY_INSTANCE_INITIALIZER; 25bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 26bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu} // namespace 27bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 28bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter QiuDHCPServerFactory::DHCPServerFactory() {} 29bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter QiuDHCPServerFactory::~DHCPServerFactory() {} 30bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 31bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter QiuDHCPServerFactory* DHCPServerFactory::GetInstance() { 32bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu return g_dhcp_server_factory.Pointer(); 33bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu} 34bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 35bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter QiuDHCPServer* DHCPServerFactory::CreateDHCPServer( 36bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu uint16_t server_addr_index, const std::string& interface_name) { 37bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu return new DHCPServer(server_addr_index, interface_name); 38bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu} 39bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu 40bf8e36cde93c8714b5e1482d205d2e3e424d1290Peter Qiu} // namespace apmanager 41