os/ossrv/genericopenlibs/posixrealtimeextensions/test/testcapclock/src/tcapclockserver.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // Name        : tcapclockserver.cpp
    15 // 
    16 //
    17 
    18 
    19 #include <c32comm.h>
    20 
    21 #if defined (__WINS__)
    22 #define PDD_NAME		_L("ECDRV")
    23 #else
    24 #define PDD_NAME		_L("EUART1")
    25 #define PDD2_NAME		_L("EUART2")
    26 #define PDD3_NAME		_L("EUART3")
    27 #define PDD4_NAME		_L("EUART4")
    28 #endif
    29 
    30 #define LDD_NAME		_L("ECOMM")
    31 
    32 #include "tcapclockserver.h"
    33 #include "tcapclock.h"
    34 
    35 
    36 //_LIT(KServerName, "tstdiocap");
    37 
    38 CCapclockTestServer* CCapclockTestServer::NewL()
    39 	{
    40 	CCapclockTestServer *server = new(ELeave) CCapclockTestServer();
    41 	CleanupStack::PushL(server);
    42 	//server->ConstructL(KServerName);
    43 RProcess	handle = RProcess();
    44 	TParsePtrC	serverName(handle.FileName());
    45 	server->StartL(serverName.Name());
    46 
    47 
    48 	CleanupStack::Pop(server);
    49 	return server;
    50 	}
    51 
    52 static void InitCommsL()
    53     {
    54     TInt ret = User::LoadPhysicalDevice(PDD_NAME);
    55     User::LeaveIfError(ret == KErrAlreadyExists?KErrNone:ret);
    56 
    57 #ifndef __WINS__
    58     ret = User::LoadPhysicalDevice(PDD2_NAME);
    59     ret = User::LoadPhysicalDevice(PDD3_NAME);
    60     ret = User::LoadPhysicalDevice(PDD4_NAME);
    61 #endif
    62 
    63     ret = User::LoadLogicalDevice(LDD_NAME);
    64     User::LeaveIfError(ret == KErrAlreadyExists?KErrNone:ret);
    65     ret = StartC32();
    66     User::LeaveIfError(ret == KErrAlreadyExists?KErrNone:ret);
    67     }
    68 
    69 LOCAL_C void MainL()
    70 	{
    71 	// Leave the hooks in for platform security
    72 #if (defined __DATA_CAGING__)
    73 	RProcess().DataCaging(RProcess::EDataCagingOn);
    74 	RProcess().SecureApi(RProcess::ESecureApiOn);
    75 #endif
    76 	//InitCommsL();
    77 	
    78 	CActiveScheduler* sched=NULL;
    79 	sched=new(ELeave) CActiveScheduler;
    80 	CActiveScheduler::Install(sched);
    81 	CCapclockTestServer* server = NULL;
    82 	// Create the CTestServer derived server
    83 	TRAPD(err, server = CCapclockTestServer::NewL());
    84 	if(!err)
    85 		{
    86 		// Sync with the client and enter the active scheduler
    87 		RProcess::Rendezvous(KErrNone);
    88 		sched->Start();
    89 		}
    90 	delete server;
    91 	delete sched;
    92 	}
    93 
    94 /**
    95  * Server entry point
    96  * @return Standard Epoc error code on exit
    97  */
    98 TInt main()
    99 	{
   100 	__UHEAP_MARK;
   101 	CTrapCleanup* cleanup = CTrapCleanup::New();
   102 	if(cleanup == NULL) 
   103 		{
   104 		return KErrNoMemory;  
   105 		}
   106 	TRAP_IGNORE(MainL());
   107 	delete cleanup;
   108 	__UHEAP_MARKEND;
   109 	
   110 	return KErrNone;
   111 	}
   112 
   113 CTestStep* CCapclockTestServer::CreateTestStep(const TDesC& aStepName)
   114 	{
   115 	CTestStep* testStep = NULL;
   116 
   117 	// This server creates just one step but create as many as you want
   118 	// They are created "just in time" when the worker thread is created
   119 	// install steps
   120 
   121 	//steps for captest.
   122 	
   123 	 if(aStepName == KTestcapclocksettime1)
   124 		{
   125 		testStep = new Ctestcapclock(aStepName);
   126 		}
   127 	
   128 	return testStep;
   129 	}
   130