shill: implement Manager.GetService (error-case only)

BUG=chromium-os:20254
TEST=unittests, WiFiManager/000_SSID_Length_Limit

this gives us enough to pass the autotest for
network_WiFiManager/000_SSID_Length_Limit.

Change-Id: Ib0305e707d2203327d846be3e0b206033d6a884a
Reviewed-on: http://gerrit.chromium.org/gerrit/7567
Commit-Ready: mukesh agrawal <quiche@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
diff --git a/mock_wifi.h b/mock_wifi.h
new file mode 100644
index 0000000..9dc8430
--- /dev/null
+++ b/mock_wifi.h
@@ -0,0 +1,46 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SHILL_MOCK_WIFI_
+#define SHILL_MOCK_WIFI_
+
+#include <string>
+
+#include <base/memory/ref_counted.h>
+#include <gmock/gmock.h>
+
+#include "shill/key_value_store.h"
+#include "shill/refptr_types.h"
+#include "shill/wifi.h"
+#include "shill/wifi_service.h"
+
+namespace shill {
+
+class ControlInterface;
+class Error;
+class EventDispatcher;
+
+class MockWiFi : public WiFi {
+ public:
+  MockWiFi(ControlInterface *control_interface,
+           EventDispatcher *dispatcher,
+           Manager *manager,
+           const std::string &link_name,
+           const std::string &address,
+           int interface_index);
+  virtual ~MockWiFi();
+
+  MOCK_METHOD0(Start, void());
+  MOCK_METHOD0(Stop, void());
+  MOCK_METHOD1(Scan, void(Error *error));
+  MOCK_METHOD2(GetService,
+               WiFiServiceRefPtr(const KeyValueStore &args, Error *error));
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(MockWiFi);
+};
+
+}  // namespace shill
+
+#endif  // SHILL_MOCK_WIFI_