/* * Copyright (c) 2017 Tarun Gupta * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include #include #include #include namespace Swift { class SWIFTEN_API MIXUpdateSubscription : public Payload { public: using ref = std::shared_ptr; public: MIXUpdateSubscription() {} const boost::optional& getJID() const { return jid_; } void setJID(JID jid) { jid_ = jid; } const std::unordered_set& getSubscriptions() const { return subscribeItems_; } void setSubscriptions(std::unordered_set values) { subscribeItems_ = values ; } void addSubscription(std::string value) { subscribeItems_.insert(value); } bool hasSubscription(const std::string& value) const { return std::find(subscribeItems_.begin(), subscribeItems_.end(), value) != subscribeItems_.end(); } private: boost::optional jid_; std::unordered_set subscribeItems_; }; }