blob: 9d62eaddaba82cb2a25344378e6749a727da3200 [file] [log] [blame]
Darin Petkove604f702011-07-28 15:51:17 -07001// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SHILL_MODEM_SIMPLE_PROXY_
6#define SHILL_MODEM_SIMPLE_PROXY_
7
8#include <base/basictypes.h>
9
10#include "shill/dbus_bindings/modem-simple.h"
11#include "shill/modem_simple_proxy_interface.h"
12
13namespace shill {
14
15// A proxy to ModemManager.Modem.Simple.
16class ModemSimpleProxy : public ModemSimpleProxyInterface {
17 public:
18 ModemSimpleProxy(DBus::Connection *connection,
19 const std::string &path,
20 const std::string &service);
21 virtual ~ModemSimpleProxy();
22
23 // Inherited from ModemSimpleProxyInterface.
24 virtual DBusPropertiesMap GetStatus();
Darin Petkovc5f56562011-08-06 16:40:05 -070025 virtual void Connect(const DBusPropertiesMap &properties);
Darin Petkove604f702011-07-28 15:51:17 -070026
27 private:
28 class Proxy : public org::freedesktop::ModemManager::Modem::Simple_proxy,
29 public DBus::ObjectProxy {
30 public:
31 Proxy(DBus::Connection *connection,
32 const std::string &path,
33 const std::string &service);
34 virtual ~Proxy();
35
36 private:
37 DISALLOW_COPY_AND_ASSIGN(Proxy);
38 };
39
40 Proxy proxy_;
41
42 DISALLOW_COPY_AND_ASSIGN(ModemSimpleProxy);
43};
44
45} // namespace shill
46
47#endif // SHILL_MODEM_SIMPLE_PROXY_