shill: wimax: Start a WiMaxProvider class.
The class is a peer of DeviceInfo/ModemInfo/VPNProvider in the
Manager. It communicates with the WiMaxManager RPC service. It will
instantiate WiMax device objects that will communicate with
WiMaxManager.Device RPC objects.
BUG=chrome-os-partner:9700
TEST=unit tests
Change-Id: I003f0ff3e67ee527137fb11f56a6e57d9c2589bf
Reviewed-on: https://gerrit.chromium.org/gerrit/22700
Commit-Ready: Darin Petkov <petkov@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/wimax.h b/wimax.h
index 8fe2d6c..d015830 100644
--- a/wimax.h
+++ b/wimax.h
@@ -5,10 +5,15 @@
#ifndef SHILL_WIMAX_H_
#define SHILL_WIMAX_H_
+#include <gtest/gtest_prod.h> // for FRIEND_TEST
+
#include "shill/device.h"
namespace shill {
+class ProxyFactory;
+class WiMaxDeviceProxyInterface;
+
class WiMax : public Device {
public:
WiMax(ControlInterface *control,
@@ -16,7 +21,8 @@
Metrics *metrics,
Manager *manager,
const std::string &link_name,
- int interface_index);
+ int interface_index,
+ const RpcIdentifier &path);
virtual ~WiMax();
@@ -28,7 +34,18 @@
virtual void Connect(Error *error);
virtual void Disconnect(Error *error);
+ const RpcIdentifier &path() const { return path_; }
+
private:
+ friend class WiMaxTest;
+ FRIEND_TEST(WiMaxTest, StartStop);
+
+ const RpcIdentifier path_;
+
+ scoped_ptr<WiMaxDeviceProxyInterface> proxy_;
+
+ ProxyFactory *proxy_factory_;
+
DISALLOW_COPY_AND_ASSIGN(WiMax);
};