shill: Setup .Task RPC service for incoming VPN communication.

This will be used by OpenVPN, for example, to communicate back to shill
connection information (IP, DNS, etc.).

The RPC class model mostly follows the existing RPC adaptor classes (Manager,
Service, etc.).

Task is a bit overloaded and confusing in the context of shill so calling the
RPC object RPCTask instead. Also, the current intent is for this object to just
handle RPC service calls. Once the initial VPN implementation is in we may
decide to rename and refactor these objects.

BUG=chromium-os:26993
TEST=unit test

Change-Id: Ie294524b954c4a589c07ad285c7703cbbf9157d6
Reviewed-on: https://gerrit.chromium.org/gerrit/17047
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/mock_adaptors.cc b/mock_adaptors.cc
index 7634dfb..e94bb9e 100644
--- a/mock_adaptors.cc
+++ b/mock_adaptors.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Copyright (c) 2012 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.
 
@@ -6,6 +6,8 @@
 
 #include <string>
 
+using std::string;
+
 namespace shill {
 
 // static
@@ -14,53 +16,73 @@
 const char DeviceMockAdaptor::kRpcConnId[] = "/device-rpc-conn/";
 
 DeviceMockAdaptor::DeviceMockAdaptor()
-    : rpc_id(kRpcId),
-      rpc_conn_id(kRpcConnId) {
+    : rpc_id_(kRpcId),
+      rpc_conn_id_(kRpcConnId) {
 }
 
 DeviceMockAdaptor::~DeviceMockAdaptor() {}
 
-const std::string &DeviceMockAdaptor::GetRpcIdentifier() { return rpc_id; }
+const string &DeviceMockAdaptor::GetRpcIdentifier() { return rpc_id_; }
 
-const std::string &DeviceMockAdaptor::GetRpcConnectionIdentifier() {
-  return rpc_conn_id;
+const string &DeviceMockAdaptor::GetRpcConnectionIdentifier() {
+  return rpc_conn_id_;
 }
 
 // static
 const char IPConfigMockAdaptor::kRpcId[] = "/ipconfig-rpc/";
 
-IPConfigMockAdaptor::IPConfigMockAdaptor() : rpc_id(kRpcId) {}
+IPConfigMockAdaptor::IPConfigMockAdaptor() : rpc_id_(kRpcId) {}
 
 IPConfigMockAdaptor::~IPConfigMockAdaptor() {}
 
-const std::string &IPConfigMockAdaptor::GetRpcIdentifier() { return rpc_id; }
+const string &IPConfigMockAdaptor::GetRpcIdentifier() { return rpc_id_; }
 
 // static
 const char ManagerMockAdaptor::kRpcId[] = "/manager-rpc/";
 
-ManagerMockAdaptor::ManagerMockAdaptor() : rpc_id(kRpcId) {}
+ManagerMockAdaptor::ManagerMockAdaptor() : rpc_id_(kRpcId) {}
 
 ManagerMockAdaptor::~ManagerMockAdaptor() {}
 
-const std::string &ManagerMockAdaptor::GetRpcIdentifier() { return rpc_id; }
+const string &ManagerMockAdaptor::GetRpcIdentifier() { return rpc_id_; }
 
 // static
 const char ProfileMockAdaptor::kRpcId[] = "/profile-rpc/";
 
-ProfileMockAdaptor::ProfileMockAdaptor() : rpc_id(kRpcId) {}
+ProfileMockAdaptor::ProfileMockAdaptor() : rpc_id_(kRpcId) {}
 
 ProfileMockAdaptor::~ProfileMockAdaptor() {}
 
-const std::string &ProfileMockAdaptor::GetRpcIdentifier() { return rpc_id; }
+const string &ProfileMockAdaptor::GetRpcIdentifier() { return rpc_id_; }
+
+// static
+const char RPCTaskMockAdaptor::kRpcId[] = "/rpc-task-rpc/";
+const char RPCTaskMockAdaptor::kRpcInterfaceId[] = "rpc.task";
+const char RPCTaskMockAdaptor::kRpcConnId[] = "/rpc-task-rpc-conn/";
+
+RPCTaskMockAdaptor::RPCTaskMockAdaptor()
+    : rpc_id_(kRpcId),
+      rpc_interface_id_(kRpcInterfaceId),
+      rpc_conn_id_(kRpcConnId) {}
+
+RPCTaskMockAdaptor::~RPCTaskMockAdaptor() {}
+
+const string &RPCTaskMockAdaptor::GetRpcIdentifier() { return rpc_id_; }
+const string &RPCTaskMockAdaptor::GetRpcInterfaceIdentifier() {
+  return rpc_interface_id_;
+}
+const string &RPCTaskMockAdaptor::GetRpcConnectionIdentifier() {
+  return rpc_conn_id_;
+}
 
 // static
 const char ServiceMockAdaptor::kRpcId[] = "/service-rpc/";
 
-ServiceMockAdaptor::ServiceMockAdaptor() : rpc_id(kRpcId) {}
+ServiceMockAdaptor::ServiceMockAdaptor() : rpc_id_(kRpcId) {}
 
 ServiceMockAdaptor::~ServiceMockAdaptor() {}
 
-const std::string &ServiceMockAdaptor::GetRpcIdentifier() { return rpc_id; }
+const string &ServiceMockAdaptor::GetRpcIdentifier() { return rpc_id_; }
 
 MockReturner::MockReturner() {}