1 Xmpp4Js.Lang.namespace( "Xmpp4Js.Packet" );
  2 
  3 /**
  4  * Constructs a Presence packet if the Packet.Base constructor doesn't
  5  * handle it.
  6  * 
  7  * @param {Object} username
  8  * @param {Object} password
  9  * @param {Object} resource
 10  * @constructor
 11  * @extends Xmpp4Js.Packet.IQ
 12  */
 13 Xmpp4Js.Packet.AuthPlainText = function( username, password, resource ) {
 14     var doc = Xmpp4Js.Packet.getDocument();
 15     
 16     Xmpp4Js.Packet.AuthPlainText.superclass.constructor.call( this, null, "set", "jabber:iq:auth" );
 17     
 18     var query = this.getQuery();
 19     // FIXME see if Prototype can make this easier...
 20     query.appendChild( doc.createElement( "username" ) ).appendChild( doc.createTextNode(username) );
 21     query.appendChild( doc.createElement( "password" ) ).appendChild( doc.createTextNode(password) );
 22     query.appendChild( doc.createElement( "resource" ) ).appendChild( doc.createTextNode(resource) );
 23     query.appendChild( doc.createElement( "plaintext" ) );
 24 }
 25 
 26 Xmpp4Js.Packet.AuthPlainText.prototype = {
 27     /**
 28      * @deprecated see Xmpp4Js.Workflow.Login
 29      */
 30     send : function( con ) {
 31         this.setTo( con.domain );
 32         con.send( this, function( responseIq ) {
 33             if( responseIq.getType() == 'error' ) {
 34                 con.fireEvent( "autherror" );
 35             } else { 
 36                 //alert( "plaintext auth succes with packet, evens" );
 37                 con.jid = responseIq.getTo();
 38                 // FIXME this is legacy for JSJaC... onconnect should happen on connect
 39                 con.fireEvent( "onconnect" );
 40                 con.fireEvent( "onauth" );
 41             }
 42         } );
 43     }
 44 }
 45 
 46 Xmpp4Js.Lang.extend( Xmpp4Js.Packet.AuthPlainText, Xmpp4Js.Packet.IQ, Xmpp4Js.Packet.AuthPlainText.prototype);
 47