blob: 014370d7f40cee7316b8a012c090c2162a547790 [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&));
mukesh agrawal7aed61c2013-04-22 16:01:24 -070057 MOCK_METHOD2(EmitStringsChanged,
58 void(const std::string&, const std::vector<std::string>&));
Chris Masonec6c6c132011-06-30 11:29:52 -070059
60 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +010061 const std::string rpc_id_;
Chris Masonec6c6c132011-06-30 11:29:52 -070062};
63
Chris Masoned7732e42011-05-20 11:08:56 -070064// These are the functions that a Manager adaptor must support
65class ManagerMockAdaptor : public ManagerAdaptorInterface {
66 public:
Chris Masone95207da2011-06-29 16:50:49 -070067 static const char kRpcId[];
68
69 ManagerMockAdaptor();
70 virtual ~ManagerMockAdaptor();
71 virtual const std::string &GetRpcIdentifier();
72
Chris Masoned7732e42011-05-20 11:08:56 -070073 MOCK_METHOD0(UpdateRunning, void(void));
Chris Masoned0ceb8c2011-06-02 10:05:39 -070074 MOCK_METHOD2(EmitBoolChanged, void(const std::string&, bool));
75 MOCK_METHOD2(EmitUintChanged, void(const std::string&, uint32));
76 MOCK_METHOD2(EmitIntChanged, void(const std::string&, int));
77 MOCK_METHOD2(EmitStringChanged, void(const std::string&, const std::string&));
Gaurav Shah435de2c2011-11-17 19:01:07 -080078 MOCK_METHOD2(EmitStringsChanged,
79 void(const std::string &, const std::vector<std::string> &));
Paul Stewart49739c02012-08-08 17:24:03 -070080 MOCK_METHOD2(EmitRpcIdentifierChanged,
81 void(const std::string &, const std::string &));
mukesh agrawal32399322011-09-01 10:53:43 -070082 MOCK_METHOD2(EmitRpcIdentifierArrayChanged,
83 void(const std::string &, const std::vector<std::string> &));
Chris Masoned0ceb8c2011-06-02 10:05:39 -070084
85 MOCK_METHOD1(EmitStateChanged, void(const std::string&));
Chris Masone95207da2011-06-29 16:50:49 -070086
87 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +010088 const std::string rpc_id_;
Chris Masoned7732e42011-05-20 11:08:56 -070089};
90
Chris Masonec6c6c132011-06-30 11:29:52 -070091// These are the functions that a Profile adaptor must support
92class ProfileMockAdaptor : public ProfileAdaptorInterface {
93 public:
94 static const char kRpcId[];
95
96 ProfileMockAdaptor();
97 virtual ~ProfileMockAdaptor();
98 virtual const std::string &GetRpcIdentifier();
99
100 MOCK_METHOD2(EmitBoolChanged, void(const std::string&, bool));
101 MOCK_METHOD2(EmitUintChanged, void(const std::string&, uint32));
102 MOCK_METHOD2(EmitIntChanged, void(const std::string&, int));
103 MOCK_METHOD2(EmitStringChanged, void(const std::string&, const std::string&));
104
105 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +0100106 const std::string rpc_id_;
107};
108
109// These are the functions that a Task adaptor must support
110class RPCTaskMockAdaptor : public RPCTaskAdaptorInterface {
111 public:
112 static const char kRpcId[];
113 static const char kRpcInterfaceId[];
114 static const char kRpcConnId[];
115
116 RPCTaskMockAdaptor();
117 virtual ~RPCTaskMockAdaptor();
118
119 virtual const std::string &GetRpcIdentifier();
120 virtual const std::string &GetRpcInterfaceIdentifier();
121 virtual const std::string &GetRpcConnectionIdentifier();
122
123 private:
124 const std::string rpc_id_;
125 const std::string rpc_interface_id_;
126 const std::string rpc_conn_id_;
Chris Masonec6c6c132011-06-30 11:29:52 -0700127};
128
Chris Masoned7732e42011-05-20 11:08:56 -0700129// These are the functions that a Service adaptor must support
130class ServiceMockAdaptor : public ServiceAdaptorInterface {
131 public:
Chris Masone95207da2011-06-29 16:50:49 -0700132 static const char kRpcId[];
133
134 ServiceMockAdaptor();
135 virtual ~ServiceMockAdaptor();
136 virtual const std::string &GetRpcIdentifier();
137
Darin Petkov9cb02682012-01-28 00:17:38 +0100138 MOCK_METHOD0(UpdateConnected, void());
139 MOCK_METHOD2(EmitBoolChanged, void(const std::string &name, bool value));
140 MOCK_METHOD2(EmitUint8Changed, void(const std::string &name, uint8 value));
mukesh agrawale1d90e92012-02-15 17:36:08 -0800141 MOCK_METHOD2(EmitUint16Changed, void(const std::string &name, uint16 value));
Darin Petkov9cb02682012-01-28 00:17:38 +0100142 MOCK_METHOD2(EmitUintChanged, void(const std::string &name, uint32 value));
143 MOCK_METHOD2(EmitIntChanged, void(const std::string &name, int value));
Paul Stewart1e3bc4962012-09-14 12:20:22 -0700144 MOCK_METHOD2(EmitRpcIdentifierChanged,
145 void(const std::string &name, const std::string &value));
Darin Petkov9cb02682012-01-28 00:17:38 +0100146 MOCK_METHOD2(EmitStringChanged,
147 void(const std::string &name, const std::string &value));
148 MOCK_METHOD2(EmitStringmapChanged,
149 void(const std::string &name, const Stringmap &value));
Chris Masone95207da2011-06-29 16:50:49 -0700150
151 private:
Darin Petkova9b1fed2012-02-29 11:49:05 +0100152 const std::string rpc_id_;
Chris Masoned7732e42011-05-20 11:08:56 -0700153};
154
Chris Masoned7732e42011-05-20 11:08:56 -0700155} // namespace shill
156#endif // SHILL_MOCK_ADAPTORS_