summaryrefslogtreecommitdiff
path: root/include/CommonAPI/DBus/DBusProxyConnection.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/CommonAPI/DBus/DBusProxyConnection.hpp')
-rw-r--r--include/CommonAPI/DBus/DBusProxyConnection.hpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/CommonAPI/DBus/DBusProxyConnection.hpp b/include/CommonAPI/DBus/DBusProxyConnection.hpp
index 41797e0..4d9f3e0 100644
--- a/include/CommonAPI/DBus/DBusProxyConnection.hpp
+++ b/include/CommonAPI/DBus/DBusProxyConnection.hpp
@@ -62,9 +62,9 @@ class DBusProxyConnection {
// objectPath, interfaceName, interfaceMemberName, interfaceMemberSignature
typedef std::tuple<std::string, std::string, std::string, std::string> DBusSignalHandlerPath;
typedef std::unordered_map<DBusSignalHandlerPath,
- std::map<DBusSignalHandler*,
+ std::map<const DBusSignalHandler*,
std::weak_ptr<DBusProxyConnection::DBusSignalHandler>>> DBusSignalHandlerTable;
- typedef std::unordered_multimap<std::string, std::pair<DBusSignalHandler*,
+ typedef std::unordered_multimap<std::string, std::pair<const DBusSignalHandler*,
std::weak_ptr<DBusSignalHandler>>> DBusOMSignalHandlerTable;
typedef DBusSignalHandlerPath DBusSignalHandlerToken;
@@ -124,7 +124,7 @@ class DBusProxyConnection {
virtual bool addObjectManagerSignalMemberHandler(const std::string& dbusBusName,
std::weak_ptr<DBusSignalHandler> dbusSignalHandler) = 0;
virtual bool removeObjectManagerSignalMemberHandler(const std::string& dbusBusName,
- DBusSignalHandler* dbusSignalHandler) = 0;
+ const DBusSignalHandler* dbusSignalHandler) = 0;
virtual const std::shared_ptr<DBusObjectManager> getDBusObjectManager() = 0;
@@ -153,6 +153,16 @@ class DBusProxyConnection {
void proxyPushFunctionToMainLoop(Function&& _function, Arguments&& ... _args) {
static_cast<DBusConnection*>(this)->proxyPushFunctionToMainLoop(std::forward<Function>(_function), std::forward<Arguments>(_args) ...);
}
+
+ virtual void addSignalStateHandler(
+ std::shared_ptr<DBusProxyConnection::DBusSignalHandler> _handler,
+ const uint32_t _subscription) = 0;
+
+ virtual void removeSignalStateHandler(
+ std::shared_ptr<DBusProxyConnection::DBusSignalHandler> _handler,
+ const uint32_t _tag, bool _remove_all) = 0;
+
+ virtual void handleSignalStates() = 0;
};
} // namespace DBus