コード例 #1
0
void PresenceParser::handleStanzaAttributes(const AttributeMap& attributes) {
	boost::optional<std::string> type = attributes.getAttributeValue("type");
	if (type) {
		if (*type == "unavailable") {
			getStanzaGeneric()->setType(Presence::Unavailable);
		}
		else if (*type == "probe") {
			getStanzaGeneric()->setType(Presence::Probe);
		}
		else if (*type == "subscribe") {
			getStanzaGeneric()->setType(Presence::Subscribe);
		}
		else if (*type == "subscribed") {
			getStanzaGeneric()->setType(Presence::Subscribed);
		}
		else if (*type == "unsubscribe") {
			getStanzaGeneric()->setType(Presence::Unsubscribe);
		}
		else if (*type == "unsubscribed") {
			getStanzaGeneric()->setType(Presence::Unsubscribed);
		}
		else if (*type == "error") {
			getStanzaGeneric()->setType(Presence::Error);
		}
		else {
			std::cerr << "Unknown Presence type: " << *type << std::endl;
			getStanzaGeneric()->setType(Presence::Available);
		}
	}
	else {
		getStanzaGeneric()->setType(Presence::Available);
	}
}
コード例 #2
0
void MessageParser::handleStanzaAttributes(const AttributeMap& attributes) {
	boost::optional<std::string> 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);
		}
	}
}
コード例 #3
0
ファイル: IQParser.cpp プロジェクト: bessey/picnic-doc-server
void IQParser::handleStanzaAttributes(const AttributeMap& attributes) {
	AttributeMap::const_iterator type = attributes.find("type");
	if (type != attributes.end()) {
		if (type->second == "set") {
			getStanzaGeneric()->setType(IQ::Set);
		}
		else if (type->second == "get") {
			getStanzaGeneric()->setType(IQ::Get);
		}
		else if (type->second == "result") {
			getStanzaGeneric()->setType(IQ::Result);
		}
		else if (type->second == "error") {
			getStanzaGeneric()->setType(IQ::Error);
		}
		else {
			std::cerr << "Unknown IQ type: " << type->second << std::endl;
			getStanzaGeneric()->setType(IQ::Get);
		}
	}
}
コード例 #4
0
MessageParser::MessageParser(PayloadParserFactoryCollection* factories) : 
		GenericStanzaParser<Message>(factories) {
	getStanzaGeneric()->setType(Message::Normal);
}