//-------------------------------------------------------------------------------- bool CPipeConnector::HandlePendingConnectionResult( bool bConnected ) { _WINQ_FCONTEXT( "CPipeConnector::HandlePendingConnectionResult" ); bool bPendingIO = false; // Overlapped ConnectNamedPipe should return zero. if( bConnected ) { //printf("ConnectNamedPipe failed with %d.\n", GetLastError()); return false; } switch( m_ErrorHelper.GetLastError() ) { // The overlapped connection in progress. case ErrorIOPending: bPendingIO = true; break; // Client is already connected, so signal an event. case ErrorPipeConnected: { OVERLAPPED* pOverlapped = reinterpret_cast< OVERLAPPED* >( GetSyncObject() ); CSyncHandle tmpHandle( pOverlapped->hEvent, true ); CEvent tmpEvent( tmpHandle ); if( tmpEvent.Set() ) { tmpHandle.Drop(); break; } } // If an error occurs during the connect operation... default: { //printf("ConnectNamedPipe failed with %d.\n", GetLastError()); return false; } } return bPendingIO; }
void Pipe::SendEnemyBeingSpawnedToGFX() { EngineEvent tmpEvent(INFO_POS_LVL, m_enemyBeingSpawned->GetInfoForDisplay()); m_gameEngine->TransmitInfoToGFX(tmpEvent); }