예제 #1
0
        void client_UserConnected(object sender, XmppEventArgs e)
        {
            if (client == null || !client.IsConnected)
            {
                return;
            }

            UserSettingProvider = new CryptedLocalUserSettingsProvider(client.ServerName, client.Jid.Bare);
            UserSetting         = UserSettingProvider.Load();
            Dispatcher.BeginInvoke(new Action(() => {
                UserSetting.PresenceStatus = cmbGetSelectedPresence(cmbConnectPresence);
                cmbSetPresence(cmbRosterPresence, UserSetting.PresenceStatus);

                ChatMgr.SetConversationInput(true);
                miLogout.IsEnabled = true;
                timerCommHolder.Start();
            }), DispatcherPriority.Normal);

            int id = client.GetRoster();

            Signals.Register(id, (par) => {
                Dispatcher.BeginInvoke(new Action(() => {
                    SendPresence(cmbGetSelectedPresence(cmbConnectPresence), txtPresenceMessage.Text.Trim());
                }), DispatcherPriority.Normal);
                Dispatcher.DelayInvoke(TimeSpan.FromSeconds(8), () => {
                    if (client != null && client.IsConnected)
                    {
                        if (!client.HostName.ToLower().Contains("facebook"))                            // @@@ do not working with facebook... bug?
                        {
                            client.SendVCardRequest(client.Jid);
                        }
                    }
                });
            });

            Log("connected");
        }
예제 #2
0
 void client_UserDisconnected(object sender, XmppEventArgs e)
 {
 }
예제 #3
0
 void client_RecvStreamCallback(object sender, XmppEventArgs e)
 {
     Dispatcher.BeginInvoke(new Action(() => {
         Trace(e.Message, true);
     }), DispatcherPriority.Normal);
 }
예제 #4
0
파일: Matrix.cs 프로젝트: Krivda/gUmMY
 private void FireEventOnMessageReceived(XmppEventArgs e)
 {
     OnMessageReceived?.Invoke(this, e);
 }