sl@0: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Example file/test code to demonstrate how to develop a TestExecute Server sl@0: // Developers should take this project as a template and substitute their own sl@0: // code at the __EDIT_ME__ tags sl@0: // for (WINS && !EKA2) versions will be xxxServer.Dll and require a thread to be started sl@0: // in the process of the client. The client initialises the server by calling the sl@0: // one and only ordinal. sl@0: // sl@0: // sl@0: sl@0: /** sl@0: @file captestinfoserver.cpp sl@0: */ sl@0: sl@0: #include "captestinfoserver.h" sl@0: sl@0: CCapTestInfoServer* CCapTestInfoServer::NewL() sl@0: /** sl@0: * @return - Instance of the test server sl@0: * CServer2 derived server. sl@0: */ sl@0: { sl@0: CCapTestInfoServer * server = new (ELeave) CCapTestInfoServer(); sl@0: CleanupStack::PushL(server); sl@0: sl@0: server->StartL(KInfoServerName); sl@0: CleanupStack::Pop(server); sl@0: return server; sl@0: } sl@0: sl@0: CCapTestInfoServer::CCapTestInfoServer() : sl@0: CServer2(EPriorityStandard) sl@0: { sl@0: iSessionConnected = EFalse; sl@0: } sl@0: sl@0: CCapTestInfoServer::~CCapTestInfoServer() sl@0: { sl@0: } sl@0: sl@0: CSession2* CCapTestInfoServer::NewSessionL(const TVersion& /*aVersion*/,const RMessage2& /*aMessage*/) const sl@0: { sl@0: CCapTestInfoServerSession* session = CCapTestInfoServerSession::NewL(); sl@0: return session; sl@0: } sl@0: sl@0: sl@0: CCapTestInfoServerSession* CCapTestInfoServerSession::NewL() sl@0: { sl@0: CCapTestInfoServerSession* self = new (ELeave) CCapTestInfoServerSession(); sl@0: return self; sl@0: } sl@0: sl@0: CCapTestInfoServerSession::CCapTestInfoServerSession() sl@0: : CSession2() sl@0: { sl@0: } sl@0: sl@0: CCapTestInfoServerSession::~CCapTestInfoServerSession() sl@0: { sl@0: } sl@0: sl@0: void CCapTestInfoServerSession::ServiceL(const RMessage2 &aMessage) sl@0: { sl@0: TInt err = KErrNone; sl@0: switch (aMessage.Function()) sl@0: { sl@0: case ECapTestInfoThreadId: sl@0: DoGetThreadIdL(aMessage); sl@0: break; sl@0: default: sl@0: User::Leave(KErrNotSupported); sl@0: break; sl@0: } sl@0: aMessage.Complete(err); sl@0: } sl@0: sl@0: void CCapTestInfoServerSession::DoGetThreadIdL(const RMessage2 &aMessage) sl@0: { sl@0: RThread thisThread; sl@0: TPckgBuf tid(thisThread.Id()); sl@0: aMessage.WriteL(0, tid); sl@0: } sl@0: