| 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/debug_daemon_client.h" | 5 #include "chromeos/dbus/debug_daemon_client.h" |
| 6 | 6 |
| 7 #include <fcntl.h> | 7 #include <fcntl.h> |
| 8 #include <unistd.h> | 8 #include <unistd.h> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 class DebugDaemonClientImpl : public DebugDaemonClient { | 41 class DebugDaemonClientImpl : public DebugDaemonClient { |
| 42 public: | 42 public: |
| 43 DebugDaemonClientImpl() : debugdaemon_proxy_(NULL), weak_ptr_factory_(this) {} | 43 DebugDaemonClientImpl() : debugdaemon_proxy_(NULL), weak_ptr_factory_(this) {} |
| 44 | 44 |
| 45 virtual ~DebugDaemonClientImpl() {} | 45 virtual ~DebugDaemonClientImpl() {} |
| 46 | 46 |
| 47 // DebugDaemonClient override. | 47 // DebugDaemonClient override. |
| 48 virtual void DumpDebugLogs(bool is_compressed, | 48 virtual void DumpDebugLogs(bool is_compressed, |
| 49 base::File file, | 49 base::File file, |
| 50 scoped_refptr<base::TaskRunner> task_runner, | 50 scoped_refptr<base::TaskRunner> task_runner, |
| 51 const GetDebugLogsCallback& callback) OVERRIDE { | 51 const GetDebugLogsCallback& callback) override { |
| 52 dbus::FileDescriptor* file_descriptor = new dbus::FileDescriptor; | 52 dbus::FileDescriptor* file_descriptor = new dbus::FileDescriptor; |
| 53 file_descriptor->PutValue(file.TakePlatformFile()); | 53 file_descriptor->PutValue(file.TakePlatformFile()); |
| 54 // Punt descriptor validity check to a worker thread; on return we'll | 54 // Punt descriptor validity check to a worker thread; on return we'll |
| 55 // issue the D-Bus request to stop tracing and collect results. | 55 // issue the D-Bus request to stop tracing and collect results. |
| 56 task_runner->PostTaskAndReply( | 56 task_runner->PostTaskAndReply( |
| 57 FROM_HERE, | 57 FROM_HERE, |
| 58 base::Bind(&dbus::FileDescriptor::CheckValidity, | 58 base::Bind(&dbus::FileDescriptor::CheckValidity, |
| 59 base::Unretained(file_descriptor)), | 59 base::Unretained(file_descriptor)), |
| 60 base::Bind(&DebugDaemonClientImpl::OnCheckValidityGetDebugLogs, | 60 base::Bind(&DebugDaemonClientImpl::OnCheckValidityGetDebugLogs, |
| 61 weak_ptr_factory_.GetWeakPtr(), | 61 weak_ptr_factory_.GetWeakPtr(), |
| 62 is_compressed, | 62 is_compressed, |
| 63 base::Owned(file_descriptor), | 63 base::Owned(file_descriptor), |
| 64 callback)); | 64 callback)); |
| 65 } | 65 } |
| 66 | 66 |
| 67 virtual void SetDebugMode(const std::string& subsystem, | 67 virtual void SetDebugMode(const std::string& subsystem, |
| 68 const SetDebugModeCallback& callback) OVERRIDE { | 68 const SetDebugModeCallback& callback) override { |
| 69 dbus::MethodCall method_call(debugd::kDebugdInterface, | 69 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 70 debugd::kSetDebugMode); | 70 debugd::kSetDebugMode); |
| 71 dbus::MessageWriter writer(&method_call); | 71 dbus::MessageWriter writer(&method_call); |
| 72 writer.AppendString(subsystem); | 72 writer.AppendString(subsystem); |
| 73 debugdaemon_proxy_->CallMethod( | 73 debugdaemon_proxy_->CallMethod( |
| 74 &method_call, | 74 &method_call, |
| 75 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 75 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 76 base::Bind(&DebugDaemonClientImpl::OnSetDebugMode, | 76 base::Bind(&DebugDaemonClientImpl::OnSetDebugMode, |
| 77 weak_ptr_factory_.GetWeakPtr(), | 77 weak_ptr_factory_.GetWeakPtr(), |
| 78 callback)); | 78 callback)); |
| 79 } | 79 } |
| 80 | 80 |
| 81 virtual void GetRoutes(bool numeric, bool ipv6, | 81 virtual void GetRoutes(bool numeric, bool ipv6, |
| 82 const GetRoutesCallback& callback) OVERRIDE { | 82 const GetRoutesCallback& callback) override { |
| 83 dbus::MethodCall method_call(debugd::kDebugdInterface, | 83 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 84 debugd::kGetRoutes); | 84 debugd::kGetRoutes); |
| 85 dbus::MessageWriter writer(&method_call); | 85 dbus::MessageWriter writer(&method_call); |
| 86 dbus::MessageWriter sub_writer(NULL); | 86 dbus::MessageWriter sub_writer(NULL); |
| 87 writer.OpenArray("{sv}", &sub_writer); | 87 writer.OpenArray("{sv}", &sub_writer); |
| 88 dbus::MessageWriter elem_writer(NULL); | 88 dbus::MessageWriter elem_writer(NULL); |
| 89 sub_writer.OpenDictEntry(&elem_writer); | 89 sub_writer.OpenDictEntry(&elem_writer); |
| 90 elem_writer.AppendString("numeric"); | 90 elem_writer.AppendString("numeric"); |
| 91 elem_writer.AppendVariantOfBool(numeric); | 91 elem_writer.AppendVariantOfBool(numeric); |
| 92 sub_writer.CloseContainer(&elem_writer); | 92 sub_writer.CloseContainer(&elem_writer); |
| 93 sub_writer.OpenDictEntry(&elem_writer); | 93 sub_writer.OpenDictEntry(&elem_writer); |
| 94 elem_writer.AppendString("v6"); | 94 elem_writer.AppendString("v6"); |
| 95 elem_writer.AppendVariantOfBool(ipv6); | 95 elem_writer.AppendVariantOfBool(ipv6); |
| 96 sub_writer.CloseContainer(&elem_writer); | 96 sub_writer.CloseContainer(&elem_writer); |
| 97 writer.CloseContainer(&sub_writer); | 97 writer.CloseContainer(&sub_writer); |
| 98 debugdaemon_proxy_->CallMethod( | 98 debugdaemon_proxy_->CallMethod( |
| 99 &method_call, | 99 &method_call, |
| 100 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 100 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 101 base::Bind(&DebugDaemonClientImpl::OnGetRoutes, | 101 base::Bind(&DebugDaemonClientImpl::OnGetRoutes, |
| 102 weak_ptr_factory_.GetWeakPtr(), | 102 weak_ptr_factory_.GetWeakPtr(), |
| 103 callback)); | 103 callback)); |
| 104 } | 104 } |
| 105 | 105 |
| 106 virtual void GetNetworkStatus(const GetNetworkStatusCallback& callback) | 106 virtual void GetNetworkStatus(const GetNetworkStatusCallback& callback) |
| 107 OVERRIDE { | 107 override { |
| 108 dbus::MethodCall method_call(debugd::kDebugdInterface, | 108 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 109 debugd::kGetNetworkStatus); | 109 debugd::kGetNetworkStatus); |
| 110 debugdaemon_proxy_->CallMethod( | 110 debugdaemon_proxy_->CallMethod( |
| 111 &method_call, | 111 &method_call, |
| 112 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 112 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 113 base::Bind(&DebugDaemonClientImpl::OnGetNetworkStatus, | 113 base::Bind(&DebugDaemonClientImpl::OnGetNetworkStatus, |
| 114 weak_ptr_factory_.GetWeakPtr(), | 114 weak_ptr_factory_.GetWeakPtr(), |
| 115 callback)); | 115 callback)); |
| 116 } | 116 } |
| 117 | 117 |
| 118 virtual void GetModemStatus(const GetModemStatusCallback& callback) | 118 virtual void GetModemStatus(const GetModemStatusCallback& callback) |
| 119 OVERRIDE { | 119 override { |
| 120 dbus::MethodCall method_call(debugd::kDebugdInterface, | 120 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 121 debugd::kGetModemStatus); | 121 debugd::kGetModemStatus); |
| 122 debugdaemon_proxy_->CallMethod( | 122 debugdaemon_proxy_->CallMethod( |
| 123 &method_call, | 123 &method_call, |
| 124 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 124 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 125 base::Bind(&DebugDaemonClientImpl::OnGetModemStatus, | 125 base::Bind(&DebugDaemonClientImpl::OnGetModemStatus, |
| 126 weak_ptr_factory_.GetWeakPtr(), | 126 weak_ptr_factory_.GetWeakPtr(), |
| 127 callback)); | 127 callback)); |
| 128 } | 128 } |
| 129 | 129 |
| 130 virtual void GetWiMaxStatus(const GetWiMaxStatusCallback& callback) | 130 virtual void GetWiMaxStatus(const GetWiMaxStatusCallback& callback) |
| 131 OVERRIDE { | 131 override { |
| 132 dbus::MethodCall method_call(debugd::kDebugdInterface, | 132 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 133 debugd::kGetWiMaxStatus); | 133 debugd::kGetWiMaxStatus); |
| 134 debugdaemon_proxy_->CallMethod( | 134 debugdaemon_proxy_->CallMethod( |
| 135 &method_call, | 135 &method_call, |
| 136 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 136 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 137 base::Bind(&DebugDaemonClientImpl::OnGetWiMaxStatus, | 137 base::Bind(&DebugDaemonClientImpl::OnGetWiMaxStatus, |
| 138 weak_ptr_factory_.GetWeakPtr(), | 138 weak_ptr_factory_.GetWeakPtr(), |
| 139 callback)); | 139 callback)); |
| 140 } | 140 } |
| 141 | 141 |
| 142 virtual void GetNetworkInterfaces( | 142 virtual void GetNetworkInterfaces( |
| 143 const GetNetworkInterfacesCallback& callback) OVERRIDE { | 143 const GetNetworkInterfacesCallback& callback) override { |
| 144 dbus::MethodCall method_call(debugd::kDebugdInterface, | 144 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 145 debugd::kGetInterfaces); | 145 debugd::kGetInterfaces); |
| 146 debugdaemon_proxy_->CallMethod( | 146 debugdaemon_proxy_->CallMethod( |
| 147 &method_call, | 147 &method_call, |
| 148 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 148 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 149 base::Bind(&DebugDaemonClientImpl::OnGetNetworkInterfaces, | 149 base::Bind(&DebugDaemonClientImpl::OnGetNetworkInterfaces, |
| 150 weak_ptr_factory_.GetWeakPtr(), | 150 weak_ptr_factory_.GetWeakPtr(), |
| 151 callback)); | 151 callback)); |
| 152 } | 152 } |
| 153 | 153 |
| 154 virtual void GetPerfData(uint32_t duration, | 154 virtual void GetPerfData(uint32_t duration, |
| 155 const GetPerfDataCallback& callback) OVERRIDE { | 155 const GetPerfDataCallback& callback) override { |
| 156 dbus::MethodCall method_call(debugd::kDebugdInterface, | 156 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 157 debugd::kGetRichPerfData); | 157 debugd::kGetRichPerfData); |
| 158 dbus::MessageWriter writer(&method_call); | 158 dbus::MessageWriter writer(&method_call); |
| 159 writer.AppendUint32(duration); | 159 writer.AppendUint32(duration); |
| 160 | 160 |
| 161 debugdaemon_proxy_->CallMethod( | 161 debugdaemon_proxy_->CallMethod( |
| 162 &method_call, | 162 &method_call, |
| 163 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 163 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 164 base::Bind(&DebugDaemonClientImpl::OnGetPerfData, | 164 base::Bind(&DebugDaemonClientImpl::OnGetPerfData, |
| 165 weak_ptr_factory_.GetWeakPtr(), | 165 weak_ptr_factory_.GetWeakPtr(), |
| 166 callback)); | 166 callback)); |
| 167 } | 167 } |
| 168 | 168 |
| 169 virtual void GetScrubbedLogs(const GetLogsCallback& callback) OVERRIDE { | 169 virtual void GetScrubbedLogs(const GetLogsCallback& callback) override { |
| 170 dbus::MethodCall method_call(debugd::kDebugdInterface, | 170 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 171 debugd::kGetFeedbackLogs); | 171 debugd::kGetFeedbackLogs); |
| 172 debugdaemon_proxy_->CallMethod( | 172 debugdaemon_proxy_->CallMethod( |
| 173 &method_call, | 173 &method_call, |
| 174 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 174 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 175 base::Bind(&DebugDaemonClientImpl::OnGetAllLogs, | 175 base::Bind(&DebugDaemonClientImpl::OnGetAllLogs, |
| 176 weak_ptr_factory_.GetWeakPtr(), | 176 weak_ptr_factory_.GetWeakPtr(), |
| 177 callback)); | 177 callback)); |
| 178 } | 178 } |
| 179 | 179 |
| 180 virtual void GetAllLogs(const GetLogsCallback& callback) | 180 virtual void GetAllLogs(const GetLogsCallback& callback) |
| 181 OVERRIDE { | 181 override { |
| 182 dbus::MethodCall method_call(debugd::kDebugdInterface, | 182 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 183 debugd::kGetAllLogs); | 183 debugd::kGetAllLogs); |
| 184 debugdaemon_proxy_->CallMethod( | 184 debugdaemon_proxy_->CallMethod( |
| 185 &method_call, | 185 &method_call, |
| 186 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 186 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 187 base::Bind(&DebugDaemonClientImpl::OnGetAllLogs, | 187 base::Bind(&DebugDaemonClientImpl::OnGetAllLogs, |
| 188 weak_ptr_factory_.GetWeakPtr(), | 188 weak_ptr_factory_.GetWeakPtr(), |
| 189 callback)); | 189 callback)); |
| 190 } | 190 } |
| 191 | 191 |
| 192 virtual void GetUserLogFiles( | 192 virtual void GetUserLogFiles( |
| 193 const GetLogsCallback& callback) OVERRIDE { | 193 const GetLogsCallback& callback) override { |
| 194 dbus::MethodCall method_call(debugd::kDebugdInterface, | 194 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 195 debugd::kGetUserLogFiles); | 195 debugd::kGetUserLogFiles); |
| 196 debugdaemon_proxy_->CallMethod( | 196 debugdaemon_proxy_->CallMethod( |
| 197 &method_call, | 197 &method_call, |
| 198 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 198 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 199 base::Bind(&DebugDaemonClientImpl::OnGetUserLogFiles, | 199 base::Bind(&DebugDaemonClientImpl::OnGetUserLogFiles, |
| 200 weak_ptr_factory_.GetWeakPtr(), | 200 weak_ptr_factory_.GetWeakPtr(), |
| 201 callback)); | 201 callback)); |
| 202 } | 202 } |
| 203 | 203 |
| 204 virtual void StartSystemTracing() OVERRIDE { | 204 virtual void StartSystemTracing() override { |
| 205 dbus::MethodCall method_call( | 205 dbus::MethodCall method_call( |
| 206 debugd::kDebugdInterface, | 206 debugd::kDebugdInterface, |
| 207 debugd::kSystraceStart); | 207 debugd::kSystraceStart); |
| 208 dbus::MessageWriter writer(&method_call); | 208 dbus::MessageWriter writer(&method_call); |
| 209 writer.AppendString("all"); // TODO(sleffler) parameterize category list | 209 writer.AppendString("all"); // TODO(sleffler) parameterize category list |
| 210 | 210 |
| 211 DVLOG(1) << "Requesting a systrace start"; | 211 DVLOG(1) << "Requesting a systrace start"; |
| 212 debugdaemon_proxy_->CallMethod( | 212 debugdaemon_proxy_->CallMethod( |
| 213 &method_call, | 213 &method_call, |
| 214 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 214 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 215 base::Bind(&DebugDaemonClientImpl::OnStartMethod, | 215 base::Bind(&DebugDaemonClientImpl::OnStartMethod, |
| 216 weak_ptr_factory_.GetWeakPtr())); | 216 weak_ptr_factory_.GetWeakPtr())); |
| 217 } | 217 } |
| 218 | 218 |
| 219 virtual bool RequestStopSystemTracing( | 219 virtual bool RequestStopSystemTracing( |
| 220 scoped_refptr<base::TaskRunner> task_runner, | 220 scoped_refptr<base::TaskRunner> task_runner, |
| 221 const StopSystemTracingCallback& callback) OVERRIDE { | 221 const StopSystemTracingCallback& callback) override { |
| 222 if (pipe_reader_ != NULL) { | 222 if (pipe_reader_ != NULL) { |
| 223 LOG(ERROR) << "Busy doing StopSystemTracing"; | 223 LOG(ERROR) << "Busy doing StopSystemTracing"; |
| 224 return false; | 224 return false; |
| 225 } | 225 } |
| 226 | 226 |
| 227 pipe_reader_.reset(new PipeReaderForString( | 227 pipe_reader_.reset(new PipeReaderForString( |
| 228 task_runner, | 228 task_runner, |
| 229 base::Bind(&DebugDaemonClientImpl::OnIOComplete, | 229 base::Bind(&DebugDaemonClientImpl::OnIOComplete, |
| 230 weak_ptr_factory_.GetWeakPtr()))); | 230 weak_ptr_factory_.GetWeakPtr()))); |
| 231 | 231 |
| 232 base::File pipe_write_end = pipe_reader_->StartIO(); | 232 base::File pipe_write_end = pipe_reader_->StartIO(); |
| 233 // Create dbus::FileDescriptor on the worker thread; on return we'll | 233 // Create dbus::FileDescriptor on the worker thread; on return we'll |
| 234 // issue the D-Bus request to stop tracing and collect results. | 234 // issue the D-Bus request to stop tracing and collect results. |
| 235 base::PostTaskAndReplyWithResult( | 235 base::PostTaskAndReplyWithResult( |
| 236 task_runner.get(), | 236 task_runner.get(), |
| 237 FROM_HERE, | 237 FROM_HERE, |
| 238 base::Bind( | 238 base::Bind( |
| 239 &DebugDaemonClientImpl::CreateFileDescriptorToStopSystemTracing, | 239 &DebugDaemonClientImpl::CreateFileDescriptorToStopSystemTracing, |
| 240 base::Passed(&pipe_write_end)), | 240 base::Passed(&pipe_write_end)), |
| 241 base::Bind( | 241 base::Bind( |
| 242 &DebugDaemonClientImpl::OnCreateFileDescriptorRequestStopSystem, | 242 &DebugDaemonClientImpl::OnCreateFileDescriptorRequestStopSystem, |
| 243 weak_ptr_factory_.GetWeakPtr(), | 243 weak_ptr_factory_.GetWeakPtr(), |
| 244 callback)); | 244 callback)); |
| 245 return true; | 245 return true; |
| 246 } | 246 } |
| 247 | 247 |
| 248 virtual void TestICMP(const std::string& ip_address, | 248 virtual void TestICMP(const std::string& ip_address, |
| 249 const TestICMPCallback& callback) OVERRIDE { | 249 const TestICMPCallback& callback) override { |
| 250 dbus::MethodCall method_call(debugd::kDebugdInterface, | 250 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 251 debugd::kTestICMP); | 251 debugd::kTestICMP); |
| 252 dbus::MessageWriter writer(&method_call); | 252 dbus::MessageWriter writer(&method_call); |
| 253 writer.AppendString(ip_address); | 253 writer.AppendString(ip_address); |
| 254 debugdaemon_proxy_->CallMethod( | 254 debugdaemon_proxy_->CallMethod( |
| 255 &method_call, | 255 &method_call, |
| 256 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 256 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 257 base::Bind(&DebugDaemonClientImpl::OnTestICMP, | 257 base::Bind(&DebugDaemonClientImpl::OnTestICMP, |
| 258 weak_ptr_factory_.GetWeakPtr(), | 258 weak_ptr_factory_.GetWeakPtr(), |
| 259 callback)); | 259 callback)); |
| 260 } | 260 } |
| 261 | 261 |
| 262 virtual void TestICMPWithOptions( | 262 virtual void TestICMPWithOptions( |
| 263 const std::string& ip_address, | 263 const std::string& ip_address, |
| 264 const std::map<std::string, std::string>& options, | 264 const std::map<std::string, std::string>& options, |
| 265 const TestICMPCallback& callback) OVERRIDE { | 265 const TestICMPCallback& callback) override { |
| 266 dbus::MethodCall method_call(debugd::kDebugdInterface, | 266 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 267 debugd::kTestICMPWithOptions); | 267 debugd::kTestICMPWithOptions); |
| 268 dbus::MessageWriter writer(&method_call); | 268 dbus::MessageWriter writer(&method_call); |
| 269 dbus::MessageWriter sub_writer(NULL); | 269 dbus::MessageWriter sub_writer(NULL); |
| 270 dbus::MessageWriter elem_writer(NULL); | 270 dbus::MessageWriter elem_writer(NULL); |
| 271 | 271 |
| 272 // Write the host. | 272 // Write the host. |
| 273 writer.AppendString(ip_address); | 273 writer.AppendString(ip_address); |
| 274 | 274 |
| 275 // Write the options. | 275 // Write the options. |
| 276 writer.OpenArray("{ss}", &sub_writer); | 276 writer.OpenArray("{ss}", &sub_writer); |
| 277 std::map<std::string, std::string>::const_iterator it; | 277 std::map<std::string, std::string>::const_iterator it; |
| 278 for (it = options.begin(); it != options.end(); ++it) { | 278 for (it = options.begin(); it != options.end(); ++it) { |
| 279 sub_writer.OpenDictEntry(&elem_writer); | 279 sub_writer.OpenDictEntry(&elem_writer); |
| 280 elem_writer.AppendString(it->first); | 280 elem_writer.AppendString(it->first); |
| 281 elem_writer.AppendString(it->second); | 281 elem_writer.AppendString(it->second); |
| 282 sub_writer.CloseContainer(&elem_writer); | 282 sub_writer.CloseContainer(&elem_writer); |
| 283 } | 283 } |
| 284 writer.CloseContainer(&sub_writer); | 284 writer.CloseContainer(&sub_writer); |
| 285 | 285 |
| 286 // Call the function. | 286 // Call the function. |
| 287 debugdaemon_proxy_->CallMethod( | 287 debugdaemon_proxy_->CallMethod( |
| 288 &method_call, | 288 &method_call, |
| 289 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 289 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 290 base::Bind(&DebugDaemonClientImpl::OnTestICMP, | 290 base::Bind(&DebugDaemonClientImpl::OnTestICMP, |
| 291 weak_ptr_factory_.GetWeakPtr(), | 291 weak_ptr_factory_.GetWeakPtr(), |
| 292 callback)); | 292 callback)); |
| 293 } | 293 } |
| 294 | 294 |
| 295 virtual void UploadCrashes() OVERRIDE { | 295 virtual void UploadCrashes() override { |
| 296 dbus::MethodCall method_call(debugd::kDebugdInterface, | 296 dbus::MethodCall method_call(debugd::kDebugdInterface, |
| 297 debugd::kUploadCrashes); | 297 debugd::kUploadCrashes); |
| 298 debugdaemon_proxy_->CallMethod( | 298 debugdaemon_proxy_->CallMethod( |
| 299 &method_call, | 299 &method_call, |
| 300 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 300 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| 301 base::Bind(&DebugDaemonClientImpl::OnStartMethod, | 301 base::Bind(&DebugDaemonClientImpl::OnStartMethod, |
| 302 weak_ptr_factory_.GetWeakPtr())); | 302 weak_ptr_factory_.GetWeakPtr())); |
| 303 } | 303 } |
| 304 | 304 |
| 305 protected: | 305 protected: |
| 306 virtual void Init(dbus::Bus* bus) OVERRIDE { | 306 virtual void Init(dbus::Bus* bus) override { |
| 307 debugdaemon_proxy_ = | 307 debugdaemon_proxy_ = |
| 308 bus->GetObjectProxy(debugd::kDebugdServiceName, | 308 bus->GetObjectProxy(debugd::kDebugdServiceName, |
| 309 dbus::ObjectPath(debugd::kDebugdServicePath)); | 309 dbus::ObjectPath(debugd::kDebugdServicePath)); |
| 310 } | 310 } |
| 311 | 311 |
| 312 private: | 312 private: |
| 313 // Called when a CheckValidity response is received. | 313 // Called when a CheckValidity response is received. |
| 314 void OnCheckValidityGetDebugLogs(bool is_compressed, | 314 void OnCheckValidityGetDebugLogs(bool is_compressed, |
| 315 dbus::FileDescriptor* file_descriptor, | 315 dbus::FileDescriptor* file_descriptor, |
| 316 const GetDebugLogsCallback& callback) { | 316 const GetDebugLogsCallback& callback) { |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 545 DebugDaemonClient::EmptyStopSystemTracingCallback() { | 545 DebugDaemonClient::EmptyStopSystemTracingCallback() { |
| 546 return base::Bind(&EmptyStopSystemTracingCallbackBody); | 546 return base::Bind(&EmptyStopSystemTracingCallbackBody); |
| 547 } | 547 } |
| 548 | 548 |
| 549 // static | 549 // static |
| 550 DebugDaemonClient* DebugDaemonClient::Create() { | 550 DebugDaemonClient* DebugDaemonClient::Create() { |
| 551 return new DebugDaemonClientImpl(); | 551 return new DebugDaemonClientImpl(); |
| 552 } | 552 } |
| 553 | 553 |
| 554 } // namespace chromeos | 554 } // namespace chromeos |
| OLD | NEW |