/* * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include namespace Swift { class SWIFTEN_API StatusShowSerializer : public GenericPayloadSerializer { public: StatusShowSerializer() : GenericPayloadSerializer() {} virtual std::string serializePayload(std::shared_ptr statusShow) const { if (statusShow->getType () == StatusShow::Online || statusShow->getType() == StatusShow::None) { return ""; } else { std::string result(""); switch (statusShow->getType()) { case StatusShow::Away: result += "away"; break; case StatusShow::XA: result += "xa"; break; case StatusShow::FFC: result += "chat"; break; case StatusShow::DND: result += "dnd"; break; case StatusShow::Online: assert(false); break; case StatusShow::None: assert(false); break; } result += ""; return result; } } }; }