diff options
author | dpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-14 20:22:53 +0000 |
---|---|---|
committer | dpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-14 20:22:53 +0000 |
commit | 02743b707e2743cd0f0916e3b405191a48fa3947 (patch) | |
tree | 2b0c0be422f99a2e0dce81c6de92f9a8bc80b969 /dbus/bus.h | |
parent | 7f58f3f417a0598ad796ca7de7b14a38252d91bd (diff) | |
download | chromium_src-02743b707e2743cd0f0916e3b405191a48fa3947.zip chromium_src-02743b707e2743cd0f0916e3b405191a48fa3947.tar.gz chromium_src-02743b707e2743cd0f0916e3b405191a48fa3947.tar.bz2 |
Revert 121920 - dbus: add ObjectPath type
Rather than use std::string for object paths, add a dbus::ObjectPath type
that wraps one while allowing more type-safety. This solves all sorts of
issues with confusing object paths for strings, and allows us to do
Properties code using templates disambiguating them from strings.
BUG=chromium:109194
TEST=built and run tests
Change-Id: Icaf6f19daea4af23a9d2ec0ed76d2cbd379d680e
Review URL: http://codereview.chromium.org/9378039
TBR=keybuk@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9363045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121923 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'dbus/bus.h')
-rw-r--r-- | dbus/bus.h | 15 |
1 files changed, 7 insertions, 8 deletions
@@ -17,7 +17,6 @@ #include "base/synchronization/waitable_event.h" #include "base/threading/platform_thread.h" #include "base/tracked_objects.h" -#include "dbus/object_path.h" class MessageLoop; @@ -113,7 +112,7 @@ class ObjectProxy; // } // // void OnExported(const std::string& interface_name, -// const ObjectPath& object_path, +// const std::string& object_path, // bool success) { // // success is true if the method was exported successfully. // } @@ -195,13 +194,13 @@ class Bus : public base::RefCountedThreadSafe<Bus> { // // Must be called in the origin thread. virtual ObjectProxy* GetObjectProxy(const std::string& service_name, - const ObjectPath& object_path); + const std::string& object_path); // Same as above, but also takes a bitfield of ObjectProxy::Options. // See object_proxy.h for available options. virtual ObjectProxy* GetObjectProxyWithOptions( const std::string& service_name, - const ObjectPath& object_path, + const std::string& object_path, int options); // Gets the exported object for the given service name and the object @@ -220,7 +219,7 @@ class Bus : public base::RefCountedThreadSafe<Bus> { // // Must be called in the origin thread. virtual ExportedObject* GetExportedObject(const std::string& service_name, - const ObjectPath& object_path); + const std::string& object_path); // Shuts down the bus and blocks until it's done. More specifically, this // function does the following: @@ -354,7 +353,7 @@ class Bus : public base::RefCountedThreadSafe<Bus> { // http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html // // BLOCKING CALL. - virtual bool TryRegisterObjectPath(const ObjectPath& object_path, + virtual bool TryRegisterObjectPath(const std::string& object_path, const DBusObjectPathVTable* vtable, void* user_data, DBusError* error); @@ -362,7 +361,7 @@ class Bus : public base::RefCountedThreadSafe<Bus> { // Unregister the object path. // // BLOCKING CALL. - virtual void UnregisterObjectPath(const ObjectPath& object_path); + virtual void UnregisterObjectPath(const std::string& object_path); // Posts the task to the message loop of the thread that created the bus. virtual void PostTaskToOriginThread( @@ -462,7 +461,7 @@ class Bus : public base::RefCountedThreadSafe<Bus> { // The following sets are used to check if rules/object_paths/filters // are properly cleaned up before destruction of the bus object. std::set<std::string> match_rules_added_; - std::set<ObjectPath> registered_object_paths_; + std::set<std::string> registered_object_paths_; std::set<std::pair<DBusHandleMessageFunction, void*> > filter_functions_added_; |