datacommsserver/esockserver/ssock/SS_SVR.CPP
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/ssock/SS_SVR.CPP	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,93 @@
+// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <ss_pman.h>
+#include <es_ver.h>
+#include <commschan.h>
+#include <comms-infras/ss_log.h>
+#include <comms-infras/ss_thread.h>
+#include <comms-infras/ss_roles.h>
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <es_sock_internal.h>
+#endif
+#include <comms-infras/sockmes.h>
+#include "ss_secpol.h"
+
+using namespace CommsFW;
+
+//_LIT(KSocketServerName, "!Socket-Server");
+
+/*static*/ CSocketServer* CSocketServer::NewL(CWorkerThread* aOwnerThread)
+//
+// Create a new CSocketServer.
+//
+	{
+	CSocketServer* self = new (ELeave) CSocketServer(aOwnerThread, EActiveIpcPriority);
+	return self;
+	}
+
+CSocketServer::CSocketServer(CWorkerThread* aOwnerThread, TInt aPriority)
+/**
+ Constructor.
+*/
+:	CCommonServer(aPriority, aOwnerThread, ESock::SocketServerPolicy, ESharableSessions, SOCKET_SERVER_NAME)
+	{
+	}
+
+CSocketServer::~CSocketServer()
+//
+// Destructor.
+//
+	{
+	}
+	
+CSession2* CSocketServer::DoNewSessionL(const TProcessId& aProcessId, const TUidType& aProcessUid) const
+/*
+ Create a new client on this server.
+*/
+	{
+#ifdef _DEBUG
+	if(!iPostBootChecksRun)
+		{
+		iPostBootChecksRun = ETrue;
+		if(WorkerThread().Player())
+			{
+			static_cast<CPlayer*>(WorkerThread().Player())->RunPostBootChecks();
+			}
+		}
+#endif
+	return CSockSession::NewL(aProcessId, aProcessUid, WorkerThread().PitBoss().NextSessionUniqueId());
+	}
+
+TVersion CSocketServer::CurrentVersion() const
+/*
+ Create a new client on this server.
+*/
+	{
+	return TVersion(KES32MajorVersionNumber,KES32MinorVersionNumber,KES32BuildVersionNumber);
+	}
+
+CSocketScheduler* CSocketScheduler::New()
+/**
+ Create and install the active scheduler.
+*/
+	{
+	
+	CSocketScheduler *pA=new CSocketScheduler;
+	__ASSERT_ALWAYS(pA!=NULL,Fault(EMainSchedulerError));
+	CSocketScheduler::Install(pA);
+	return pA;
+	}
+