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

Side by Side Diff: dbus/bus.cc

Issue 11312036: Call dbus_bus_register at the beginning of connection. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // TODO(satorux): 5 // TODO(satorux):
6 // - Handle "disconnected" signal. 6 // - Handle "disconnected" signal.
7 7
8 #include "dbus/bus.h" 8 #include "dbus/bus.h"
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 connection_ = dbus_bus_get_private(dbus_bus_type, error.get()); 301 connection_ = dbus_bus_get_private(dbus_bus_type, error.get());
302 } else { 302 } else {
303 connection_ = dbus_bus_get(dbus_bus_type, error.get()); 303 connection_ = dbus_bus_get(dbus_bus_type, error.get());
304 } 304 }
305 } 305 }
306 if (!connection_) { 306 if (!connection_) {
307 LOG(ERROR) << "Failed to connect to the bus: " 307 LOG(ERROR) << "Failed to connect to the bus: "
308 << (error.is_set() ? error.message() : ""); 308 << (error.is_set() ? error.message() : "");
309 return false; 309 return false;
310 } 310 }
311
312 if (bus_type_ == CUSTOM_ADDRESS) {
313 // We should call dbus_bus_register here, otherwise unique name can not be
314 // acquired. According to dbus specification, it is responsible to call
315 // org.freedesktop.DBus.Hello method at the beging of bus connection to
316 // acquire unique name. In the case of dbus_bus_get, dbus_bus_register is
317 // called internally.
318 if (!dbus_bus_register(connection_, error.get())) {
319 LOG(ERROR) << "Failed to register the bus component: "
320 << (error.is_set() ? error.message() : "");
321 return false;
322 }
323 }
311 // We shouldn't exit on the disconnected signal. 324 // We shouldn't exit on the disconnected signal.
312 dbus_connection_set_exit_on_disconnect(connection_, false); 325 dbus_connection_set_exit_on_disconnect(connection_, false);
313 326
314 return true; 327 return true;
315 } 328 }
316 329
317 void Bus::ShutdownAndBlock() { 330 void Bus::ShutdownAndBlock() {
318 AssertOnDBusThread(); 331 AssertOnDBusThread();
319 332
320 // Unregister the exported objects. 333 // Unregister the exported objects.
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 } 843 }
831 844
832 void Bus::OnDispatchStatusChangedThunk(DBusConnection* connection, 845 void Bus::OnDispatchStatusChangedThunk(DBusConnection* connection,
833 DBusDispatchStatus status, 846 DBusDispatchStatus status,
834 void* data) { 847 void* data) {
835 Bus* self = static_cast<Bus*>(data); 848 Bus* self = static_cast<Bus*>(data);
836 self->OnDispatchStatusChanged(connection, status); 849 self->OnDispatchStatusChanged(connection, status);
837 } 850 }
838 851
839 } // namespace dbus 852 } // namespace dbus
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698