| Index: chromeos/network/shill_service_observer.cc
|
| diff --git a/chromeos/network/shill_service_observer.cc b/chromeos/network/shill_service_observer.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ab168b58ee9fb5311c8580bf9debaa3b1eb128d6
|
| --- /dev/null
|
| +++ b/chromeos/network/shill_service_observer.cc
|
| @@ -0,0 +1,31 @@
|
| +// Copyright (c) 2012 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/shill_service_observer.h"
|
| +
|
| +#include "chromeos/dbus/dbus_thread_manager.h"
|
| +#include "chromeos/dbus/shill_service_client.h"
|
| +#include "dbus/object_path.h"
|
| +
|
| +namespace chromeos {
|
| +
|
| +ShillServiceObserver::ShillServiceObserver(const std::string& service_path,
|
| + const Handler& handler)
|
| + : service_path_(service_path),
|
| + handler_(handler) {
|
| + DBusThreadManager::Get()->GetShillServiceClient()->
|
| + AddPropertyChangedObserver(dbus::ObjectPath(service_path), this);
|
| +}
|
| +
|
| +ShillServiceObserver::~ShillServiceObserver() {
|
| + DBusThreadManager::Get()->GetShillServiceClient()->
|
| + RemovePropertyChangedObserver(dbus::ObjectPath(service_path_), this);
|
| +}
|
| +
|
| +void ShillServiceObserver::OnPropertyChanged(const std::string& key,
|
| + const base::Value& value) {
|
| + handler_.Run(service_path_, key, value);
|
| +}
|
| +
|
| +} // namespace chromeos
|
|
|