blob: 9536cb2aee7e6d482095a8ca614a624a37ae3cda [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
Hristo Stefanoved2c28c2011-11-29 15:37:30 -08008#include <string>
9
Darin Petkove604f702011-07-28 15:51:17 -070010#include <base/basictypes.h>
11
12#include "shill/dbus_bindings/modem-simple.h"
13#include "shill/modem_simple_proxy_interface.h"
14
15namespace shill {
16
17// A proxy to ModemManager.Modem.Simple.
18class ModemSimpleProxy : public ModemSimpleProxyInterface {
19 public:
20 ModemSimpleProxy(DBus::Connection *connection,
21 const std::string &path,
22 const std::string &service);
23 virtual ~ModemSimpleProxy();
24
25 // Inherited from ModemSimpleProxyInterface.
26 virtual DBusPropertiesMap GetStatus();
Darin Petkovc5f56562011-08-06 16:40:05 -070027 virtual void Connect(const DBusPropertiesMap &properties);
Darin Petkove604f702011-07-28 15:51:17 -070028
29 private:
30 class Proxy : public org::freedesktop::ModemManager::Modem::Simple_proxy,
31 public DBus::ObjectProxy {
32 public:
33 Proxy(DBus::Connection *connection,
34 const std::string &path,
35 const std::string &service);
36 virtual ~Proxy();
37
38 private:
39 DISALLOW_COPY_AND_ASSIGN(Proxy);
40 };
41
42 Proxy proxy_;
43
44 DISALLOW_COPY_AND_ASSIGN(ModemSimpleProxy);
45};
46
47} // namespace shill
48
49#endif // SHILL_MODEM_SIMPLE_PROXY_