mm1_modem_modem3gpp_proxy_interface.h revision 05d87e34869f44473edc1eec25d2fe1110d777a7
1// Copyright (c) 2012 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_CELLULAR_MM1_MODEM_MODEM3GPP_PROXY_INTERFACE_H_
6#define SHILL_CELLULAR_MM1_MODEM_MODEM3GPP_PROXY_INTERFACE_H_
7
8#include <string>
9
10#include "shill/callbacks.h"
11
12namespace shill {
13class Error;
14
15namespace mm1 {
16
17// These are the methods that a
18// org.freedesktop.ModemManager1.Modem.Modem3gpp proxy must support.
19// The interface is provided so that it can be mocked in tests.
20// All calls are made asynchronously. Call completion is signalled via
21// the callbacks passed to the methods.
22class ModemModem3gppProxyInterface {
23 public:
24  virtual ~ModemModem3gppProxyInterface() {}
25
26  virtual void Register(const std::string& operator_id,
27                        Error* error,
28                        const ResultCallback& callback,
29                        int timeout) = 0;
30  virtual void Scan(Error* error,
31                    const KeyValueStoresCallback& callback,
32                    int timeout) = 0;
33};
34
35}  // namespace mm1
36}  // namespace shill
37
38#endif  // SHILL_CELLULAR_MM1_MODEM_MODEM3GPP_PROXY_INTERFACE_H_
39