summaryrefslogtreecommitdiff
path: root/src/CommonAPI/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/CommonAPI/types.h')
-rw-r--r--src/CommonAPI/types.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/CommonAPI/types.h b/src/CommonAPI/types.h
index f8663f1..ffc338c 100644
--- a/src/CommonAPI/types.h
+++ b/src/CommonAPI/types.h
@@ -13,6 +13,12 @@
#define COMMONAPI_TYPES_H_
#include <cstdint>
+#include <functional>
+#include <unordered_set>
+#include <memory>
+#include <tuple>
+#include "ContainerUtils.h"
+#include "Event.h"
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
# define COMMONAPI_DEPRECATED __attribute__ ((__deprecated__))
@@ -61,7 +67,22 @@ class ClientId {
public:
virtual ~ClientId() { }
virtual bool operator==(ClientId& clientIdToCompare) = 0;
+ virtual std::size_t hashCode() = 0;
};
+
+template <typename ... Args>
+struct SelectiveBroadcastFunctorHelper {
+ typedef std::function<SubscriptionStatus(Args...)> SelectiveBroadcastFunctor;
+};
+
+
+typedef std::unordered_set<std::shared_ptr<CommonAPI::ClientId>, SharedPointerClientIdContentHash, SharedPointerClientIdContentEqual> ClientIdList;
+template <typename ... Args>
+struct SelectiveBroadcastSubscriptionResult {
+ typedef std::tuple<bool, typename CommonAPI::Event<Args...>::Subscription> SubscriptionResult;
+
+};
+
} // namespace CommonAPI
#endif // COMMONAPI_TYPES_H_