blob: 728f806a03474f92d13577319947f9023bef01a9 [file] [log] [blame]
Ben Chanfad4a0b2012-04-18 15:49:59 -07001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Darin Petkov5c97ac52011-07-19 16:30:49 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "shill/dbus_properties_proxy.h"
6
Ben Chanfad4a0b2012-04-18 15:49:59 -07007#include "shill/scope_logger.h"
Darin Petkov5c97ac52011-07-19 16:30:49 -07008
Darin Petkov5c97ac52011-07-19 16:30:49 -07009namespace shill {
10
Darin Petkov5c97ac52011-07-19 16:30:49 -070011using std::string;
12using std::vector;
13
Jason Glasgow9c09e362012-04-18 15:16:29 -040014DBusPropertiesProxy::DBusPropertiesProxy(DBus::Connection *connection,
Darin Petkov5c97ac52011-07-19 16:30:49 -070015 const string &path,
16 const string &service)
Jason Glasgow9c09e362012-04-18 15:16:29 -040017 : proxy_(connection, path, service) {}
Darin Petkov5c97ac52011-07-19 16:30:49 -070018
19DBusPropertiesProxy::~DBusPropertiesProxy() {}
20
Darin Petkove0a312e2011-07-20 13:45:28 -070021DBusPropertiesMap DBusPropertiesProxy::GetAll(const string &interface_name) {
mukesh agrawal06175d72012-04-23 16:46:01 -070022 SLOG(DBus, 2) << __func__ << "(" << interface_name << ")";
Darin Petkov5c97ac52011-07-19 16:30:49 -070023 return proxy_.GetAll(interface_name);
24}
25
Jason Glasgow9c09e362012-04-18 15:16:29 -040026void DBusPropertiesProxy::set_properties_changed_callback(
27 const PropertiesChangedCallback &callback) {
28 proxy_.set_properties_changed_callback(callback);
29}
30
31void DBusPropertiesProxy::set_modem_manager_properties_changed_callback(
32 const ModemManagerPropertiesChangedCallback &callback) {
33 proxy_.set_modem_manager_properties_changed_callback(callback);
34}
35
36DBusPropertiesProxy::Proxy::Proxy(DBus::Connection *connection,
Darin Petkov5c97ac52011-07-19 16:30:49 -070037 const string &path,
38 const string &service)
Jason Glasgow9c09e362012-04-18 15:16:29 -040039 : DBus::ObjectProxy(*connection, path, service.c_str()) {}
Darin Petkov5c97ac52011-07-19 16:30:49 -070040
41DBusPropertiesProxy::Proxy::~Proxy() {}
42
43void DBusPropertiesProxy::Proxy::MmPropertiesChanged(
44 const string &interface,
Darin Petkove0a312e2011-07-20 13:45:28 -070045 const DBusPropertiesMap &properties) {
Ben Chanfad4a0b2012-04-18 15:49:59 -070046 SLOG(DBus, 2) << __func__ << "(" << interface << ")";
Jason Glasgow9c09e362012-04-18 15:16:29 -040047 mm_properties_changed_callback_.Run(interface, properties);
Darin Petkov5c97ac52011-07-19 16:30:49 -070048}
49
50void DBusPropertiesProxy::Proxy::PropertiesChanged(
51 const string &interface,
Darin Petkove0a312e2011-07-20 13:45:28 -070052 const DBusPropertiesMap &changed_properties,
Darin Petkov5c97ac52011-07-19 16:30:49 -070053 const vector<string> &invalidated_properties) {
Ben Chanfad4a0b2012-04-18 15:49:59 -070054 SLOG(DBus, 2) << __func__ << "(" << interface << ")";
Jason Glasgow9c09e362012-04-18 15:16:29 -040055 properties_changed_callback_.Run(
Darin Petkovc5f56562011-08-06 16:40:05 -070056 interface, changed_properties, invalidated_properties);
Darin Petkov5c97ac52011-07-19 16:30:49 -070057}
58
Jason Glasgow9c09e362012-04-18 15:16:29 -040059void DBusPropertiesProxy::Proxy::set_properties_changed_callback(
60 const PropertiesChangedCallback &callback) {
61 properties_changed_callback_ = callback;
62}
63
64void DBusPropertiesProxy::Proxy::set_modem_manager_properties_changed_callback(
65 const ModemManagerPropertiesChangedCallback &callback) {
66 mm_properties_changed_callback_ = callback;
67}
68
Darin Petkov5c97ac52011-07-19 16:30:49 -070069} // namespace shill