/* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #ifndef SWIFTEN_StatusShowSerializer_H #define SWIFTEN_StatusShowSerializer_H #include "Swiften/Serializer/GenericPayloadSerializer.h" #include "Swiften/Elements/StatusShow.h" namespace Swift { class StatusShowSerializer : public GenericPayloadSerializer { public: StatusShowSerializer() : GenericPayloadSerializer() {} virtual String serializePayload(boost::shared_ptr statusShow) const { if (statusShow->getType () == StatusShow::Online || statusShow->getType() == StatusShow::None) { return ""; } else { 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; } } }; } #endif