Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: chromeos/dbus/shill_manager_client.cc

Issue 10949030: This converts the Shill clients to allow propagation of shill errors (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Review changes Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 } 74 }
75 75
76 virtual base::DictionaryValue* CallGetPropertiesAndBlock() OVERRIDE { 76 virtual base::DictionaryValue* CallGetPropertiesAndBlock() OVERRIDE {
77 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, 77 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface,
78 flimflam::kGetPropertiesFunction); 78 flimflam::kGetPropertiesFunction);
79 return helper_.CallDictionaryValueMethodAndBlock(&method_call); 79 return helper_.CallDictionaryValueMethodAndBlock(&method_call);
80 } 80 }
81 81
82 virtual void SetProperty(const std::string& name, 82 virtual void SetProperty(const std::string& name,
83 const base::Value& value, 83 const base::Value& value,
84 const VoidDBusMethodCallback& callback) OVERRIDE { 84 const base::Closure& callback,
85 const ErrorCallback& error_callback) OVERRIDE {
85 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, 86 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface,
86 flimflam::kSetPropertyFunction); 87 flimflam::kSetPropertyFunction);
87 dbus::MessageWriter writer(&method_call); 88 dbus::MessageWriter writer(&method_call);
88 writer.AppendString(name); 89 writer.AppendString(name);
89 ShillClientHelper::AppendValueDataAsVariant(&writer, value); 90 ShillClientHelper::AppendValueDataAsVariant(&writer, value);
90 helper_.CallVoidMethod(&method_call, callback); 91 helper_.CallVoidMethodWithErrorCallback(&method_call,
92 callback,
93 error_callback);
91 } 94 }
92 95
93 virtual void RequestScan(const std::string& type, 96 virtual void RequestScan(const std::string& type,
94 const VoidDBusMethodCallback& callback) OVERRIDE { 97 const base::Closure& callback,
98 const ErrorCallback& error_callback) OVERRIDE {
95 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, 99 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface,
96 flimflam::kRequestScanFunction); 100 flimflam::kRequestScanFunction);
97 dbus::MessageWriter writer(&method_call); 101 dbus::MessageWriter writer(&method_call);
98 writer.AppendString(type); 102 writer.AppendString(type);
99 helper_.CallVoidMethod(&method_call, callback); 103 helper_.CallVoidMethodWithErrorCallback(&method_call,
104 callback,
105 error_callback);
100 } 106 }
101 107
102 virtual void EnableTechnology( 108 virtual void EnableTechnology(
103 const std::string& type, 109 const std::string& type,
104 const VoidDBusMethodCallback& callback) OVERRIDE { 110 const base::Closure& callback,
111 const ErrorCallback& error_callback) OVERRIDE {
105 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, 112 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface,
106 flimflam::kEnableTechnologyFunction); 113 flimflam::kEnableTechnologyFunction);
107 dbus::MessageWriter writer(&method_call); 114 dbus::MessageWriter writer(&method_call);
108 writer.AppendString(type); 115 writer.AppendString(type);
109 helper_.CallVoidMethod(&method_call, callback); 116 helper_.CallVoidMethodWithErrorCallback(&method_call,
117 callback,
118 error_callback);
110 } 119 }
111 120
112 virtual void DisableTechnology( 121 virtual void DisableTechnology(
113 const std::string& type, 122 const std::string& type,
114 const VoidDBusMethodCallback& callback) OVERRIDE { 123 const base::Closure& callback,
124 const ErrorCallback& error_callback) OVERRIDE {
115 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, 125 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface,
116 flimflam::kDisableTechnologyFunction); 126 flimflam::kDisableTechnologyFunction);
117 dbus::MessageWriter writer(&method_call); 127 dbus::MessageWriter writer(&method_call);
118 writer.AppendString(type); 128 writer.AppendString(type);
119 helper_.CallVoidMethod(&method_call, callback); 129 helper_.CallVoidMethodWithErrorCallback(&method_call,
130 callback,
131 error_callback);
120 } 132 }
121 133
122 virtual void ConfigureService( 134 virtual void ConfigureService(
123 const base::DictionaryValue& properties, 135 const base::DictionaryValue& properties,
124 const VoidDBusMethodCallback& callback) OVERRIDE { 136 const base::Closure& callback,
137 const ErrorCallback& error_callback) OVERRIDE {
125 DCHECK(AreServicePropertiesValid(properties)); 138 DCHECK(AreServicePropertiesValid(properties));
126 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, 139 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface,
127 flimflam::kConfigureServiceFunction); 140 flimflam::kConfigureServiceFunction);
128 dbus::MessageWriter writer(&method_call); 141 dbus::MessageWriter writer(&method_call);
129 AppendServicePropertiesDictionary(&writer, properties); 142 AppendServicePropertiesDictionary(&writer, properties);
130 helper_.CallVoidMethod(&method_call, callback); 143 helper_.CallVoidMethodWithErrorCallback(&method_call,
144 callback,
145 error_callback);
131 } 146 }
132 147
133 virtual void GetService( 148 virtual void GetService(
134 const base::DictionaryValue& properties, 149 const base::DictionaryValue& properties,
135 const ObjectPathDBusMethodCallback& callback) OVERRIDE { 150 const ObjectPathCallbackWithoutStatus& callback,
151 const ErrorCallback& error_callback) OVERRIDE {
136 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface, 152 dbus::MethodCall method_call(flimflam::kFlimflamManagerInterface,
137 flimflam::kGetServiceFunction); 153 flimflam::kGetServiceFunction);
138 dbus::MessageWriter writer(&method_call); 154 dbus::MessageWriter writer(&method_call);
139 AppendServicePropertiesDictionary(&writer, properties); 155 AppendServicePropertiesDictionary(&writer, properties);
140 helper_.CallObjectPathMethod(&method_call, callback); 156 helper_.CallObjectPathMethodWithErrorCallback(&method_call,
157 callback,
158 error_callback);
141 } 159 }
142 160
143 private: 161 private:
144 dbus::ObjectProxy* proxy_; 162 dbus::ObjectProxy* proxy_;
145 ShillClientHelper helper_; 163 ShillClientHelper helper_;
146 164
147 DISALLOW_COPY_AND_ASSIGN(ShillManagerClientImpl); 165 DISALLOW_COPY_AND_ASSIGN(ShillManagerClientImpl);
148 }; 166 };
149 167
150 // A stub implementation of ShillManagerClient. 168 // A stub implementation of ShillManagerClient.
(...skipping 29 matching lines...) Expand all
180 } 198 }
181 199
182 // ShillManagerClient override. 200 // ShillManagerClient override.
183 virtual base::DictionaryValue* CallGetPropertiesAndBlock() OVERRIDE { 201 virtual base::DictionaryValue* CallGetPropertiesAndBlock() OVERRIDE {
184 return new base::DictionaryValue; 202 return new base::DictionaryValue;
185 } 203 }
186 204
187 // ShillManagerClient override. 205 // ShillManagerClient override.
188 virtual void SetProperty(const std::string& name, 206 virtual void SetProperty(const std::string& name,
189 const base::Value& value, 207 const base::Value& value,
190 const VoidDBusMethodCallback& callback) OVERRIDE { 208 const base::Closure& callback,
209 const ErrorCallback& error_callback) OVERRIDE {
191 stub_properties_.Set(name, value.DeepCopy()); 210 stub_properties_.Set(name, value.DeepCopy());
192 MessageLoop::current()->PostTask(FROM_HERE, 211 MessageLoop::current()->PostTask(FROM_HERE, callback);
193 base::Bind(callback,
194 DBUS_METHOD_CALL_SUCCESS));
195 } 212 }
196 213
197 // ShillManagerClient override. 214 // ShillManagerClient override.
198 virtual void RequestScan(const std::string& type, 215 virtual void RequestScan(const std::string& type,
199 const VoidDBusMethodCallback& callback) OVERRIDE { 216 const base::Closure& callback,
200 MessageLoop::current()->PostTask(FROM_HERE, 217 const ErrorCallback& error_callback) OVERRIDE {
201 base::Bind(callback, 218 MessageLoop::current()->PostTask(FROM_HERE, callback);
202 DBUS_METHOD_CALL_SUCCESS));
203 } 219 }
204 220
205 // ShillManagerClient override. 221 // ShillManagerClient override.
206 virtual void EnableTechnology( 222 virtual void EnableTechnology(
207 const std::string& type, 223 const std::string& type,
208 const VoidDBusMethodCallback& callback) OVERRIDE { 224 const base::Closure& callback,
209 MessageLoop::current()->PostTask(FROM_HERE, 225 const ErrorCallback& error_callback) OVERRIDE {
210 base::Bind(callback, 226 MessageLoop::current()->PostTask(FROM_HERE, callback);
211 DBUS_METHOD_CALL_SUCCESS));
212 } 227 }
213 228
214 // ShillManagerClient override. 229 // ShillManagerClient override.
215 virtual void DisableTechnology( 230 virtual void DisableTechnology(
216 const std::string& type, 231 const std::string& type,
217 const VoidDBusMethodCallback& callback) OVERRIDE { 232 const base::Closure& callback,
218 MessageLoop::current()->PostTask(FROM_HERE, 233 const ErrorCallback& error_callback) OVERRIDE {
219 base::Bind(callback, 234 MessageLoop::current()->PostTask(FROM_HERE, callback);
220 DBUS_METHOD_CALL_SUCCESS));
221 } 235 }
222 236
223 // ShillManagerClient override. 237 // ShillManagerClient override.
224 virtual void ConfigureService( 238 virtual void ConfigureService(
225 const base::DictionaryValue& properties, 239 const base::DictionaryValue& properties,
226 const VoidDBusMethodCallback& callback) OVERRIDE { 240 const base::Closure& callback,
227 MessageLoop::current()->PostTask(FROM_HERE, 241 const ErrorCallback& error_callback) OVERRIDE {
228 base::Bind(callback, 242 MessageLoop::current()->PostTask(FROM_HERE, callback);
229 DBUS_METHOD_CALL_SUCCESS));
230 } 243 }
231 244
232 // ShillManagerClient override. 245 // ShillManagerClient override.
233 virtual void GetService( 246 virtual void GetService(
234 const base::DictionaryValue& properties, 247 const base::DictionaryValue& properties,
235 const ObjectPathDBusMethodCallback& callback) OVERRIDE { 248 const ObjectPathCallbackWithoutStatus& callback,
249 const ErrorCallback& error_callback) OVERRIDE {
236 MessageLoop::current()->PostTask(FROM_HERE, 250 MessageLoop::current()->PostTask(FROM_HERE,
237 base::Bind(callback, 251 base::Bind(callback,
238 DBUS_METHOD_CALL_SUCCESS,
239 dbus::ObjectPath())); 252 dbus::ObjectPath()));
240 } 253 }
241 254
242 private: 255 private:
243 void PassStubProperties(const DictionaryValueCallback& callback) const { 256 void PassStubProperties(const DictionaryValueCallback& callback) const {
244 callback.Run(DBUS_METHOD_CALL_SUCCESS, stub_properties_); 257 callback.Run(DBUS_METHOD_CALL_SUCCESS, stub_properties_);
245 } 258 }
246 259
247 base::DictionaryValue stub_properties_; 260 base::DictionaryValue stub_properties_;
248 261
(...skipping 14 matching lines...) Expand all
263 ShillManagerClient* ShillManagerClient::Create( 276 ShillManagerClient* ShillManagerClient::Create(
264 DBusClientImplementationType type, 277 DBusClientImplementationType type,
265 dbus::Bus* bus) { 278 dbus::Bus* bus) {
266 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) 279 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION)
267 return new ShillManagerClientImpl(bus); 280 return new ShillManagerClientImpl(bus);
268 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); 281 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type);
269 return new ShillManagerClientStubImpl(); 282 return new ShillManagerClientStubImpl();
270 } 283 }
271 284
272 } // namespace chromeos 285 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698