bool UserManager::Logout( User *pUser, SsapiResponder *pResponder ){ pUser->BuildYourselfFromYourValueSet(); DesignatorId id = pUser->GetDesignatorId(); User *pManagedObject = (User *)GetManagedObject( &id ); U32 rc; ValueSet *pReturnSet = new ValueSet; if( pManagedObject ){ rc = SSAPI_RC_SUCCESS; pManagedObject->DeleteOpenSession( pResponder->GetSessionID() ); //TBDGAI if we want to show who is present, we need an event here } else rc = SSAPI_EXCEPTION_SECURITY; ValueSet *pRc = new ValueSet; pRc->AddInt(rc, SSAPI_RETURN_STATUS ); if( rc != SSAPI_RC_SUCCESS ) pRc->AddInt( CTS_SSAPI_USER_WAS_NOT_LOGGED_IN, SSAPI_EXCEPTION_STRING_ID ); pReturnSet->AddValue( pRc, SSAPI_RETURN_STATUS_SET ); pResponder->Respond( pReturnSet, TRUE ); // username as a parameter LogEvent( CTS_SSAPI_EVENT_USER_LOGGED_OUT, pManagedObject->GetUserName() ); delete pReturnSet; delete pRc; return true; }