// Authorize with OnSip PBX // Pass unique contextId to be associated with this request, // the Iq Result will have the same contextId void OnSipXmppBase::Authorize(int contextId,IqHandler* iqHandler) { Logger::log_debug("OnSipXmppBase::Authorize contextId %d iqh=%p",contextId, iqHandler ); _checkThread.CheckSameThread(); // Verify we are single threaded for this object // Create DataForm DataForm* settings = new DataForm( gloox::TypeSubmit ); // Add sip address field DataFormField* dff = new DataFormField( "sip-address", m_login.SIPAddress() ); settings->addField(dff); // Add password field dff = new DataFormField( "password", m_login.m_password, EmptyString, DataFormField::TypeTextPrivate ); settings->addField(dff); // Add command JID toJid( "commands.auth.xmpp.onsip.com" ); IQ iq( IQ::Set, toJid, m_gloox->getID() ); Adhoc::Command *cmd = new Adhoc::Command( "authorize-plain", EmptyString, Adhoc::Command::Executing, settings ); iq.addExtension( cmd ); Logger::log_debug("OnSipXmppBase::Authorize sending"); _ASSERT( iqHandler != NULL ); m_gloox->send( iq, iqHandler, contextId ); }
int main() { ClientBase* cb = new ClientBase(); PubSub::Manager* psm = new PubSub::Manager( cb ); RH* rh = new RH(); cb->setTest( SubscriptionDefault ); psm->subscribe( jid, node, rh ); cb->setTest( SubscriptionJID ); psm->subscribe( jid, node, rh, jid2 ); cb->setTest( SubscriptionSubType ); psm->subscribe( jid, node, rh, jid2, PubSub::SubscriptionItems ); cb->setTest( SubscriptionDepth ); psm->subscribe( jid, node, rh, jid2, PubSub::SubscriptionItems, 0 ); cb->setTest( UnsubscriptionDefault ); psm->unsubscribe( jid, node, subid, rh ); cb->setTest( UnsubscriptionJID ); psm->unsubscribe( jid, node, subid, rh, jid2 ); cb->setTest( GetSubscriptionOptions ); psm->getSubscriptionOptions( jid, jid2, node, rh ); DataForm* df = new DataForm( TypeSubmit ); df->addField( DataFormField::TypeHidden, "FORM_TYPE", "http://jabber.org/protocol/pubsub#subscribe_options" ); cb->setTest( SetSubscriptionOptions ); psm->setSubscriptionOptions( jid, jid2, node, df, rh ); cb->setTest( GetSubscriptionList ); psm->getSubscriptions( jid, rh ); cb->setTest( GetSubscriberList ); psm->getSubscribers( jid, node, rh ); PubSub::SubscriberList sl; sl.push_back( PubSub::Subscriber( jid2, PubSub::SubscriptionNone, "abc" ) ); cb->setTest( SetSubscriberList ); psm->setSubscribers( jid, node, sl, rh ); cb->setTest( GetAffiliationList ); psm->getAffiliations( jid, rh ); cb->setTest( GetAffiliateList ); psm->getAffiliates( jid, node, rh ); PubSub::AffiliateList al; al.push_back( PubSub::Affiliate( jid2, PubSub::AffiliationOwner ) ); cb->setTest( SetAffiliateList ); psm->setAffiliates( jid, node, al, rh ); cb->setTest( GetNodeConfig ); psm->getNodeConfig( jid, node, rh ); df = new DataForm( TypeSubmit ); df->addField( DataFormField::TypeHidden, "FORM_TYPE", "http://jabber.org/protocol/pubsub#node_config" ); df->addField( DataFormField::TypeNone, "pubsub#title", "Princely Musings (Atom)" ); cb->setTest( SetNodeConfig ); psm->setNodeConfig( jid, node, df, rh ); cb->setTest( DefaultNodeConfig ); psm->getDefaultNodeConfig( jid, PubSub::NodeLeaf, rh ); delete rh; delete psm; if( cb->failed ) printf( "PubSub::Manager: %d test(s) failed\n", cb->failed ); else printf( "PubSub::Manager: OK\n" ); delete cb; }