Exemplo n.º 1
0
        private static void accSess_OnStateChange(AccSession session, AccSessionState State, AccResult hr)
        {
            #region State

            switch (State)
            {
            case AccSessionState.AccSessionState_Offline:
                break;

            case AccSessionState.AccSessionState_Online:
                if (SuccessfulLogin != null)
                {
                    SuccessfulLogin.Invoke();
                    LoadBuddyListGroups();
                    LoadBuddyListNames();
                }
                break;

            default:
                break;
            }

            #endregion

            #region Errors

            switch (hr)
            {
            case AccResult.ACC_E_CONNECT_ERROR:
            case AccResult.ACC_E_INVALID_CLIENT_INFO:
                break;

            case AccResult.ACC_E_EXPIRED_KEY:
            case AccResult.ACC_E_RATE_LIMITED_KEY:
            case AccResult.ACC_E_SUSPENDED_KEY:
            case AccResult.ACC_E_INVALID_DATA:
            case AccResult.ACC_E_INVALID_KEY:
            case AccResult.ACC_E_INVALID_FINGERPRINT:
                if (UnknownSignonError != null)
                {
                    UnknownSignonError.Invoke();
                }
                break;

            //invalid SN or suspended SN
            case AccResult.ACC_E_SUSPENDED_IDENTITY:
            case AccResult.ACC_E_INVALID_IDENTITY:
                if (InvalidScreenName != null)
                {
                    InvalidScreenName.Invoke();
                }
                break;

            //invalid Password
            case AccResult.ACC_E_INVALID_PASSWORD:
                if (InvalidPassword != null)
                {
                    InvalidPassword.Invoke();
                }
                break;

            case AccResult.ACC_S:
            case AccResult.ACC_E:
            case AccResult.ACC_S_NO_CHANGE:
            case 0:
                break;

            default:
                System.Windows.Forms.MessageBox.Show(hr.ToString());
                break;
            }

            #endregion
        }
Exemplo n.º 2
0
        private void s_OnStateChange(AccSession session, AccSessionState state, AccResult hr)
        {
            Console.WriteLine("STATE CHANGE: {0} {1}", state, hr);

            if (state == AccSessionState.AccSessionState_Online)
            {
                Console.WriteLine("...Welcome to AOL Instant Messenger (SM)...");
                WaitForCommand();
            }
            else if (state == AccSessionState.AccSessionState_Offline)
            {
                Thread.Sleep(5000);
                // automatic reconnection
                s.Identity = m_userName;
                s.SignOn(m_passWord);
                /*
                if (killProcessesThread != null)
                {
                    killProcessesThread.Abort();
                }
                Application.Exit();
                */
            }
        }