OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chromeos/dbus/shill_manager_client.h" | 5 #include "chromeos/dbus/shill_manager_client.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/chromeos/chromeos_version.h" | 8 #include "base/chromeos/chromeos_version.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 } | 77 } |
78 | 78 |
79 virtual base::DictionaryValue* CallGetPropertiesAndBlock() OVERRIDE { | 79 virtual base::DictionaryValue* CallGetPropertiesAndBlock() OVERRIDE { |
80 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, | 80 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, |
81 flimflam::kGetPropertiesFunction); | 81 flimflam::kGetPropertiesFunction); |
82 return helper_.CallDictionaryValueMethodAndBlock(&method_call); | 82 return helper_.CallDictionaryValueMethodAndBlock(&method_call); |
83 } | 83 } |
84 | 84 |
85 virtual void SetProperty(const std::string& name, | 85 virtual void SetProperty(const std::string& name, |
86 const base::Value& value, | 86 const base::Value& value, |
87 const VoidDBusMethodCallback& callback) OVERRIDE { | 87 const base::Closure& callback, |
| 88 const ErrorCallback& error_callback) OVERRIDE { |
88 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, | 89 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, |
89 flimflam::kSetPropertyFunction); | 90 flimflam::kSetPropertyFunction); |
90 dbus::MessageWriter writer(&method_call); | 91 dbus::MessageWriter writer(&method_call); |
91 writer.AppendString(name); | 92 writer.AppendString(name); |
92 ShillClientHelper::AppendValueDataAsVariant(&writer, value); | 93 ShillClientHelper::AppendValueDataAsVariant(&writer, value); |
93 helper_.CallVoidMethod(&method_call, callback); | 94 helper_.CallVoidMethodWithErrorCallback(&method_call, |
| 95 callback, |
| 96 error_callback); |
94 } | 97 } |
95 | 98 |
96 virtual void RequestScan(const std::string& type, | 99 virtual void RequestScan(const std::string& type, |
97 const VoidDBusMethodCallback& callback) OVERRIDE { | 100 const base::Closure& callback, |
| 101 const ErrorCallback& error_callback) OVERRIDE { |
98 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, | 102 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, |
99 flimflam::kRequestScanFunction); | 103 flimflam::kRequestScanFunction); |
100 dbus::MessageWriter writer(&method_call); | 104 dbus::MessageWriter writer(&method_call); |
101 writer.AppendString(type); | 105 writer.AppendString(type); |
102 helper_.CallVoidMethod(&method_call, callback); | 106 helper_.CallVoidMethodWithErrorCallback(&method_call, |
| 107 callback, |
| 108 error_callback); |
103 } | 109 } |
104 | 110 |
105 virtual void EnableTechnology( | 111 virtual void EnableTechnology( |
106 const std::string& type, | 112 const std::string& type, |
107 const VoidDBusMethodCallback& callback) OVERRIDE { | 113 const base::Closure& callback, |
| 114 const ErrorCallback& error_callback) OVERRIDE { |
108 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, | 115 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, |
109 flimflam::kEnableTechnologyFunction); | 116 flimflam::kEnableTechnologyFunction); |
110 dbus::MessageWriter writer(&method_call); | 117 dbus::MessageWriter writer(&method_call); |
111 writer.AppendString(type); | 118 writer.AppendString(type); |
112 helper_.CallVoidMethod(&method_call, callback); | 119 helper_.CallVoidMethodWithErrorCallback(&method_call, |
| 120 callback, |
| 121 error_callback); |
113 } | 122 } |
114 | 123 |
115 virtual void DisableTechnology( | 124 virtual void DisableTechnology( |
116 const std::string& type, | 125 const std::string& type, |
117 const VoidDBusMethodCallback& callback) OVERRIDE { | 126 const base::Closure& callback, |
| 127 const ErrorCallback& error_callback) OVERRIDE { |
118 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, | 128 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, |
119 flimflam::kDisableTechnologyFunction); | 129 flimflam::kDisableTechnologyFunction); |
120 dbus::MessageWriter writer(&method_call); | 130 dbus::MessageWriter writer(&method_call); |
121 writer.AppendString(type); | 131 writer.AppendString(type); |
122 helper_.CallVoidMethod(&method_call, callback); | 132 helper_.CallVoidMethodWithErrorCallback(&method_call, |
| 133 callback, |
| 134 error_callback); |
123 } | 135 } |
124 | 136 |
125 virtual void ConfigureService( | 137 virtual void ConfigureService( |
126 const base::DictionaryValue& properties, | 138 const base::DictionaryValue& properties, |
127 const VoidDBusMethodCallback& callback) OVERRIDE { | 139 const base::Closure& callback, |
| 140 const ErrorCallback& error_callback) OVERRIDE { |
128 DCHECK(AreServicePropertiesValid(properties)); | 141 DCHECK(AreServicePropertiesValid(properties)); |
129 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, | 142 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, |
130 flimflam::kConfigureServiceFunction); | 143 flimflam::kConfigureServiceFunction); |
131 dbus::MessageWriter writer(&method_call); | 144 dbus::MessageWriter writer(&method_call); |
132 AppendServicePropertiesDictionary(&writer, properties); | 145 AppendServicePropertiesDictionary(&writer, properties); |
133 helper_.CallVoidMethod(&method_call, callback); | 146 helper_.CallVoidMethodWithErrorCallback(&method_call, |
| 147 callback, |
| 148 error_callback); |
134 } | 149 } |
135 | 150 |
136 virtual void GetService( | 151 virtual void GetService( |
137 const base::DictionaryValue& properties, | 152 const base::DictionaryValue& properties, |
138 const ObjectPathDBusMethodCallback& callback) OVERRIDE { | 153 const ObjectPathCallback& callback, |
| 154 const ErrorCallback& error_callback) OVERRIDE { |
139 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, | 155 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, |
140 flimflam::kGetServiceFunction); | 156 flimflam::kGetServiceFunction); |
141 dbus::MessageWriter writer(&method_call); | 157 dbus::MessageWriter writer(&method_call); |
142 AppendServicePropertiesDictionary(&writer, properties); | 158 AppendServicePropertiesDictionary(&writer, properties); |
143 helper_.CallObjectPathMethod(&method_call, callback); | 159 helper_.CallObjectPathMethodWithErrorCallback(&method_call, |
| 160 callback, |
| 161 error_callback); |
144 } | 162 } |
145 | 163 |
146 private: | 164 private: |
147 dbus::ObjectProxy* proxy_; | 165 dbus::ObjectProxy* proxy_; |
148 ShillClientHelper helper_; | 166 ShillClientHelper helper_; |
149 | 167 |
150 DISALLOW_COPY_AND_ASSIGN(ShillManagerClientImpl); | 168 DISALLOW_COPY_AND_ASSIGN(ShillManagerClientImpl); |
151 }; | 169 }; |
152 | 170 |
153 // A stub implementation of ShillManagerClient. | 171 // A stub implementation of ShillManagerClient. |
(...skipping 30 matching lines...) Expand all Loading... |
184 } | 202 } |
185 | 203 |
186 // ShillManagerClient override. | 204 // ShillManagerClient override. |
187 virtual base::DictionaryValue* CallGetPropertiesAndBlock() OVERRIDE { | 205 virtual base::DictionaryValue* CallGetPropertiesAndBlock() OVERRIDE { |
188 return new base::DictionaryValue; | 206 return new base::DictionaryValue; |
189 } | 207 } |
190 | 208 |
191 // ShillManagerClient override. | 209 // ShillManagerClient override. |
192 virtual void SetProperty(const std::string& name, | 210 virtual void SetProperty(const std::string& name, |
193 const base::Value& value, | 211 const base::Value& value, |
194 const VoidDBusMethodCallback& callback) OVERRIDE { | 212 const base::Closure& callback, |
| 213 const ErrorCallback& error_callback) OVERRIDE { |
195 stub_properties_.Set(name, value.DeepCopy()); | 214 stub_properties_.Set(name, value.DeepCopy()); |
196 MessageLoop::current()->PostTask(FROM_HERE, | 215 MessageLoop::current()->PostTask(FROM_HERE, callback); |
197 base::Bind(callback, | |
198 DBUS_METHOD_CALL_SUCCESS)); | |
199 } | 216 } |
200 | 217 |
201 // ShillManagerClient override. | 218 // ShillManagerClient override. |
202 virtual void RequestScan(const std::string& type, | 219 virtual void RequestScan(const std::string& type, |
203 const VoidDBusMethodCallback& callback) OVERRIDE { | 220 const base::Closure& callback, |
204 MessageLoop::current()->PostTask(FROM_HERE, | 221 const ErrorCallback& error_callback) OVERRIDE { |
205 base::Bind(callback, | 222 MessageLoop::current()->PostTask(FROM_HERE, callback); |
206 DBUS_METHOD_CALL_SUCCESS)); | |
207 } | 223 } |
208 | 224 |
209 // ShillManagerClient override. | 225 // ShillManagerClient override. |
210 virtual void EnableTechnology( | 226 virtual void EnableTechnology( |
211 const std::string& type, | 227 const std::string& type, |
212 const VoidDBusMethodCallback& callback) OVERRIDE { | 228 const base::Closure& callback, |
213 MessageLoop::current()->PostTask(FROM_HERE, | 229 const ErrorCallback& error_callback) OVERRIDE { |
214 base::Bind(callback, | 230 MessageLoop::current()->PostTask(FROM_HERE, callback); |
215 DBUS_METHOD_CALL_SUCCESS)); | |
216 } | 231 } |
217 | 232 |
218 // ShillManagerClient override. | 233 // ShillManagerClient override. |
219 virtual void DisableTechnology( | 234 virtual void DisableTechnology( |
220 const std::string& type, | 235 const std::string& type, |
221 const VoidDBusMethodCallback& callback) OVERRIDE { | 236 const base::Closure& callback, |
222 MessageLoop::current()->PostTask(FROM_HERE, | 237 const ErrorCallback& error_callback) OVERRIDE { |
223 base::Bind(callback, | 238 MessageLoop::current()->PostTask(FROM_HERE, callback); |
224 DBUS_METHOD_CALL_SUCCESS)); | |
225 } | 239 } |
226 | 240 |
227 // ShillManagerClient override. | 241 // ShillManagerClient override. |
228 virtual void ConfigureService( | 242 virtual void ConfigureService( |
229 const base::DictionaryValue& properties, | 243 const base::DictionaryValue& properties, |
230 const VoidDBusMethodCallback& callback) OVERRIDE { | 244 const base::Closure& callback, |
231 MessageLoop::current()->PostTask(FROM_HERE, | 245 const ErrorCallback& error_callback) OVERRIDE { |
232 base::Bind(callback, | 246 MessageLoop::current()->PostTask(FROM_HERE, callback); |
233 DBUS_METHOD_CALL_SUCCESS)); | |
234 } | 247 } |
235 | 248 |
236 // ShillManagerClient override. | 249 // ShillManagerClient override. |
237 virtual void GetService( | 250 virtual void GetService( |
238 const base::DictionaryValue& properties, | 251 const base::DictionaryValue& properties, |
239 const ObjectPathDBusMethodCallback& callback) OVERRIDE { | 252 const ObjectPathCallback& callback, |
| 253 const ErrorCallback& error_callback) OVERRIDE { |
240 MessageLoop::current()->PostTask(FROM_HERE, | 254 MessageLoop::current()->PostTask(FROM_HERE, |
241 base::Bind(callback, | 255 base::Bind(callback, |
242 DBUS_METHOD_CALL_SUCCESS, | |
243 dbus::ObjectPath())); | 256 dbus::ObjectPath())); |
244 } | 257 } |
245 | 258 |
246 private: | 259 private: |
247 void PassStubProperties(const DictionaryValueCallback& callback) const { | 260 void PassStubProperties(const DictionaryValueCallback& callback) const { |
248 callback.Run(DBUS_METHOD_CALL_SUCCESS, stub_properties_); | 261 callback.Run(DBUS_METHOD_CALL_SUCCESS, stub_properties_); |
249 } | 262 } |
250 | 263 |
251 base::DictionaryValue stub_properties_; | 264 base::DictionaryValue stub_properties_; |
252 | 265 |
(...skipping 14 matching lines...) Expand all Loading... |
267 ShillManagerClient* ShillManagerClient::Create( | 280 ShillManagerClient* ShillManagerClient::Create( |
268 DBusClientImplementationType type, | 281 DBusClientImplementationType type, |
269 dbus::Bus* bus) { | 282 dbus::Bus* bus) { |
270 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) | 283 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) |
271 return new ShillManagerClientImpl(bus); | 284 return new ShillManagerClientImpl(bus); |
272 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); | 285 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); |
273 return new ShillManagerClientStubImpl(); | 286 return new ShillManagerClientStubImpl(); |
274 } | 287 } |
275 | 288 |
276 } // namespace chromeos | 289 } // namespace chromeos |
OLD | NEW |