/// <summary> /// Conecta a Jabber /// </summary> private void Connect() { // Crea el objeto cliente objXmppClient = new Bau.Libraries.LibXmppClient.JabberManager(); // Añade los manejadores de eventos objXmppClient.MessageReceived += (objSender, objEventArgs) => { BeginInvoke((Action) (() => ShowMessageReceived(objEventArgs)), null); }; objXmppClient.ChangedStatus += (objSender, objEventArgs) => { BeginInvoke((Action) (() => TreatChangedStatus(objEventArgs)), null); }; objXmppClient.SubscriptionRequested += (objSender, objEventArgs) => { if (this.InvokeRequired) this.Invoke(new EventHandler(delegate { TreatSubscriptionRequested(objEventArgs); }) ); else TreatSubscriptionRequested(objEventArgs); }; objXmppClient.FormRequested += (objSender, objEventArgs) => { if (this.InvokeRequired) this.Invoke(new EventHandler(delegate { TreatRequestForm(objEventArgs); }) ); else TreatRequestForm(objEventArgs); }; objXmppClient.RosterUpdated += (objSender, objEventArgs) => { BeginInvoke((Action) (() => LoadListContacts()), null); }; objXmppClient.ChangedUserStatus += (objSender, objEventArgs) => { BeginInvoke((Action) (() => { SetUserStatus(objEventArgs.Connection, objEventArgs.User.Status.Status, objEventArgs.User.Status.Message); } ), null); }; // Carga los datos de conexión try { new UC.ConnectionsRepository().Load(objXmppClient, GetConfigurationFileName()); } catch (Exception objException) { System.Diagnostics.Debug.WriteLine("Error al cargar el archivo de conexión: " + objException.Message); } // Conecta los datos foreach (JabberConnection objConnection in objXmppClient.Connections) if (objConnection.User.Status.Status != JabberContactStatus.Availability.Offline) objConnection.Connect(); // Muestra la lista de contactos LoadListContacts(); // Graba la configuración SaveConfiguration(); }
/// <summary> /// Desconecta /// </summary> private void CloseApplication() { // Graba la configuración SaveConfiguration(); // Desconecta if (objXmppClient != null) { // Cierra la conexión objXmppClient.Disconnect(); // Libera el objeto objXmppClient = null; } }
/// <summary> /// Crea un uusario /// </summary> private void CreateUser() { string strServer = GetServer(); if (!strServer.IsEmpty()) { Bau.Libraries.LibXmppClient.JabberManager objXmppRegisterClient = new Bau.Libraries.LibXmppClient.JabberManager(); string strError; // Asigna el manejador de eventos objXmppRegisterClient.FormRequested += (objSender, objEventArgs) => { if (this.InvokeRequired) this.Invoke(new EventHandler(delegate { TreatRequestForm(objEventArgs); }) ); else TreatRequestForm(objEventArgs); }; // Comienza el registro if (!objXmppRegisterClient.RegisterBegin(strServer, out strError)) Bau.Controls.Forms.Helper.ShowMessage(this, strError); else Bau.Controls.Forms.Helper.ShowMessage(this, "Se ha creado el usuario correctamente"); } }