blob: 2216051b5e6662e9bf770f4ae77f27bd7b39ce99 [file] [log] [blame]
Darin Petkov9893d9c2012-05-17 15:27:31 -07001// 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
Ben Chan4e5c1312012-05-18 18:45:38 -07005#ifndef SHILL_WIMAX_NETWORK_PROXY_INTERFACE_H_
6#define SHILL_WIMAX_NETWORK_PROXY_INTERFACE_H_
Darin Petkov9893d9c2012-05-17 15:27:31 -07007
8#include <string>
9
10#include <base/basictypes.h>
Darin Petkov1e52a1b2012-05-21 10:35:56 +020011#include <base/callback_forward.h>
12
13#include "shill/accessor_interface.h"
Darin Petkov9893d9c2012-05-17 15:27:31 -070014
15namespace shill {
16
17class Error;
18
19// These are the methods that a WiMaxManager.Network proxy must support. The
20// interface is provided so that it can be mocked in tests.
21class WiMaxNetworkProxyInterface {
22 public:
Darin Petkov1e52a1b2012-05-21 10:35:56 +020023 typedef base::Callback<void(int)> SignalStrengthChangedCallback;
24
Darin Petkov9893d9c2012-05-17 15:27:31 -070025 virtual ~WiMaxNetworkProxyInterface() {}
26
Darin Petkov1e52a1b2012-05-21 10:35:56 +020027 virtual RpcIdentifier path() const = 0;
28
29 virtual void set_signal_strength_changed_callback(
30 const SignalStrengthChangedCallback &callback) = 0;
Ben Chan4e5c1312012-05-18 18:45:38 -070031
Darin Petkov9893d9c2012-05-17 15:27:31 -070032 // Properties.
33 virtual uint32 Identifier(Error *error) = 0;
34 virtual std::string Name(Error *error) = 0;
35 virtual int Type(Error *error) = 0;
36 virtual int CINR(Error *error) = 0;
37 virtual int RSSI(Error *error) = 0;
Ben Chanac6e8362012-05-20 00:39:58 -070038 virtual int SignalStrength(Error *error) = 0;
Darin Petkov9893d9c2012-05-17 15:27:31 -070039};
40
41} // namespace shill
42
43#endif // SHILL_WIMAX_NETWORK_PROXY_INTERFACE_H_