Пример #1
0
STATUS
UserManager::EnumTableReplyHandler( void*, STATUS ){

	UserAccessTableEntry		*pRow = (UserAccessTableEntry *)m_pTemp;
	User						*pUser;
	Container					*pContainer;

	if( m_shouldReinit ){
		m_shouldReinit = false;
		delete m_pTemp;
		return m_pUserTable->Enumerate( &m_pTemp, (pTSCallback_t)METHOD_ADDRESS( UserManager, EnumTableReplyHandler ), NULL );
	}

	pContainer = new SList;
	for( U32 index = 0; index < m_pUserTable->GetNumberOfRows(); index++, pRow++ ){
		pUser = new User( GetListenManager() );
		pUser->BuildYourselfFromPtsRow( pRow );
		pUser->m_pUserManager = this;
		pContainer->Add( (CONTAINER_ELEMENT)pUser );
	}
	AddObjectsIntoManagedObjectsVector( *pContainer );
	delete m_pTemp;
	delete pContainer;

	m_isIniting = m_shouldReinit = false;

	SSAPI_TRACE( TRACE_L2, "\nUserManager: ...Done! Objects built: ", GetManagedObjectCount() );
	SetIsReadyToServiceRequests( true );

	return OK;
}
Пример #2
0
STATUS
UserManager::RowDeletedEventHandler( void *pRow, U32 rowCount, ShadowTable* ){

	SList container;

	if( m_isIniting ){
		m_shouldReinit = true;
		return OK;
	}

	User	*pUser = new User( GetListenManager() );
	pUser->BuildYourselfFromPtsRow( (UserAccessTableEntry *)pRow );
	
	container.Add( (CONTAINER_ELEMENT)pUser );
	DeleteObjectsFromTheSystem( container );
	
	SetIsReadyToServiceRequests( true );
	return OK;
}
Пример #3
0
STATUS 
UserManager::RowInsertedEventHandler( void *pRow, U32 rowCount, ShadowTable* ){

	Container			*pContainer;

	if( m_isIniting ){
		m_shouldReinit = true;
		return OK;
	}

	User	*pUser = new User( GetListenManager() );
	pUser->BuildYourselfFromPtsRow( (UserAccessTableEntry *)pRow );
	pUser->BuildYourValueSet();
	pUser->m_pUserManager = this;

	pContainer = new SList;
	pContainer->Add( ( CONTAINER_ELEMENT )pUser );
	AddObjectsIntoManagedObjectsVector( *pContainer );
	delete pContainer;

	SetIsReadyToServiceRequests( true );
	return OK;
}
Пример #4
0
STATUS 
UserManager::RowModifiedEventHandler( void *pRow, U32 rowCount, ShadowTable* ){

	if( m_isIniting ){
		m_shouldReinit = true;
		return OK;
	}

	User	*pUser = new User( GetListenManager() ), *pOldUser;
	pUser->BuildYourselfFromPtsRow( (UserAccessTableEntry *)pRow );
	pUser->m_pUserManager = this;
	
	DesignatorId	id = DesignatorId( pUser->GetDesignatorId()  );
	pOldUser = (User *)GetManagedObject( &id );
	pOldUser->BuildYourValueSet();
	pUser->BuildYourValueSet();
	*((ValueSet *)pOldUser) = *pUser;
	pOldUser->BuildYourselfFromYourValueSet();
	delete pUser;
	GetListenManager()->PropagateObjectModifiedEventForObjects( pOldUser );
	
	SetIsReadyToServiceRequests( true );
	return OK;
}