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

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

Issue 10824242: This adds Cros API for calling the "Refresh" function on shill's (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 4 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 | Annotate | Revision Log
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/flimflam_device_client.h" 5 #include "chromeos/dbus/flimflam_device_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "dbus/bus.h" 11 #include "dbus/bus.h"
12 #include "dbus/message.h" 12 #include "dbus/message.h"
13 #include "dbus/object_path.h" 13 #include "dbus/object_path.h"
14 #include "dbus/object_proxy.h" 14 #include "dbus/object_proxy.h"
15 #include "dbus/values_util.h" 15 #include "dbus/values_util.h"
16 #include "third_party/cros_system_api/dbus/service_constants.h" 16 #include "third_party/cros_system_api/dbus/service_constants.h"
17 17
18 namespace chromeos { 18 namespace chromeos {
19 19
20 namespace { 20 namespace {
21 21
22 // The FlimflamDeviceClient implementation. 22 // The FlimflamDeviceClient implementation.
23 class FlimflamDeviceClientImpl : public FlimflamDeviceClient { 23 class FlimflamDeviceClientImpl : public FlimflamDeviceClient {
24 public: 24 public:
25 explicit FlimflamDeviceClientImpl(dbus::Bus* bus) 25 explicit FlimflamDeviceClientImpl(dbus::Bus* bus)
26 : bus_(bus), 26 : bus_(bus),
27 helpers_deleter_(&helpers_) { 27 helpers_deleter_(&helpers_) {
28 } 28 }
29 29
30 // FlimflamProfileClient override. 30 ///////////////////////////////////////
31 // FlimflamDeviceClient overrides.
31 virtual void SetPropertyChangedHandler( 32 virtual void SetPropertyChangedHandler(
32 const dbus::ObjectPath& device_path, 33 const dbus::ObjectPath& device_path,
33 const PropertyChangedHandler& handler) OVERRIDE { 34 const PropertyChangedHandler& handler) OVERRIDE {
34 GetHelper(device_path)->SetPropertyChangedHandler(handler); 35 GetHelper(device_path)->SetPropertyChangedHandler(handler);
35 } 36 }
36 37
37 // FlimflamProfileClient override.
38 virtual void ResetPropertyChangedHandler( 38 virtual void ResetPropertyChangedHandler(
39 const dbus::ObjectPath& device_path) OVERRIDE { 39 const dbus::ObjectPath& device_path) OVERRIDE {
40 GetHelper(device_path)->ResetPropertyChangedHandler(); 40 GetHelper(device_path)->ResetPropertyChangedHandler();
41 } 41 }
42 42
43 // FlimflamProfileClient override.
44 virtual void GetProperties(const dbus::ObjectPath& device_path, 43 virtual void GetProperties(const dbus::ObjectPath& device_path,
45 const DictionaryValueCallback& callback) OVERRIDE { 44 const DictionaryValueCallback& callback) OVERRIDE {
46 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 45 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
47 flimflam::kGetPropertiesFunction); 46 flimflam::kGetPropertiesFunction);
48 GetHelper(device_path)->CallDictionaryValueMethod(&method_call, callback); 47 GetHelper(device_path)->CallDictionaryValueMethod(&method_call, callback);
49 } 48 }
50 49
51 // FlimflamProfileClient override.
52 virtual base::DictionaryValue* CallGetPropertiesAndBlock( 50 virtual base::DictionaryValue* CallGetPropertiesAndBlock(
53 const dbus::ObjectPath& device_path) OVERRIDE { 51 const dbus::ObjectPath& device_path) OVERRIDE {
54 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 52 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
55 flimflam::kGetPropertiesFunction); 53 flimflam::kGetPropertiesFunction);
56 return GetHelper(device_path)->CallDictionaryValueMethodAndBlock( 54 return GetHelper(device_path)->CallDictionaryValueMethodAndBlock(
57 &method_call); 55 &method_call);
58 } 56 }
59 57
60 // FlimflamProfileClient override.
61 virtual void ProposeScan(const dbus::ObjectPath& device_path, 58 virtual void ProposeScan(const dbus::ObjectPath& device_path,
62 const VoidDBusMethodCallback& callback) OVERRIDE { 59 const VoidDBusMethodCallback& callback) OVERRIDE {
63 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 60 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
64 flimflam::kProposeScanFunction); 61 flimflam::kProposeScanFunction);
65 GetHelper(device_path)->CallVoidMethod(&method_call, callback); 62 GetHelper(device_path)->CallVoidMethod(&method_call, callback);
66 } 63 }
67 64
68 // FlimflamProfileClient override.
69 virtual void SetProperty(const dbus::ObjectPath& device_path, 65 virtual void SetProperty(const dbus::ObjectPath& device_path,
70 const std::string& name, 66 const std::string& name,
71 const base::Value& value, 67 const base::Value& value,
72 const VoidDBusMethodCallback& callback) OVERRIDE { 68 const VoidDBusMethodCallback& callback) OVERRIDE {
73 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 69 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
74 flimflam::kSetPropertyFunction); 70 flimflam::kSetPropertyFunction);
75 dbus::MessageWriter writer(&method_call); 71 dbus::MessageWriter writer(&method_call);
76 writer.AppendString(name); 72 writer.AppendString(name);
77 FlimflamClientHelper::AppendValueDataAsVariant(&writer, value); 73 FlimflamClientHelper::AppendValueDataAsVariant(&writer, value);
78 GetHelper(device_path)->CallVoidMethod(&method_call, callback); 74 GetHelper(device_path)->CallVoidMethod(&method_call, callback);
79 } 75 }
80 76
81 // FlimflamProfileClient override.
82 virtual void ClearProperty(const dbus::ObjectPath& device_path, 77 virtual void ClearProperty(const dbus::ObjectPath& device_path,
83 const std::string& name, 78 const std::string& name,
84 const VoidDBusMethodCallback& callback) OVERRIDE { 79 const VoidDBusMethodCallback& callback) OVERRIDE {
85 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 80 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
86 flimflam::kClearPropertyFunction); 81 flimflam::kClearPropertyFunction);
87 dbus::MessageWriter writer(&method_call); 82 dbus::MessageWriter writer(&method_call);
88 writer.AppendString(name); 83 writer.AppendString(name);
89 GetHelper(device_path)->CallVoidMethod(&method_call, callback); 84 GetHelper(device_path)->CallVoidMethod(&method_call, callback);
90 } 85 }
91 86
92 // FlimflamProfileClient override.
93 virtual void AddIPConfig( 87 virtual void AddIPConfig(
94 const dbus::ObjectPath& device_path, 88 const dbus::ObjectPath& device_path,
95 const std::string& method, 89 const std::string& method,
96 const ObjectPathDBusMethodCallback& callback) OVERRIDE { 90 const ObjectPathDBusMethodCallback& callback) OVERRIDE {
97 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 91 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
98 flimflam::kAddIPConfigFunction); 92 flimflam::kAddIPConfigFunction);
99 dbus::MessageWriter writer(&method_call); 93 dbus::MessageWriter writer(&method_call);
100 writer.AppendString(method); 94 writer.AppendString(method);
101 GetHelper(device_path)->CallObjectPathMethod(&method_call, callback); 95 GetHelper(device_path)->CallObjectPathMethod(&method_call, callback);
102 } 96 }
103 97
104 // FlimflamProfileClient override.
105 virtual dbus::ObjectPath CallAddIPConfigAndBlock( 98 virtual dbus::ObjectPath CallAddIPConfigAndBlock(
106 const dbus::ObjectPath& device_path, 99 const dbus::ObjectPath& device_path,
107 const std::string& method) OVERRIDE { 100 const std::string& method) OVERRIDE {
108 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 101 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
109 flimflam::kAddIPConfigFunction); 102 flimflam::kAddIPConfigFunction);
110 dbus::MessageWriter writer(&method_call); 103 dbus::MessageWriter writer(&method_call);
111 writer.AppendString(method); 104 writer.AppendString(method);
112 return GetHelper(device_path)->CallObjectPathMethodAndBlock(&method_call); 105 return GetHelper(device_path)->CallObjectPathMethodAndBlock(&method_call);
113 } 106 }
114 107
115 // FlimflamProfileClient override.
116 virtual void RequirePin(const dbus::ObjectPath& device_path, 108 virtual void RequirePin(const dbus::ObjectPath& device_path,
117 const std::string& pin, 109 const std::string& pin,
118 bool require, 110 bool require,
119 const base::Closure& callback, 111 const base::Closure& callback,
120 const ErrorCallback& error_callback) OVERRIDE { 112 const ErrorCallback& error_callback) OVERRIDE {
121 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 113 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
122 flimflam::kRequirePinFunction); 114 flimflam::kRequirePinFunction);
123 dbus::MessageWriter writer(&method_call); 115 dbus::MessageWriter writer(&method_call);
124 writer.AppendString(pin); 116 writer.AppendString(pin);
125 writer.AppendBool(require); 117 writer.AppendBool(require);
126 GetHelper(device_path)->CallVoidMethodWithErrorCallback( 118 GetHelper(device_path)->CallVoidMethodWithErrorCallback(
127 &method_call, callback, error_callback); 119 &method_call, callback, error_callback);
128 } 120 }
129 121
130 // FlimflamProfileClient override.
131 virtual void EnterPin(const dbus::ObjectPath& device_path, 122 virtual void EnterPin(const dbus::ObjectPath& device_path,
132 const std::string& pin, 123 const std::string& pin,
133 const base::Closure& callback, 124 const base::Closure& callback,
134 const ErrorCallback& error_callback) OVERRIDE { 125 const ErrorCallback& error_callback) OVERRIDE {
135 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 126 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
136 flimflam::kEnterPinFunction); 127 flimflam::kEnterPinFunction);
137 dbus::MessageWriter writer(&method_call); 128 dbus::MessageWriter writer(&method_call);
138 writer.AppendString(pin); 129 writer.AppendString(pin);
139 GetHelper(device_path)->CallVoidMethodWithErrorCallback( 130 GetHelper(device_path)->CallVoidMethodWithErrorCallback(
140 &method_call, callback, error_callback); 131 &method_call, callback, error_callback);
141 } 132 }
142 133
143 // FlimflamProfileClient override.
144 virtual void UnblockPin(const dbus::ObjectPath& device_path, 134 virtual void UnblockPin(const dbus::ObjectPath& device_path,
145 const std::string& puk, 135 const std::string& puk,
146 const std::string& pin, 136 const std::string& pin,
147 const base::Closure& callback, 137 const base::Closure& callback,
148 const ErrorCallback& error_callback) OVERRIDE { 138 const ErrorCallback& error_callback) OVERRIDE {
149 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 139 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
150 flimflam::kUnblockPinFunction); 140 flimflam::kUnblockPinFunction);
151 dbus::MessageWriter writer(&method_call); 141 dbus::MessageWriter writer(&method_call);
152 writer.AppendString(puk); 142 writer.AppendString(puk);
153 writer.AppendString(pin); 143 writer.AppendString(pin);
154 GetHelper(device_path)->CallVoidMethodWithErrorCallback( 144 GetHelper(device_path)->CallVoidMethodWithErrorCallback(
155 &method_call, callback, error_callback); 145 &method_call, callback, error_callback);
156 } 146 }
157 147
158 // FlimflamProfileClient override.
159 virtual void ChangePin(const dbus::ObjectPath& device_path, 148 virtual void ChangePin(const dbus::ObjectPath& device_path,
160 const std::string& old_pin, 149 const std::string& old_pin,
161 const std::string& new_pin, 150 const std::string& new_pin,
162 const base::Closure& callback, 151 const base::Closure& callback,
163 const ErrorCallback& error_callback) OVERRIDE { 152 const ErrorCallback& error_callback) OVERRIDE {
164 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 153 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
165 flimflam::kChangePinFunction); 154 flimflam::kChangePinFunction);
166 dbus::MessageWriter writer(&method_call); 155 dbus::MessageWriter writer(&method_call);
167 writer.AppendString(old_pin); 156 writer.AppendString(old_pin);
168 writer.AppendString(new_pin); 157 writer.AppendString(new_pin);
169 GetHelper(device_path)->CallVoidMethodWithErrorCallback( 158 GetHelper(device_path)->CallVoidMethodWithErrorCallback(
170 &method_call, callback, error_callback); 159 &method_call, callback, error_callback);
171 } 160 }
172 161
173 // FlimflamProfileClient override.
174 virtual void Register(const dbus::ObjectPath& device_path, 162 virtual void Register(const dbus::ObjectPath& device_path,
175 const std::string& network_id, 163 const std::string& network_id,
176 const base::Closure& callback, 164 const base::Closure& callback,
177 const ErrorCallback& error_callback) OVERRIDE { 165 const ErrorCallback& error_callback) OVERRIDE {
178 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface, 166 dbus::MethodCall method_call(flimflam::kFlimflamDeviceInterface,
179 flimflam::kRegisterFunction); 167 flimflam::kRegisterFunction);
180 dbus::MessageWriter writer(&method_call); 168 dbus::MessageWriter writer(&method_call);
181 writer.AppendString(network_id); 169 writer.AppendString(network_id);
182 GetHelper(device_path)->CallVoidMethodWithErrorCallback( 170 GetHelper(device_path)->CallVoidMethodWithErrorCallback(
183 &method_call, callback, error_callback); 171 &method_call, callback, error_callback);
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 FlimflamDeviceClient* FlimflamDeviceClient::Create( 390 FlimflamDeviceClient* FlimflamDeviceClient::Create(
403 DBusClientImplementationType type, 391 DBusClientImplementationType type,
404 dbus::Bus* bus) { 392 dbus::Bus* bus) {
405 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) 393 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION)
406 return new FlimflamDeviceClientImpl(bus); 394 return new FlimflamDeviceClientImpl(bus);
407 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); 395 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type);
408 return new FlimflamDeviceClientStubImpl(); 396 return new FlimflamDeviceClientStubImpl();
409 } 397 }
410 398
411 } // namespace chromeos 399 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698