| Index: chromeos/network/network_handler.cc
|
| diff --git a/chromeos/network/network_handler.cc b/chromeos/network/network_handler.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3079ad43f2e6fa3a0214e443a9f1d76298756325
|
| --- /dev/null
|
| +++ b/chromeos/network/network_handler.cc
|
| @@ -0,0 +1,123 @@
|
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "chromeos/network/network_handler.h"
|
| +
|
| +#include "chromeos/dbus/dbus_thread_manager.h"
|
| +#include "chromeos/login/login_state.h"
|
| +#include "chromeos/network/cert_loader.h"
|
| +#include "chromeos/network/geolocation_handler.h"
|
| +#include "chromeos/network/managed_network_configuration_handler.h"
|
| +#include "chromeos/network/network_configuration_handler.h"
|
| +#include "chromeos/network/network_connection_handler.h"
|
| +#include "chromeos/network/network_event_log.h"
|
| +#include "chromeos/network/network_profile_handler.h"
|
| +#include "chromeos/network/network_profile_observer.h"
|
| +#include "chromeos/network/network_state_handler.h"
|
| +#include "chromeos/network/network_state_handler_observer.h"
|
| +
|
| +namespace chromeos {
|
| +
|
| +static NetworkHandler* g_network_handler = NULL;
|
| +
|
| +class NetworkHandler::LoginStateInitializer {
|
| + public:
|
| + LoginStateInitializer() {
|
| + LoginState::Initialize();
|
| + }
|
| + ~LoginStateInitializer() {
|
| + LoginState::Shutdown();
|
| + }
|
| +};
|
| +
|
| +NetworkHandler::NetworkHandler() {
|
| + CHECK(DBusThreadManager::IsInitialized());
|
| +
|
| + if (!LoginState::IsInitialized())
|
| + login_state_initializer_.reset(new LoginStateInitializer());
|
| +
|
| + network_event_log::Initialize();
|
| +
|
| + cert_loader_.reset(new CertLoader);
|
| + network_state_handler_.reset(new NetworkStateHandler());
|
| + network_profile_handler_.reset(new NetworkProfileHandler());
|
| + network_configuration_handler_.reset(new NetworkConfigurationHandler());
|
| + managed_network_configuration_handler_.reset(
|
| + new ManagedNetworkConfigurationHandler());
|
| + network_connection_handler_.reset(new NetworkConnectionHandler());
|
| + geolocation_handler_.reset(new GeolocationHandler());
|
| +}
|
| +
|
| +NetworkHandler::~NetworkHandler() {
|
| + network_event_log::Shutdown();
|
| +}
|
| +
|
| +void NetworkHandler::Init() {
|
| + network_state_handler_->InitShillPropertyHandler();
|
| + managed_network_configuration_handler_->Init(
|
| + network_state_handler_.get(),
|
| + network_profile_handler_.get(),
|
| + network_configuration_handler_.get());
|
| + network_connection_handler_->Init(
|
| + network_state_handler_.get(),
|
| + network_configuration_handler_.get());
|
| + geolocation_handler_->Init();
|
| +}
|
| +
|
| +// static
|
| +void NetworkHandler::Initialize() {
|
| + CHECK(!g_network_handler);
|
| + g_network_handler = new NetworkHandler();
|
| + g_network_handler->Init();
|
| +}
|
| +
|
| +// static
|
| +void NetworkHandler::Shutdown() {
|
| + CHECK(g_network_handler);
|
| + delete g_network_handler;
|
| + g_network_handler = NULL;
|
| +}
|
| +
|
| +// static
|
| +NetworkHandler* NetworkHandler::Get() {
|
| + CHECK(g_network_handler)
|
| + << "NetworkHandler::Get() called before Initialize()";
|
| + return g_network_handler;
|
| +}
|
| +
|
| +// static
|
| +bool NetworkHandler::IsInitialized() {
|
| + return g_network_handler;
|
| +}
|
| +
|
| +CertLoader* NetworkHandler::cert_loader() {
|
| + return cert_loader_.get();
|
| +}
|
| +
|
| +NetworkStateHandler* NetworkHandler::network_state_handler() {
|
| + return network_state_handler_.get();
|
| +}
|
| +
|
| +NetworkProfileHandler* NetworkHandler::network_profile_handler() {
|
| + return network_profile_handler_.get();
|
| +}
|
| +
|
| +NetworkConfigurationHandler* NetworkHandler::network_configuration_handler() {
|
| + return network_configuration_handler_.get();
|
| +}
|
| +
|
| +ManagedNetworkConfigurationHandler*
|
| +NetworkHandler::managed_network_configuration_handler() {
|
| + return managed_network_configuration_handler_.get();
|
| +}
|
| +
|
| +NetworkConnectionHandler* NetworkHandler::network_connection_handler() {
|
| + return network_connection_handler_.get();
|
| +}
|
| +
|
| +GeolocationHandler* NetworkHandler::geolocation_handler() {
|
| + return geolocation_handler_.get();
|
| +}
|
| +
|
| +} // namespace chromeos
|
|
|