int CallInLogOffUserSession::doStuff() { ConnectionPtr currentConnection = APP_CONTEXT.getConnectionStore()->getConnection(mConnectionId); if (!currentConnection) { WLog_Print(logger_CallInLogOffUserSession, WLOG_ERROR, "connection does not exist for connectionId=%lu", mConnectionId); mLoggedOff = false; return -1; } UINT32 sessionId = currentConnection->getSessionId(); SessionPtr currentSession = APP_CONTEXT.getSessionStore()->getSession(sessionId); if (!currentSession) { WLog_Print(logger_CallInLogOffUserSession, WLOG_ERROR, "session does not exist for sessionId=%lu", sessionId); mLoggedOff = false; return -1; } WLog_Print(logger_CallInLogOffUserSession, WLOG_DEBUG, "logging off session (connectionId=%lu, sessionId=%lu)", mConnectionId, sessionId); currentSession->stopModule(); APP_CONTEXT.getSessionStore()->removeSession(sessionId); APP_CONTEXT.getConnectionStore()->removeConnection(mConnectionId); mLoggedOff = true; return 0; }