summaryrefslogtreecommitdiffstats
path: root/dbus/exported_object.h
diff options
context:
space:
mode:
authorkeybuk@google.com <keybuk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-14 21:29:06 +0000
committerkeybuk@google.com <keybuk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-14 21:29:06 +0000
commit216ed0bef820f496f853510c6fb274a817257ea6 (patch)
tree04f3091bce4100749e7d167d033a69a61b9a6a90 /dbus/exported_object.h
parentd8f0b2d5f854cde9556fb4a9bc1a61e636aeba8e (diff)
downloadchromium_src-216ed0bef820f496f853510c6fb274a817257ea6.zip
chromium_src-216ed0bef820f496f853510c6fb274a817257ea6.tar.gz
chromium_src-216ed0bef820f496f853510c6fb274a817257ea6.tar.bz2
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 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=121920 Review URL: https://chromiumcodereview.appspot.com/9378039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121941 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'dbus/exported_object.h')
-rw-r--r--dbus/exported_object.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/dbus/exported_object.h b/dbus/exported_object.h
index 7ac2f88..24db66e 100644
--- a/dbus/exported_object.h
+++ b/dbus/exported_object.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -17,6 +17,7 @@
#include "base/synchronization/waitable_event.h"
#include "base/threading/platform_thread.h"
#include "base/time.h"
+#include "dbus/object_path.h"
namespace dbus {
@@ -36,7 +37,7 @@ class ExportedObject : public base::RefCountedThreadSafe<ExportedObject> {
// constructor.
ExportedObject(Bus* bus,
const std::string& service_name,
- const std::string& object_path);
+ const ObjectPath& object_path);
// Called to send a response from an exported method. Response* is the
// response message. Callers should pass a NULL Response* in the event
@@ -157,7 +158,7 @@ class ExportedObject : public base::RefCountedThreadSafe<ExportedObject> {
scoped_refptr<Bus> bus_;
std::string service_name_;
- std::string object_path_;
+ ObjectPath object_path_;
bool object_is_registered_;
// The method table where keys are absolute method names (i.e. interface