/* * Copyright (c) 2010-2015 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include namespace Swift { MessageParser::MessageParser(PayloadParserFactoryCollection* factories) : GenericStanzaParser(factories) { GenericStanzaParser::getStanzaGeneric()->setType(Message::Normal); } void MessageParser::handleStanzaAttributes(const AttributeMap& attributes) { boost::optional type = attributes.getAttributeValue("type"); if (type) { if (*type == "chat") { getStanzaGeneric()->setType(Message::Chat); } else if (*type == "error") { getStanzaGeneric()->setType(Message::Error); } else if (*type == "groupchat") { getStanzaGeneric()->setType(Message::Groupchat); } else if (*type == "headline") { getStanzaGeneric()->setType(Message::Headline); } else { getStanzaGeneric()->setType(Message::Normal); } } } }