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(); }
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() ); } }
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; }