blob: c62469db23e7b5d561317efcddc89801ad744b5e [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
Darin Petkovd1cd7972012-05-22 15:26:15 +020017// Generally, a string representation of a Network's Identifier. We may group
18// several different network identifiers into a single representative
19// WiMaxNetworkId, if necessary.
20typedef std::string WiMaxNetworkId;
21
Darin Petkov9893d9c2012-05-17 15:27:31 -070022class Error;
23
24// These are the methods that a WiMaxManager.Network proxy must support. The
25// interface is provided so that it can be mocked in tests.
26class WiMaxNetworkProxyInterface {
27 public:
Darin Petkov1e52a1b2012-05-21 10:35:56 +020028 typedef base::Callback<void(int)> SignalStrengthChangedCallback;
29
Darin Petkov9893d9c2012-05-17 15:27:31 -070030 virtual ~WiMaxNetworkProxyInterface() {}
31
Darin Petkov1e52a1b2012-05-21 10:35:56 +020032 virtual RpcIdentifier path() const = 0;
33
34 virtual void set_signal_strength_changed_callback(
35 const SignalStrengthChangedCallback &callback) = 0;
Ben Chan4e5c1312012-05-18 18:45:38 -070036
Darin Petkov9893d9c2012-05-17 15:27:31 -070037 // Properties.
38 virtual uint32 Identifier(Error *error) = 0;
39 virtual std::string Name(Error *error) = 0;
40 virtual int Type(Error *error) = 0;
41 virtual int CINR(Error *error) = 0;
42 virtual int RSSI(Error *error) = 0;
Ben Chanac6e8362012-05-20 00:39:58 -070043 virtual int SignalStrength(Error *error) = 0;
Darin Petkov9893d9c2012-05-17 15:27:31 -070044};
45
46} // namespace shill
47
48#endif // SHILL_WIMAX_NETWORK_PROXY_INTERFACE_H_