/* * Copyright (c) 2013-2017 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define SWIFTEN_PUBSUBMANAGER_DECLARE_CREATE_REQUEST(payload, container, response) \ virtual std::shared_ptr< PubSubRequest > \ createRequest(IQ::Type, const JID&, std::shared_ptr) = 0; namespace Swift { class JID; class SWIFTEN_API PubSubManager { public: virtual ~PubSubManager(); SWIFTEN_PUBSUB_FOREACH_PUBSUB_PAYLOAD_TYPE( SWIFTEN_PUBSUBMANAGER_DECLARE_CREATE_REQUEST) boost::signals2::signal)> onEvent; }; }