omxilvideocomps/omxilgraphicsink/tsrc/src/omxilgraphicsinksuiteserver.cpp
author hgs
Fri, 08 Oct 2010 22:09:17 +0100
changeset 0 5d29cba61097
permissions -rw-r--r--
2010wk38_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     1
/*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     3
* All rights reserved.
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     8
*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    11
*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    12
* Contributors:
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    13
*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    14
* Description: 
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    15
*
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    16
*/
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    17
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    18
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    19
/**
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    20
 * @file
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    21
 * @internalTechnology
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    22
 */
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    23
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    24
#include "omxilgraphicsinksuiteserver.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    25
#include "graphicsinkteststeps.h"
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    26
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    27
_LIT(KServerName,"tsu_omxilgraphicsink");
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    28
COmxGsTestSuiteServer* COmxGsTestSuiteServer::NewL()
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    29
/**
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    30
 * @return - Instance of the test server
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    31
 * Same code for Secure and non-secure variants
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    32
 * Called inside the MainL() function to create and start the
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    33
 * CTestServer derived server.
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    34
 */
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    35
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    36
	COmxGsTestSuiteServer * server = new (ELeave) COmxGsTestSuiteServer();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    37
	CleanupStack::PushL(server);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    38
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    39
	server->ConstructL(KServerName);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    40
	CleanupStack::Pop(server);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    41
	return server;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    42
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    43
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    44
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    45
// Secure variants much simpler
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    46
// For EKA2, just an E32Main and a MainL()
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    47
LOCAL_C void MainL()
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    48
/**
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    49
 * Secure variant
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    50
 * Much simpler, uses the new Rendezvous() call to sync with the client
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    51
 */
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    52
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    53
	// Leave the hooks in for platform security
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    54
#if (defined __DATA_CAGING__)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    55
	RProcess().DataCaging(RProcess::EDataCagingOn);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    56
	RProcess().DataCaging(RProcess::ESecureApiOn);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    57
#endif
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    58
	CActiveScheduler* sched=NULL;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    59
	sched=new(ELeave) CActiveScheduler;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    60
	CActiveScheduler::Install(sched);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    61
	COmxGsTestSuiteServer* server = NULL;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    62
	// Create the CTestServer derived server
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    63
	TRAPD(err,server = COmxGsTestSuiteServer::NewL());
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    64
	if(!err)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    65
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    66
		// Sync with the client and enter the active scheduler
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    67
		RProcess::Rendezvous(KErrNone);
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    68
		sched->Start();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    69
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    70
	delete server;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    71
	delete sched;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    72
	}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    73
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    74
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    75
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    76
GLDEF_C TInt E32Main()
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    77
/**
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    78
 * @return - Standard Epoc error code on process exit
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    79
 * Secure variant only
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    80
 * Process entry point. Called by client using RProcess API
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    81
 */
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    82
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    83
	__UHEAP_MARK;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    84
	CTrapCleanup* cleanup = CTrapCleanup::New();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    85
	if(cleanup == NULL)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    86
		{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    87
		return KErrNoMemory;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    88
		}
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    89
	TRAPD(err,MainL());
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    90
	delete cleanup;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    91
	__UHEAP_MARKEND;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    92
	return err;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    93
    }
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    94
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    95
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    96
CTestStep* COmxGsTestSuiteServer::CreateTestStep(const TDesC& aStepName)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    97
/**
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    98
 * @return - A CTestStep derived instance
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
    99
 * Secure and non-secure variants
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   100
 * Implementation of CTestServer pure virtual
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   101
 */
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   102
	{
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   103
	CTestStep* testStep = NULL;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   104
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   105
	// ---------------------------------------------------------------
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   106
	// Graphics Sink Tests
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   107
	// ---------------------------------------------------------------
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   108
	if(aStepName == KOmxGsTest0001Step00) 
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   109
			      testStep = new COmxGsTest0001Step00();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   110
	else if(aStepName == KOmxGsTest0001Step01) 
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   111
		              testStep = new COmxGsTest0001Step01();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   112
	else if(aStepName == KOmxGsTest0001Step02)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   113
	              testStep = new COmxGsTest0001Step02();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   114
	else if(aStepName == KOmxGsTest0001Step03)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   115
	              testStep = new COmxGsTest0001Step03();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   116
	else if(aStepName == KOmxGsTest0001Step04)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   117
	              testStep = new COmxGsTest0001Step04();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   118
	else if(aStepName == KOmxGsTest0001Step05)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   119
					testStep = new COmxGsTest0001Step05();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   120
	else if(aStepName == KOmxGsTest0001Step06)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   121
	              testStep = new COmxGsTest0001Step06();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   122
	else if(aStepName == KOmxGsTest0001Step07)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   123
	              testStep = new COmxGsTest0001Step07();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   124
	else if(aStepName == KOmxGsTest0001Step08)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   125
	              testStep = new COmxGsTest0001Step08();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   126
	else if(aStepName == KOmxGsTest0001Step09)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   127
	              testStep = new COmxGsTest0001Step09();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   128
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   129
	else if(aStepName == KOmxGsTest0002Step01)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   130
	              testStep = new COmxGsTest0002Step01();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   131
	else if(aStepName == KOmxGsTest0002Step02)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   132
	              testStep = new COmxGsTest0002Step02();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   133
	else if(aStepName == KOmxGsTest0002Step03)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   134
	              testStep = new COmxGsTest0002Step03();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   135
	else if(aStepName == KOmxGsTest0002Step04)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   136
	              testStep = new COmxGsTest0002Step04();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   137
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   138
	else if(aStepName == KOmxGsTest0003Step01)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   139
	              testStep = new COmxGsTest0003Step01();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   140
	else if(aStepName == KOmxGsTest0003Step02)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   141
	              testStep = new COmxGsTest0003Step02();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   142
	else if(aStepName == KOmxGsTest0003Step03)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   143
	              testStep = new COmxGsTest0003Step03();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   144
	else if(aStepName == KOmxGsTest0003Step04)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   145
	              testStep = new COmxGsTest0003Step04();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   146
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   147
	else if(aStepName == KOmxGsTest0004Step01)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   148
	              testStep = new COmxGsTest0004Step01();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   149
	else if(aStepName == KOmxGsTest0004Step02)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   150
	              testStep = new COmxGsTest0004Step02();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   151
	else if(aStepName == KOmxGsTest0004Step03)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   152
	              testStep = new COmxGsTest0004Step03();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   153
	else if(aStepName == KOmxGsTest0004Step04)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   154
	              testStep = new COmxGsTest0004Step04();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   155
	else if(aStepName == KOmxGsTest0004Step05)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   156
	              testStep = new COmxGsTest0004Step05();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   157
	else if(aStepName == KOmxGsTest0004Step06)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   158
	              testStep = new COmxGsTest0004Step06();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   159
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   160
	else if(aStepName == KOmxGsTest0005Step01)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   161
	              testStep = new COmxGsTest0005Step01();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   162
	else if(aStepName == KOmxGsTest0005Step02)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   163
	              testStep = new COmxGsTest0005Step02();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   164
	else if(aStepName == KOmxGsTest0005Step03)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   165
	              testStep = new COmxGsTest0005Step03();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   166
	else if(aStepName == KOmxGsTest0005Step04)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   167
	              testStep = new COmxGsTest0005Step04();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   168
	else if(aStepName == KOmxGsTest0005Step05)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   169
	              testStep = new COmxGsTest0005Step05();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   170
	
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   171
	else if(aStepName == KOmxGsTest0006Step01)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   172
		              testStep = new COmxGsTest0006Step01();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   173
	else if(aStepName == KOmxGsTest0006Step02)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   174
		              testStep = new COmxGsTest0006Step02();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   175
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   176
	else if(aStepName == KOmxGsTest0007Step01)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   177
	              testStep = new COmxGsTest0007Step01();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   178
	else if(aStepName == KOmxGsTest0007Step02)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   179
	              testStep = new COmxGsTest0007Step02();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   180
	else if(aStepName == KOmxGsTest0007Step03)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   181
	              testStep = new COmxGsTest0007Step03();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   182
	else if(aStepName == KOmxGsTest0007Step04)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   183
	              testStep = new COmxGsTest0007Step04();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   184
	else if(aStepName == KOmxGsTest0008Step01)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   185
	              testStep = new COmxGsTest0008Step01();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   186
	else if(aStepName == KOmxGsTest0009Step00)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   187
	              testStep = new COmxGsTest0009Step00();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   188
	else if(aStepName == KOmxGsTest0010Step00)
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   189
	              testStep = new COmxGsTest0010Step00();
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   190
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   191
	return testStep;
5d29cba61097 2010wk38_02
hgs
parents:
diff changeset
   192
	}