diff options
author | Darin Petkov <petkov@chromium.org> | 2011-07-19 16:30:49 -0700 |
---|---|---|
committer | Darin Petkov <petkov@chromium.org> | 2011-07-20 13:37:27 -0700 |
commit | 5c97ac5100dca5e710a25f10a04417e66c2dfc12 (patch) | |
tree | 0f46945be0e0298ac716250440922ab98d4c4a29 /dbus_properties_proxy.h | |
parent | 4a09b6bba1bf564e4f2624afbaad24d121a4e291 (diff) | |
download | shill-5c97ac5100dca5e710a25f10a04417e66c2dfc12.tar.gz |
shill: Create Modem instances for ModemManager.Modem paths.
Each Modem instance will manage a single ModemManager.Modem and a single
Cellular device.
BUG=chromium-os:17818
TEST=unit tests, tested on device
Change-Id: I4798224f0bc824bd6d1177e6a6b89f65ca4725ba
Reviewed-on: http://gerrit.chromium.org/gerrit/4356
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
Diffstat (limited to 'dbus_properties_proxy.h')
-rw-r--r-- | dbus_properties_proxy.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/dbus_properties_proxy.h b/dbus_properties_proxy.h new file mode 100644 index 00000000..7b4efb9a --- /dev/null +++ b/dbus_properties_proxy.h @@ -0,0 +1,62 @@ +// Copyright (c) 2011 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SHILL_DBUS_PROPERTIES_PROXY_ +#define SHILL_DBUS_PROPERTIES_PROXY_ + +#include <base/basictypes.h> + +#include "shill/dbus_bindings/dbus-properties.h" +#include "shill/dbus_properties_proxy_interface.h" + +namespace shill { + +class Modem; + +class DBusPropertiesProxy : public DBusPropertiesProxyInterface { + public: + DBusPropertiesProxy(DBus::Connection *connection, + Modem *modem, + const std::string &path, + const std::string &service); + virtual ~DBusPropertiesProxy(); + + // Inherited from DBusPropertiesProxyInterface. + virtual std::map<std::string, DBus::Variant> GetAll( + const std::string &interface_name); + + private: + class Proxy : public org::freedesktop::DBus::Properties_proxy, + public DBus::ObjectProxy { + public: + Proxy(DBus::Connection *connection, + Modem *modem, + const std::string &path, + const std::string &service); + virtual ~Proxy(); + + private: + // Signal callbacks inherited from DBusProperties_proxy. + virtual void MmPropertiesChanged( + const std::string &interface, + const std::map<std::string, DBus::Variant> &properties); + + virtual void PropertiesChanged( + const std::string &interface, + const std::map<std::string, DBus::Variant> &changed_properties, + const std::vector<std::string> &invalidated_properties); + + Modem *modem_; + + DISALLOW_COPY_AND_ASSIGN(Proxy); + }; + + Proxy proxy_; + + DISALLOW_COPY_AND_ASSIGN(DBusPropertiesProxy); +}; + +} // namespace shill + +#endif // SHILL_DBUS_PROPERTIES_PROXY_ |