blob: 0fda580fa3305fccdaef875fbcd196d7bf1a623a [file] [log] [blame]
Darin Petkovd78ee7e2012-01-12 11:21:10 +01001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Chris Masoned7732e42011-05-20 11:08:56 -07002// 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_MOCK_ADAPTORS_
6#define SHILL_MOCK_ADAPTORS_
7
8#include <string>
9
10#include <gmock/gmock.h>
11
12#include "shill/adaptor_interfaces.h"
Darin Petkove5bc2cb2011-12-07 14:47:32 +010013#include "shill/error.h"
Chris Masoned7732e42011-05-20 11:08:56 -070014
15namespace shill {
16
Chris Masonec6c6c132011-06-30 11:29:52 -070017// These are the functions that a Device adaptor must support
18class DeviceMockAdaptor : public DeviceAdaptorInterface {
19 public:
20 static const char kRpcId[];
Chris Masone4e851612011-07-01 10:46:53 -070021 static const char kRpcConnId[];
Chris Masonec6c6c132011-06-30 11:29:52 -070022
23 DeviceMockAdaptor();
24 virtual ~DeviceMockAdaptor();
25 virtual const std::string &GetRpcIdentifier();
Chris Masone4e851612011-07-01 10:46:53 -070026 virtual const std::string &GetRpcConnectionIdentifier();
Chris Masonec6c6c132011-06-30 11:29:52 -070027
Darin Petkov63138a92012-02-06 14:09:15 +010028 MOCK_METHOD0(UpdateEnabled, void());
29 MOCK_METHOD2(EmitBoolChanged, void(const std::string &name, bool value));
30 MOCK_METHOD2(EmitUintChanged, void(const std::string &name, uint32 value));
31 MOCK_METHOD2(EmitIntChanged, void(const std::string &name, int value));
32 MOCK_METHOD2(EmitStringChanged, void(const std::string &name,
33 const std::string &value));
34 MOCK_METHOD2(EmitStringmapsChanged, void(const std::string &name,
35 const Stringmaps &value));
36 MOCK_METHOD2(EmitKeyValueStoreChanged, void(const std::string &name,
37 const KeyValueStore &value));
Chris Masonec6c6c132011-06-30 11:29:52 -070038
39 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +010040 const std::string rpc_id_;
41 const std::string rpc_conn_id_;
Chris Masonec6c6c132011-06-30 11:29:52 -070042};
43
44// These are the functions that a IPConfig adaptor must support
45class IPConfigMockAdaptor : public IPConfigAdaptorInterface {
46 public:
47 static const char kRpcId[];
48
49 IPConfigMockAdaptor();
50 virtual ~IPConfigMockAdaptor();
51 virtual const std::string &GetRpcIdentifier();
52
53 MOCK_METHOD2(EmitBoolChanged, void(const std::string&, bool));
54 MOCK_METHOD2(EmitUintChanged, void(const std::string&, uint32));
55 MOCK_METHOD2(EmitIntChanged, void(const std::string&, int));
56 MOCK_METHOD2(EmitStringChanged, void(const std::string&, const std::string&));
57
58 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +010059 const std::string rpc_id_;
Chris Masonec6c6c132011-06-30 11:29:52 -070060};
61
Chris Masoned7732e42011-05-20 11:08:56 -070062// These are the functions that a Manager adaptor must support
63class ManagerMockAdaptor : public ManagerAdaptorInterface {
64 public:
Chris Masone95207da2011-06-29 16:50:49 -070065 static const char kRpcId[];
66
67 ManagerMockAdaptor();
68 virtual ~ManagerMockAdaptor();
69 virtual const std::string &GetRpcIdentifier();
70
Chris Masoned7732e42011-05-20 11:08:56 -070071 MOCK_METHOD0(UpdateRunning, void(void));
Chris Masoned0ceb8c2011-06-02 10:05:39 -070072 MOCK_METHOD2(EmitBoolChanged, void(const std::string&, bool));
73 MOCK_METHOD2(EmitUintChanged, void(const std::string&, uint32));
74 MOCK_METHOD2(EmitIntChanged, void(const std::string&, int));
75 MOCK_METHOD2(EmitStringChanged, void(const std::string&, const std::string&));
Gaurav Shah435de2c2011-11-17 19:01:07 -080076 MOCK_METHOD2(EmitStringsChanged,
77 void(const std::string &, const std::vector<std::string> &));
mukesh agrawal32399322011-09-01 10:53:43 -070078 MOCK_METHOD2(EmitRpcIdentifierArrayChanged,
79 void(const std::string &, const std::vector<std::string> &));
Chris Masoned0ceb8c2011-06-02 10:05:39 -070080
81 MOCK_METHOD1(EmitStateChanged, void(const std::string&));
Chris Masone95207da2011-06-29 16:50:49 -070082
83 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +010084 const std::string rpc_id_;
Chris Masoned7732e42011-05-20 11:08:56 -070085};
86
Chris Masonec6c6c132011-06-30 11:29:52 -070087// These are the functions that a Profile adaptor must support
88class ProfileMockAdaptor : public ProfileAdaptorInterface {
89 public:
90 static const char kRpcId[];
91
92 ProfileMockAdaptor();
93 virtual ~ProfileMockAdaptor();
94 virtual const std::string &GetRpcIdentifier();
95
96 MOCK_METHOD2(EmitBoolChanged, void(const std::string&, bool));
97 MOCK_METHOD2(EmitUintChanged, void(const std::string&, uint32));
98 MOCK_METHOD2(EmitIntChanged, void(const std::string&, int));
99 MOCK_METHOD2(EmitStringChanged, void(const std::string&, const std::string&));
100
101 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +0100102 const std::string rpc_id_;
103};
104
105// These are the functions that a Task adaptor must support
106class RPCTaskMockAdaptor : public RPCTaskAdaptorInterface {
107 public:
108 static const char kRpcId[];
109 static const char kRpcInterfaceId[];
110 static const char kRpcConnId[];
111
112 RPCTaskMockAdaptor();
113 virtual ~RPCTaskMockAdaptor();
114
115 virtual const std::string &GetRpcIdentifier();
116 virtual const std::string &GetRpcInterfaceIdentifier();
117 virtual const std::string &GetRpcConnectionIdentifier();
118
119 private:
120 const std::string rpc_id_;
121 const std::string rpc_interface_id_;
122 const std::string rpc_conn_id_;
Chris Masonec6c6c132011-06-30 11:29:52 -0700123};
124
Chris Masoned7732e42011-05-20 11:08:56 -0700125// These are the functions that a Service adaptor must support
126class ServiceMockAdaptor : public ServiceAdaptorInterface {
127 public:
Chris Masone95207da2011-06-29 16:50:49 -0700128 static const char kRpcId[];
129
130 ServiceMockAdaptor();
131 virtual ~ServiceMockAdaptor();
132 virtual const std::string &GetRpcIdentifier();
133
Darin Petkov9cb02682012-01-28 00:17:38 +0100134 MOCK_METHOD0(UpdateConnected, void());
135 MOCK_METHOD2(EmitBoolChanged, void(const std::string &name, bool value));
136 MOCK_METHOD2(EmitUint8Changed, void(const std::string &name, uint8 value));
mukesh agrawale1d90e92012-02-15 17:36:08 -0800137 MOCK_METHOD2(EmitUint16Changed, void(const std::string &name, uint16 value));
Darin Petkov9cb02682012-01-28 00:17:38 +0100138 MOCK_METHOD2(EmitUintChanged, void(const std::string &name, uint32 value));
139 MOCK_METHOD2(EmitIntChanged, void(const std::string &name, int value));
140 MOCK_METHOD2(EmitStringChanged,
141 void(const std::string &name, const std::string &value));
142 MOCK_METHOD2(EmitStringmapChanged,
143 void(const std::string &name, const Stringmap &value));
Chris Masone95207da2011-06-29 16:50:49 -0700144
145 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +0100146 const std::string rpc_id_;
Chris Masoned7732e42011-05-20 11:08:56 -0700147};
148
Chris Masoned7732e42011-05-20 11:08:56 -0700149} // namespace shill
150#endif // SHILL_MOCK_ADAPTORS_