kerneltest/e32test/usb/t_usb_device/src/transfersrvmain.cpp
author hgs
Tue, 24 Aug 2010 14:49:21 +0100
changeset 253 d37db4dcc88d
parent 189 a5496987b1da
permissions -rw-r--r--
201033_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
189
a5496987b1da 201025_04
hgs
parents:
diff changeset
     1
/*
253
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
     2
* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
189
a5496987b1da 201025_04
hgs
parents:
diff changeset
     3
* All rights reserved.
a5496987b1da 201025_04
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
a5496987b1da 201025_04
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
a5496987b1da 201025_04
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
a5496987b1da 201025_04
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
a5496987b1da 201025_04
hgs
parents:
diff changeset
     8
*
a5496987b1da 201025_04
hgs
parents:
diff changeset
     9
* Initial Contributors:
a5496987b1da 201025_04
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
a5496987b1da 201025_04
hgs
parents:
diff changeset
    11
*
a5496987b1da 201025_04
hgs
parents:
diff changeset
    12
* Contributors:
a5496987b1da 201025_04
hgs
parents:
diff changeset
    13
*
a5496987b1da 201025_04
hgs
parents:
diff changeset
    14
* Description:
a5496987b1da 201025_04
hgs
parents:
diff changeset
    15
*
a5496987b1da 201025_04
hgs
parents:
diff changeset
    16
*/
a5496987b1da 201025_04
hgs
parents:
diff changeset
    17
a5496987b1da 201025_04
hgs
parents:
diff changeset
    18
#include <e32base.h>
a5496987b1da 201025_04
hgs
parents:
diff changeset
    19
#include <e32test.h>
a5496987b1da 201025_04
hgs
parents:
diff changeset
    20
#include "transfersrv.h"
253
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
    21
#include "OstTraceDefinitions.h"
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
    22
#ifdef OST_TRACE_COMPILER_IN_USE
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
    23
#include "transfersrvmainTraces.h"
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
    24
#endif
189
a5496987b1da 201025_04
hgs
parents:
diff changeset
    25
#include "transferserver.h"
a5496987b1da 201025_04
hgs
parents:
diff changeset
    26
a5496987b1da 201025_04
hgs
parents:
diff changeset
    27
static void RunServerL();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    28
a5496987b1da 201025_04
hgs
parents:
diff changeset
    29
a5496987b1da 201025_04
hgs
parents:
diff changeset
    30
RTest test(_L("T_USB_TRANSFER"));
a5496987b1da 201025_04
hgs
parents:
diff changeset
    31
a5496987b1da 201025_04
hgs
parents:
diff changeset
    32
a5496987b1da 201025_04
hgs
parents:
diff changeset
    33
GLDEF_C TInt E32Main()
a5496987b1da 201025_04
hgs
parents:
diff changeset
    34
	{
a5496987b1da 201025_04
hgs
parents:
diff changeset
    35
	__UHEAP_MARK;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    36
a5496987b1da 201025_04
hgs
parents:
diff changeset
    37
	CTrapCleanup* cleanup = CTrapCleanup::New();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    38
a5496987b1da 201025_04
hgs
parents:
diff changeset
    39
	TInt ret = KErrNoMemory;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    40
a5496987b1da 201025_04
hgs
parents:
diff changeset
    41
	if (cleanup)
a5496987b1da 201025_04
hgs
parents:
diff changeset
    42
		{
a5496987b1da 201025_04
hgs
parents:
diff changeset
    43
		TRAP(ret, RunServerL());
a5496987b1da 201025_04
hgs
parents:
diff changeset
    44
		delete cleanup;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    45
		}
a5496987b1da 201025_04
hgs
parents:
diff changeset
    46
a5496987b1da 201025_04
hgs
parents:
diff changeset
    47
	__UHEAP_MARKEND;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    48
a5496987b1da 201025_04
hgs
parents:
diff changeset
    49
	return ret;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    50
	}
a5496987b1da 201025_04
hgs
parents:
diff changeset
    51
a5496987b1da 201025_04
hgs
parents:
diff changeset
    52
static void RunServerL()
a5496987b1da 201025_04
hgs
parents:
diff changeset
    53
//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    54
// Perform all server initialisation, in particular creation of the
a5496987b1da 201025_04
hgs
parents:
diff changeset
    55
// scheduler and server and then run the scheduler
a5496987b1da 201025_04
hgs
parents:
diff changeset
    56
//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    57
	{
a5496987b1da 201025_04
hgs
parents:
diff changeset
    58
	test.Start(_L("transfer handle"));
a5496987b1da 201025_04
hgs
parents:
diff changeset
    59
a5496987b1da 201025_04
hgs
parents:
diff changeset
    60
	// naming the server thread after the server helps to debug panics
a5496987b1da 201025_04
hgs
parents:
diff changeset
    61
	User::LeaveIfError(User::RenameThread(KTransferServerName));
a5496987b1da 201025_04
hgs
parents:
diff changeset
    62
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    63
	// create and install the active scheduler we need
a5496987b1da 201025_04
hgs
parents:
diff changeset
    64
	CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    65
	CleanupStack::PushL(scheduler);
a5496987b1da 201025_04
hgs
parents:
diff changeset
    66
	CActiveScheduler::Install(scheduler);
a5496987b1da 201025_04
hgs
parents:
diff changeset
    67
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    68
	// create the server (leave it on the cleanup stack)
a5496987b1da 201025_04
hgs
parents:
diff changeset
    69
	CTransferServer* server = CTransferServer::NewLC();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    70
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    71
	RProcess::Rendezvous(KErrNone);
a5496987b1da 201025_04
hgs
parents:
diff changeset
    72
a5496987b1da 201025_04
hgs
parents:
diff changeset
    73
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    74
	// Ready to run
253
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
    75
	OstTrace0(TRACE_NORMAL, RUNSERVERL_RUNSERVERL, ">>>CActiveScheduler::Start");
189
a5496987b1da 201025_04
hgs
parents:
diff changeset
    76
	CActiveScheduler::Start();
253
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
    77
	OstTrace0(TRACE_NORMAL, RUNSERVERL_RUNSERVERL_DUP01, "<<<CActiveScheduler::Start");
189
a5496987b1da 201025_04
hgs
parents:
diff changeset
    78
	test.End();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    79
	test.Close();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    80
a5496987b1da 201025_04
hgs
parents:
diff changeset
    81
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    82
	// Cleanup the server and scheduler
253
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
    83
	OstTrace0(TRACE_NORMAL, RUNSERVERL_RUNSERVERL_DUP02, "tranfermain exit 1");
189
a5496987b1da 201025_04
hgs
parents:
diff changeset
    84
	CleanupStack::PopAndDestroy(2, scheduler);
253
d37db4dcc88d 201033_01
hgs
parents: 189
diff changeset
    85
	OstTrace0(TRACE_NORMAL, RUNSERVERL_RUNSERVERL_DUP03, "tranfermain exit 2");
189
a5496987b1da 201025_04
hgs
parents:
diff changeset
    86
	}
a5496987b1da 201025_04
hgs
parents:
diff changeset
    87
a5496987b1da 201025_04
hgs
parents:
diff changeset
    88
//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    89
// End of file