diff --git a/include/Swiften/Elements/Privilege.h b/include/Swiften/Elements/Privilege.h new file mode 100644 index 0000000000000000000000000000000000000000..760eef09ff39aafdb96cbe82f6fadc86a42fb965 --- /dev/null +++ b/include/Swiften/Elements/Privilege.h @@ -0,0 +1,45 @@ +/* + * 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_; + }; +}