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 }
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(); */ } }