blob: a301a71767366af7e249aa5575e3955cfcb8ed8a [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_METHOD2(EmitBoolChanged, void(const std::string &name, bool value));
29 MOCK_METHOD2(EmitUintChanged, void(const std::string &name, uint32 value));
Prathmesh Prabhu700ff4d2014-01-16 15:59:33 -080030 MOCK_METHOD2(EmitUint16Changed, void(const std::string &name, uint16 value));
Darin Petkov63138a92012-02-06 14:09:15 +010031 MOCK_METHOD2(EmitIntChanged, void(const std::string &name, int value));
32 MOCK_METHOD2(EmitStringChanged, void(const std::string &name,
33 const std::string &value));
Prathmesh Prabhu9f06c872013-11-21 14:08:23 -080034 MOCK_METHOD2(EmitStringmapChanged, void(const std::string &name,
35 const Stringmap &value));
Darin Petkov63138a92012-02-06 14:09:15 +010036 MOCK_METHOD2(EmitStringmapsChanged, void(const std::string &name,
37 const Stringmaps &value));
Prathmesh Prabhu700ff4d2014-01-16 15:59:33 -080038 MOCK_METHOD2(EmitStringsChanged, void(const std::string &name,
39 const Strings &value));
Darin Petkov63138a92012-02-06 14:09:15 +010040 MOCK_METHOD2(EmitKeyValueStoreChanged, void(const std::string &name,
41 const KeyValueStore &value));
Paul Stewartd4f26482014-04-25 19:12:03 -070042 MOCK_METHOD2(EmitRpcIdentifierArrayChanged,
43 void(const std::string &name,
44 const std::vector<std::string> &value));
Chris Masonec6c6c132011-06-30 11:29:52 -070045
46 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +010047 const std::string rpc_id_;
48 const std::string rpc_conn_id_;
Chris Masonec6c6c132011-06-30 11:29:52 -070049};
50
51// These are the functions that a IPConfig adaptor must support
52class IPConfigMockAdaptor : public IPConfigAdaptorInterface {
53 public:
54 static const char kRpcId[];
55
56 IPConfigMockAdaptor();
57 virtual ~IPConfigMockAdaptor();
58 virtual const std::string &GetRpcIdentifier();
59
60 MOCK_METHOD2(EmitBoolChanged, void(const std::string&, bool));
61 MOCK_METHOD2(EmitUintChanged, void(const std::string&, uint32));
62 MOCK_METHOD2(EmitIntChanged, void(const std::string&, int));
63 MOCK_METHOD2(EmitStringChanged, void(const std::string&, const std::string&));
mukesh agrawal7aed61c2013-04-22 16:01:24 -070064 MOCK_METHOD2(EmitStringsChanged,
65 void(const std::string&, const std::vector<std::string>&));
Chris Masonec6c6c132011-06-30 11:29:52 -070066
67 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +010068 const std::string rpc_id_;
Chris Masonec6c6c132011-06-30 11:29:52 -070069};
70
Chris Masoned7732e42011-05-20 11:08:56 -070071// These are the functions that a Manager adaptor must support
72class ManagerMockAdaptor : public ManagerAdaptorInterface {
73 public:
Chris Masone95207da2011-06-29 16:50:49 -070074 static const char kRpcId[];
75
76 ManagerMockAdaptor();
77 virtual ~ManagerMockAdaptor();
78 virtual const std::string &GetRpcIdentifier();
79
Chris Masoned7732e42011-05-20 11:08:56 -070080 MOCK_METHOD0(UpdateRunning, void(void));
Chris Masoned0ceb8c2011-06-02 10:05:39 -070081 MOCK_METHOD2(EmitBoolChanged, void(const std::string&, bool));
82 MOCK_METHOD2(EmitUintChanged, void(const std::string&, uint32));
83 MOCK_METHOD2(EmitIntChanged, void(const std::string&, int));
84 MOCK_METHOD2(EmitStringChanged, void(const std::string&, const std::string&));
Gaurav Shah435de2c2011-11-17 19:01:07 -080085 MOCK_METHOD2(EmitStringsChanged,
86 void(const std::string &, const std::vector<std::string> &));
Paul Stewart49739c02012-08-08 17:24:03 -070087 MOCK_METHOD2(EmitRpcIdentifierChanged,
88 void(const std::string &, const std::string &));
mukesh agrawal32399322011-09-01 10:53:43 -070089 MOCK_METHOD2(EmitRpcIdentifierArrayChanged,
90 void(const std::string &, const std::vector<std::string> &));
Chris Masoned0ceb8c2011-06-02 10:05:39 -070091
92 MOCK_METHOD1(EmitStateChanged, void(const std::string&));
Chris Masone95207da2011-06-29 16:50:49 -070093
94 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +010095 const std::string rpc_id_;
Chris Masoned7732e42011-05-20 11:08:56 -070096};
97
Chris Masonec6c6c132011-06-30 11:29:52 -070098// These are the functions that a Profile adaptor must support
99class ProfileMockAdaptor : public ProfileAdaptorInterface {
100 public:
101 static const char kRpcId[];
102
103 ProfileMockAdaptor();
104 virtual ~ProfileMockAdaptor();
105 virtual const std::string &GetRpcIdentifier();
106
107 MOCK_METHOD2(EmitBoolChanged, void(const std::string&, bool));
108 MOCK_METHOD2(EmitUintChanged, void(const std::string&, uint32));
109 MOCK_METHOD2(EmitIntChanged, void(const std::string&, int));
110 MOCK_METHOD2(EmitStringChanged, void(const std::string&, const std::string&));
111
112 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +0100113 const std::string rpc_id_;
114};
115
116// These are the functions that a Task adaptor must support
117class RPCTaskMockAdaptor : public RPCTaskAdaptorInterface {
118 public:
119 static const char kRpcId[];
120 static const char kRpcInterfaceId[];
121 static const char kRpcConnId[];
122
123 RPCTaskMockAdaptor();
124 virtual ~RPCTaskMockAdaptor();
125
126 virtual const std::string &GetRpcIdentifier();
127 virtual const std::string &GetRpcInterfaceIdentifier();
128 virtual const std::string &GetRpcConnectionIdentifier();
129
130 private:
131 const std::string rpc_id_;
132 const std::string rpc_interface_id_;
133 const std::string rpc_conn_id_;
Chris Masonec6c6c132011-06-30 11:29:52 -0700134};
135
Chris Masoned7732e42011-05-20 11:08:56 -0700136// These are the functions that a Service adaptor must support
137class ServiceMockAdaptor : public ServiceAdaptorInterface {
138 public:
Chris Masone95207da2011-06-29 16:50:49 -0700139 static const char kRpcId[];
140
141 ServiceMockAdaptor();
142 virtual ~ServiceMockAdaptor();
143 virtual const std::string &GetRpcIdentifier();
144
Darin Petkov9cb02682012-01-28 00:17:38 +0100145 MOCK_METHOD0(UpdateConnected, void());
146 MOCK_METHOD2(EmitBoolChanged, void(const std::string &name, bool value));
147 MOCK_METHOD2(EmitUint8Changed, void(const std::string &name, uint8 value));
mukesh agrawale1d90e92012-02-15 17:36:08 -0800148 MOCK_METHOD2(EmitUint16Changed, void(const std::string &name, uint16 value));
mukesh agrawale7c7e652013-06-18 17:19:39 -0700149 MOCK_METHOD2(EmitUint16sChanged, void(const std::string &name,
150 const Uint16s &value));
Darin Petkov9cb02682012-01-28 00:17:38 +0100151 MOCK_METHOD2(EmitUintChanged, void(const std::string &name, uint32 value));
152 MOCK_METHOD2(EmitIntChanged, void(const std::string &name, int value));
Paul Stewart1e3bc4962012-09-14 12:20:22 -0700153 MOCK_METHOD2(EmitRpcIdentifierChanged,
154 void(const std::string &name, const std::string &value));
Darin Petkov9cb02682012-01-28 00:17:38 +0100155 MOCK_METHOD2(EmitStringChanged,
156 void(const std::string &name, const std::string &value));
157 MOCK_METHOD2(EmitStringmapChanged,
158 void(const std::string &name, const Stringmap &value));
Chris Masone95207da2011-06-29 16:50:49 -0700159
160 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +0100161 const std::string rpc_id_;
Chris Masoned7732e42011-05-20 11:08:56 -0700162};
163
Chris Masoned7732e42011-05-20 11:08:56 -0700164} // namespace shill
165#endif // SHILL_MOCK_ADAPTORS_