tsrc/testtools/stubsrv/src/stubsrv.cpp
branchRCL_3
changeset 92 dde4619868dc
parent 86 703a2b94c06c
child 95 55a3258355ea
--- a/tsrc/testtools/stubsrv/src/stubsrv.cpp	Wed Sep 15 13:20:24 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2010 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 "stubsrv.h"
-#include "stubsrvsession.h"
-#include "stubsrvapiexecutor.h"
-#include "apibehavior.h"
-#include "stubsrvsecuritypolicy.h"
-
-CStubSrv::CStubSrv(TInt aPriority)
-  	:CPolicyServer(aPriority, KStubSrvPolicy)
-    {
-    }
-
-CStubSrv* CStubSrv::NewLC()
-    {
-    CStubSrv* self = new (ELeave) CStubSrv(EPriorityNormal);
-    CleanupStack::PushL(self);
-    self->StartL(KStubSrvName);
-    self->ConstructL();
-    return self;
-    }
-
-CStubSrv::~CStubSrv()
-    {
-    iBehQueue.ResetAndDestroy();
-    iBehQueue.Close();
-    iSessions.Close();
-    delete iTimer;
-    }
-
-const TInt KShutdownDelay = 1000000;
-
-void CStubSrv::StartShutdownTimerIfNoSessions()
-	{
-	if (iSessions.Count() == 0 && !iTimer->IsActive())
-		{
-		iTimer->Start(KShutdownDelay, 0, TCallBack(CStubSrv::TimerFired, this));
-		}
-	}
-
-TInt CStubSrv::ClientOpened(CStubSrvSess& aSession)
-	{
-	return iSessions.Append(&aSession);
-	}
-
-void CStubSrv::ClientClosed(CStubSrvSess& aSession)
-	{
-	const TUint sessCount = iSessions.Count();
-	for ( TUint ii = 0 ; ii < sessCount ; ++ii )
-		{
-		if ( iSessions[ii] == &aSession )
-			{
-			iSessions.Remove(ii);
-			break;
-			}
-		}
-	StartShutdownTimerIfNoSessions();
-	}
-
-void CStubSrv::EnqueueL(const RMessage2& aMessage)
-    {
-    TApiBehaviorPckgBuf buf;
-    aMessage.ReadL(0, buf);
-    TInt duration = aMessage.Int1();
-    
-    TInt sesss = iSessions.Count();
-    for (TInt i = 0; i < sesss; i++)
-        {
-        TInt err = iSessions[i]->ConsumeApiBehavior(buf(), duration);
-        if (err == KErrNone)
-            {
-            return;
-            }
-        }
-    TApiQueueItem* item = new (ELeave) TApiQueueItem();
-    item->iBeh = buf();
-    item->iExeDuration = duration;
-    item->iTransactionId = 0;  
-    CleanupStack::PushL(item);
-    iBehQueue.AppendL(item);
-    CleanupStack::Pop(item);
-    }
-
-void CStubSrv::DeleteQueues(const RMessage2& aMessage)
-    {
-    TUint lib = aMessage.Int0();
-    TUint api = aMessage.Int1();
-    TInt count = iBehQueue.Count();
-    for (TInt i = count - 1; i >= 0; i--)
-        {
-        if (iBehQueue[i]->iBeh.MatchId(lib, api))
-            {
-            delete iBehQueue[i];
-            iBehQueue.Remove(i);
-            }
-        }
-    }
-
-TInt CStubSrv::Dequeue(TApiBehavior& aBeh, TInt& aExeDuration, TInt aTransactionId)
-	{
-    TInt count = iBehQueue.Count();
-    for (TInt i = 0; i < count; i++)
-        {
-        if (iBehQueue[i]->iBeh.MatchId(aBeh.iLib, aBeh.iApi) &&
-            aTransactionId == iBehQueue[i]->iTransactionId)
-            {
-            aBeh = iBehQueue[i]->iBeh;
-            aExeDuration = iBehQueue[i]->iExeDuration;
-            delete iBehQueue[i];
-            iBehQueue.Remove(i);
-            return KErrNone;
-            }
-        }
-    return KErrNotFound;	
-	}
-
-void CStubSrv::GetApiCompleteCodeL(const RMessage2& aMessage)
-    {
-    TUint lib = aMessage.Int0();
-    TUint api = aMessage.Int1();
-    TInt count = iBehQueue.Count();
-    for (TInt i = 0; i < count; i++)
-        {
-        if (iBehQueue[i]->iBeh.MatchId(lib, api))
-            {
-            iBehQueue[i]->iTransactionId = iTransctionUnique++;
-            TPckgBuf<TInt> buf(iBehQueue[i]->iTransactionId);
-            aMessage.WriteL(2, buf);
-            aMessage.Complete(iBehQueue[i]->iBeh.iCompleteCode);
-            return;
-            }
-        }
-    aMessage.Complete(0);
-    }
-
-void CStubSrv::ConstructL()
-    {
-    iTimer = CPeriodic::NewL(CActive::EPriorityStandard);
-    }
-
-CSession2* CStubSrv::NewSessionL(const TVersion& aVersion, const RMessage2& /*aMessage*/) const
-    {
-	TVersion v(KStubSrvMajorVersionNumber, KStubSrvMinorVersionNumber, KStubSrvBuildNumber);
-	if ( !User::QueryVersionSupported(v, aVersion) )
-		User::Leave(KErrNotSupported);
-    CStubSrvSess* session = CStubSrvSess::NewL(const_cast<CStubSrv&>(*this));
-    const_cast<CStubSrv*>(this)->CancelShutdownTimer();
-    return session;
-    }
-
-void CStubSrv::CancelShutdownTimer()
-    {
-    iTimer->Cancel();
-    }
-
-TInt CStubSrv::TimerFired(TAny* /*aThis*/)
-	{
-	CActiveScheduler::Stop();
-	return KErrNone;
-	}
-    
-static void RunServerL()
-	{
-    static_cast<void>(User::LeaveIfError(User::RenameThread(KStubSrvName)));	
-	CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
-	CleanupStack::PushL(scheduler);
-	CActiveScheduler::Install(scheduler);
-    CStubSrv::NewLC();
-	RProcess::Rendezvous(KErrNone);
-	CActiveScheduler::Start();
-	CleanupStack::PopAndDestroy(2, scheduler);
-	}
-
-GLDEF_C TInt E32Main()
-    {
-	TInt ret = KErrNoMemory;
-	__UHEAP_MARK;
-	CTrapCleanup* cleanup = CTrapCleanup::New();
-	if (cleanup)
-		{
-		TRAP(ret, RunServerL());
-		delete cleanup;
-		}
-	__UHEAP_MARKEND;
-	return ret;    
-    }