//////////////////////////////////////////////////////////////////////////////// // (c) Copyright, Ubisoft Entertainment Inc. || Created by Harbour // //////////////////////////////////////////////////////////////////////////////// #pragma once #include "tests/config.h" #if defined(US_SDK_LIGHT_MOBILE) #error This file shall not be part of the solution #endif #include #include #include #include #include #include namespace US_NS {; class Facade; class ProfileId; namespace NotificationHelper // TODO: Remove this namespace { class MultiConnection { public: MultiConnection(Vector& facades, const Vector types, const String& json); void checkConnection(const bool canCheckSelf = false); void filterConnectionInfo(const Map >& connectionMappings); const AsyncResult > > checkConnectionsNoResultCheck(uint32 facadeIndex, const bool canCheckSelf = false); enum class SendType { UsingProfileId, UsingConnectionInfo }; void sendMessage(uint32 sourceId, const Vector& targets, SendType type, String* out = NULL); const AsyncResultBatch sendMessageNoResultCheckConnectionId(uint32 sourceId, const bool canSendSelf = false); const AsyncResultBatch sendMessageNoResultCheckProfileId(uint32 sourceId, const bool canSendSelf = false); void sendUnsupportedMessage(uint32 sourceId, SendType useConnectionInfo, const bool canSendSelf = false); void validatePopMsgData(const String& msgData); void waitForMessageAndPop(uint32 sourceId, uint32 expectedMessageCount, String* out = NULL); Vector& m_facades; Vector::ListenerHandler> m_handlers; Vector m_profiles; const Vector m_testConnetionTypes; const String m_jsonData; Vector m_connectionInfos; private: US_CLASS_COPY_NOT_ALLOWED(MultiConnection); }; } };