blob: 9654c3e1a1c6641601368b011e7a39641a395b9f [file] [log] [blame]
// 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_MODEM_PROXY_INTERFACE_
#define SHILL_MODEM_PROXY_INTERFACE_
#include <string>
#include <dbus-c++/types.h>
namespace shill {
// These are the methods that a ModemManager.Modem proxy must support. The
// interface is provided so that it can be mocked in tests.
class ModemProxyInterface {
public:
typedef DBus::Struct<std::string, std::string, std::string> Info;
virtual ~ModemProxyInterface() {}
virtual void Enable(const bool enable) = 0;
virtual Info GetInfo() = 0;
};
// ModemManager.Modem signal delegate to be associated with the proxy.
class ModemProxyDelegate {
public:
virtual ~ModemProxyDelegate() {}
virtual void OnModemStateChanged(uint32 old_state,
uint32 new_state,
uint32 reason) = 0;
};
} // namespace shill
#endif // SHILL_MODEM_PROXY_INTERFACE_