summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/introspectable_client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromeos/dbus/introspectable_client.cc')
-rw-r--r--chromeos/dbus/introspectable_client.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/chromeos/dbus/introspectable_client.cc b/chromeos/dbus/introspectable_client.cc
index 83b09a3..81cc8a1 100644
--- a/chromeos/dbus/introspectable_client.cc
+++ b/chromeos/dbus/introspectable_client.cc
@@ -32,10 +32,7 @@ namespace chromeos {
// The IntrospectableClient implementation used in production.
class IntrospectableClientImpl : public IntrospectableClient {
public:
- explicit IntrospectableClientImpl(dbus::Bus* bus)
- : bus_(bus),
- weak_ptr_factory_(this) {
- }
+ IntrospectableClientImpl() : bus_(NULL), weak_ptr_factory_(this) {}
virtual ~IntrospectableClientImpl() {
}
@@ -57,6 +54,9 @@ class IntrospectableClientImpl : public IntrospectableClient {
service_name, object_path, callback));
}
+ protected:
+ virtual void Init(dbus::Bus* bus) OVERRIDE { bus_ = bus; }
+
private:
// Called by dbus:: when a response for Introspect() is recieved.
void OnIntrospect(const std::string& service_name,
@@ -96,6 +96,7 @@ class IntrospectableClientImpl : public IntrospectableClient {
class IntrospectableClientStubImpl : public IntrospectableClient {
public:
// IntrospectableClient override.
+ virtual void Init(dbus::Bus* bus) OVERRIDE {}
virtual void Introspect(const std::string& service_name,
const dbus::ObjectPath& object_path,
const IntrospectCallback& callback) OVERRIDE {
@@ -145,10 +146,9 @@ IntrospectableClient::GetInterfacesFromIntrospectResult(
// static
IntrospectableClient* IntrospectableClient::Create(
- DBusClientImplementationType type,
- dbus::Bus* bus) {
+ DBusClientImplementationType type) {
if (type == REAL_DBUS_CLIENT_IMPLEMENTATION)
- return new IntrospectableClientImpl(bus);
+ return new IntrospectableClientImpl();
DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type);
return new IntrospectableClientStubImpl();
}