Ejemplo n.º 1
0
void CSocketListener::StartServiceL()
	{
/*	HBufC* threadName = HBufC::NewLC(KMaxFileName);
	TPtr ptr = threadName->Des();
	GenerateUniqueName(ptr, this);
	RThread service;
	TRequestStatus status;
	User::LeaveIfError(service.Create(*threadName, CSocketListener::ThreadFunc,
			KStackSize, NULL, this));
	service.Resume();
	service.Close();
	CleanupStack::PopAndDestroy(threadName);
*/
/*	CService* service = CService::NewLC(iServerT);
	service->StartL(iSockClient);
	iSockClient = NULL;
*/
	for(TInt8 i=0; i< iServicePool.Count(); i++)
		{
		CService* service = iServicePool[i]; 
		if(service->IsIdle())
			{
			service->StartL(iSockClient);
			iSockClient = NULL;
			break;
			}
		}
	
	if(iSockClient!=NULL) // if the service pool is fulled, deny a service.
		{
		iSockClient->Close();
		delete iSockClient;
		iSockClient = NULL;
		}
	
	// SetActive();
	}