DBusConnectionStatusEvent: AVAILABLE on subscribe if isConnected
[profile/ivi/common-api-dbus-runtime.git] / src / CommonAPI / DBus / DBusConnection.h
index 1d397c6..b023b39 100644 (file)
@@ -1,4 +1,7 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
+/* Copyright (C) 2013 BMW Group
+ * Author: Manfred Bathelt (manfred.bathelt@bmw.de)
+ * Author: Juergen Gehring (juergen.gehring@bmw.de)
+ * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 #ifndef COMMONAPI_DBUS_DBUS_CONNECTION_H_
 namespace CommonAPI {
 namespace DBus {
 
-class DBusConnection;
 class DBusObjectManager;
 
-class DBusConnectionStatusEvent: public Event<AvailabilityStatus> {
+class DBusConnectionStatusEvent: public DBusProxyConnection::ConnectionStatusEvent {
     friend class DBusConnection;
+
+ public:
+    DBusConnectionStatusEvent(DBusConnection* dbusConnection);
+
+ protected:
+    virtual void onListenerAdded(const CancellableListener& listener);
+
+    DBusConnection* dbusConnection_;
 };
 
 
@@ -52,7 +62,7 @@ class DBusConnection: public DBusProxyConnection, public std::enable_shared_from
 
        virtual bool isConnected() const;
 
-       virtual DBusConnectionStatusEvent& getConnectionStatusEvent();
+       virtual ConnectionStatusEvent& getConnectionStatusEvent();
 
        virtual bool requestServiceNameAndBlock(const std::string& serviceName) const;
        virtual bool releaseServiceName(const std::string& serviceName) const;