/* * Implements Privilege tag for XEP-0356: Privileged Entity * Licensed under the Simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include #include #include #include #if (SWIFTEN_VERSION >= 0x030000) #define SWIFTEN_SUPPORTS_FORWARDED #include #endif #include "Swiften/SwiftenCompat.h" namespace Swift { class Stanza; class Privilege : public Payload { public: typedef SWIFTEN_SHRPTR_NAMESPACE::shared_ptr ref; #ifdef SWIFTEN_SUPPORTS_FORWARDED typedef Swift::Forwarded Forwarded; #else typedef Payload Forwarded; #endif public: Privilege(); void setForwarded(SWIFTEN_SHRPTR_NAMESPACE::shared_ptr forwarded) { forwarded_ = forwarded; } const SWIFTEN_SHRPTR_NAMESPACE::shared_ptr& getForwarded() const { return forwarded_; } private: SWIFTEN_SHRPTR_NAMESPACE::shared_ptr forwarded_; }; }