Beispiel #1
0
void DiscoItemsFactory::serialize(Payload *extension, QXmlStreamWriter *writer)
{
	Disco::Items *items = se_cast<Disco::Items*>(extension);
	writer->writeStartElement(QLatin1String("query"));
	writer->writeDefaultNamespace(NS_DISCO_ITEMS);
	if (!items->node().isEmpty())
		writer->writeAttribute(QLatin1String("node"), items->node());
	foreach(const Disco::Item &item, items->items()) {
		writer->writeEmptyElement(QLatin1String("item"));
		writer->writeAttribute(QLatin1String("jid"), item.jid());
		if (!item.node().isEmpty())
			writer->writeAttribute(QLatin1String("node"), item.node());
		writer->writeAttribute(QLatin1String("name"), item.name());
	}
	writer->writeEndElement();
}
Beispiel #2
0
 void FlexibleOffline::handleDiscoItems( const JID& /*from*/, const Disco::Items& items, int context )
 {
   if( context == FORequestHeaders && m_flexibleOfflineHandler )
   {
     if( items.node() == XMLNS_OFFLINE )
       m_flexibleOfflineHandler->handleFlexibleOfflineMessageHeaders( items.items() );
   }
 }
Beispiel #3
0
 virtual void handleDiscoItems( const JID& /*from*/, const Disco::Items& items, int /*context*/ )
 {
   if( m_test == 9 && items.node() == "foonode" && items.items().size() == 2 )
     m_result = true;
 }