public method IO2GSessionStatus.onSessionStatusChanged
Brief
Processes notifications about session status changes.
Declaration | ||||
|
Parameters | |
status |
The new session status. During the session lifetime, the session status changes. For a detailed explanation of the session statuses, refer to the Session Statuses section. For the implementation details, see the example below. |
Details
In order to process notifications about session status cahanges, an instance of the class implementing the
IO2GSessionStatus interface must be subscribed to the session object before calling the
O2GSession.login method.
It is accomplished by calling the
O2GSession
.subscribeSessionStatus
method.
Example
Processing session status updates during login and logout [hide]
// Create a session, subscribe to session listener, login, logout try { mSession = O2GTransport.createSession(); SessionStatusListener statusListener = new SessionStatusListener(mSession, mDBName, mPin); mSession.subscribeSessionStatus(statusListener); mSession.login(mUserID, mPassword, mURL, mConnection); while (!statusListener.isConnected() && !statusListener.hasError()) { Thread.Sleep(50); } if (!statusListener.hasError()) { mSession.logout(); while (!statusListener.isDisconnected()) { Thread.Sleep(50); } } mSession.unsubscribeSessionStatus(statusListener); mSession.Dispose(); } catch (Exception e) { Console.WriteLine("Exception: " + e.Message); } // Implementation of IO2GSessionStatus interface public method onSessionStatusChanged public void onSessionStatusChanged(O2GSessionStatusCode status) { mStatus = status; Console.WriteLine("Status: " + mStatus.ToString()); if (mStatus == O2GSessionStatusCode.TradingSessionRequested) { O2GSessionDescriptorCollection descs = mSession.getTradingSessionDescriptors(); Console.WriteLine("\nSession descriptors"); Console.WriteLine("id, name, description, requires pin"); for (O2GSessionDescriptor desc : descs) { Console.WriteLine(desc.Id + " " + desc.Name + " " + desc.Description + " " + desc.RequiresPin); } if (mDBName.Equals("")) { Console.WriteLine("Argument for database is missing"); } else { mSession.setTradingSession(mDBName, mPin); } } }
Declared in IO2GSessionStatus