blob: 96f86d46111f77bebe7466931040b4632d1d0d14 [file] [log] [blame]
Darin Petkov096b3472012-05-15 10:26:22 +02001// 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_WIMAX_MANAGER_PROXY_INTERFACE_H_
6#define SHILL_WIMAX_MANAGER_PROXY_INTERFACE_H_
7
8#include <vector>
9
Darin Petkov9893d9c2012-05-17 15:27:31 -070010#include <base/callback.h>
11
Darin Petkov096b3472012-05-15 10:26:22 +020012#include "shill/accessor_interface.h"
13
14namespace shill {
15
16class Error;
17
18// These are the methods that a WiMaxManager proxy must support. The interface
19// is provided so that it can be mocked in tests.
20class WiMaxManagerProxyInterface {
21 public:
Darin Petkov9893d9c2012-05-17 15:27:31 -070022 typedef base::Callback<void(const RpcIdentifiers &)> DevicesChangedCallback;
23
Darin Petkov096b3472012-05-15 10:26:22 +020024 virtual ~WiMaxManagerProxyInterface() {}
25
Darin Petkov9893d9c2012-05-17 15:27:31 -070026 virtual void set_devices_changed_callback(
27 const DevicesChangedCallback &callback) = 0;
28
Darin Petkov096b3472012-05-15 10:26:22 +020029 // Properties.
Darin Petkov9893d9c2012-05-17 15:27:31 -070030 virtual RpcIdentifiers Devices(Error *error) = 0;
Darin Petkov096b3472012-05-15 10:26:22 +020031};
32
33} // namespace shill
34
35#endif // SHILL_WIMAX_MANAGER_PROXY_INTERFACE_H_