kerneltest/e32test/usb/t_usb_device/src/transfersrvmain.cpp
author hgs
Thu, 01 Jul 2010 17:57:33 +0100
changeset 189 a5496987b1da
child 253 d37db4dcc88d
permissions -rw-r--r--
201025_04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
189
a5496987b1da 201025_04
hgs
parents:
diff changeset
     1
/*
a5496987b1da 201025_04
hgs
parents:
diff changeset
     2
* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
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"
a5496987b1da 201025_04
hgs
parents:
diff changeset
    21
#include "transferserver.h"
a5496987b1da 201025_04
hgs
parents:
diff changeset
    22
a5496987b1da 201025_04
hgs
parents:
diff changeset
    23
static void RunServerL();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    24
a5496987b1da 201025_04
hgs
parents:
diff changeset
    25
a5496987b1da 201025_04
hgs
parents:
diff changeset
    26
RTest test(_L("T_USB_TRANSFER"));
a5496987b1da 201025_04
hgs
parents:
diff changeset
    27
a5496987b1da 201025_04
hgs
parents:
diff changeset
    28
a5496987b1da 201025_04
hgs
parents:
diff changeset
    29
GLDEF_C TInt E32Main()
a5496987b1da 201025_04
hgs
parents:
diff changeset
    30
	{
a5496987b1da 201025_04
hgs
parents:
diff changeset
    31
	__UHEAP_MARK;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    32
a5496987b1da 201025_04
hgs
parents:
diff changeset
    33
	CTrapCleanup* cleanup = CTrapCleanup::New();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    34
a5496987b1da 201025_04
hgs
parents:
diff changeset
    35
	TInt ret = KErrNoMemory;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    36
a5496987b1da 201025_04
hgs
parents:
diff changeset
    37
	if (cleanup)
a5496987b1da 201025_04
hgs
parents:
diff changeset
    38
		{
a5496987b1da 201025_04
hgs
parents:
diff changeset
    39
		TRAP(ret, RunServerL());
a5496987b1da 201025_04
hgs
parents:
diff changeset
    40
		delete cleanup;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    41
		}
a5496987b1da 201025_04
hgs
parents:
diff changeset
    42
a5496987b1da 201025_04
hgs
parents:
diff changeset
    43
	__UHEAP_MARKEND;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    44
a5496987b1da 201025_04
hgs
parents:
diff changeset
    45
	return ret;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    46
	}
a5496987b1da 201025_04
hgs
parents:
diff changeset
    47
a5496987b1da 201025_04
hgs
parents:
diff changeset
    48
static void RunServerL()
a5496987b1da 201025_04
hgs
parents:
diff changeset
    49
//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    50
// Perform all server initialisation, in particular creation of the
a5496987b1da 201025_04
hgs
parents:
diff changeset
    51
// scheduler and server and then run the scheduler
a5496987b1da 201025_04
hgs
parents:
diff changeset
    52
//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    53
	{
a5496987b1da 201025_04
hgs
parents:
diff changeset
    54
	test.Start(_L("transfer handle"));
a5496987b1da 201025_04
hgs
parents:
diff changeset
    55
a5496987b1da 201025_04
hgs
parents:
diff changeset
    56
	// naming the server thread after the server helps to debug panics
a5496987b1da 201025_04
hgs
parents:
diff changeset
    57
	User::LeaveIfError(User::RenameThread(KTransferServerName));
a5496987b1da 201025_04
hgs
parents:
diff changeset
    58
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    59
	// create and install the active scheduler we need
a5496987b1da 201025_04
hgs
parents:
diff changeset
    60
	CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
a5496987b1da 201025_04
hgs
parents:
diff changeset
    61
	CleanupStack::PushL(scheduler);
a5496987b1da 201025_04
hgs
parents:
diff changeset
    62
	CActiveScheduler::Install(scheduler);
a5496987b1da 201025_04
hgs
parents:
diff changeset
    63
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    64
	// create the server (leave it on the cleanup stack)
a5496987b1da 201025_04
hgs
parents:
diff changeset
    65
	CTransferServer* server = CTransferServer::NewLC();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    66
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    67
	RProcess::Rendezvous(KErrNone);
a5496987b1da 201025_04
hgs
parents:
diff changeset
    68
a5496987b1da 201025_04
hgs
parents:
diff changeset
    69
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    70
	// Ready to run
a5496987b1da 201025_04
hgs
parents:
diff changeset
    71
	RDebug::Printf(">>>CActiveScheduler::Start");
a5496987b1da 201025_04
hgs
parents:
diff changeset
    72
	CActiveScheduler::Start();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    73
	RDebug::Printf("<<<CActiveScheduler::Start");
a5496987b1da 201025_04
hgs
parents:
diff changeset
    74
	test.End();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    75
	test.Close();
a5496987b1da 201025_04
hgs
parents:
diff changeset
    76
a5496987b1da 201025_04
hgs
parents:
diff changeset
    77
	//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    78
	// Cleanup the server and scheduler
a5496987b1da 201025_04
hgs
parents:
diff changeset
    79
	RDebug::Printf("tranfermain exit 1");
a5496987b1da 201025_04
hgs
parents:
diff changeset
    80
	CleanupStack::PopAndDestroy(2, scheduler);
a5496987b1da 201025_04
hgs
parents:
diff changeset
    81
	RDebug::Printf("tranfermain exit 2");
a5496987b1da 201025_04
hgs
parents:
diff changeset
    82
	}
a5496987b1da 201025_04
hgs
parents:
diff changeset
    83
a5496987b1da 201025_04
hgs
parents:
diff changeset
    84
//
a5496987b1da 201025_04
hgs
parents:
diff changeset
    85
// End of file