localisation/apparchitecture/tef/TApparcTestApp.cpp
branchSymbian3
changeset 57 b8d18c84f71c
parent 6 c108117318cb
equal deleted inserted replaced
56:aa99f2208aad 57:b8d18c84f71c
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     7 //
     8 // Initial Contributors:
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
     9 // Nokia Corporation - initial contribution.
    43 // Case 1: We could create statics A, B and C with priority zero, -1 and -2 respectively. 
    43 // Case 1: We could create statics A, B and C with priority zero, -1 and -2 respectively. 
    44 // Then check in the app ui destructor that A is null, and B and C are both non-null.
    44 // Then check in the app ui destructor that A is null, and B and C are both non-null.
    45 // Case 2: Then in B's destructor check that C is still non-null.
    45 // Case 2: Then in B's destructor check that C is still non-null.
    46 // Case 3: And in C's destructor check that B is now null.
    46 // Case 3: And in C's destructor check that B is now null.
    47 // 
    47 // 
    48 //
    48 // tapparctestapp.cpp
    49 
    49 //
    50 
       
    51 
    50 
    52 #include <coeccntx.h>
    51 #include <coeccntx.h>
    53 #include <apgtask.h>
    52 #include <apgtask.h>
    54 #include <eikenv.h>
    53 #include <eikenv.h>
    55 #include <eikappui.h>
    54 #include <eikappui.h>
    56 #include <eikapp.h>
    55 #include <eikapp.h>
    57 #include <eikdoc.h>
    56 #include <eikdoc.h>
    58 #include <eikmenup.h>
    57 #include <mw/eikmenup.h>
    59 #include <f32file.h>
    58 #include <f32file.h>
    60 #include <eikon.hrh>
    59 #include <mw/eikon.hrh>
    61 #include <eikstart.h> ////TKAS added for exe-app
    60 #include <eikstart.h> //TKAS added for exe-app
    62 
    61 
    63 #include <TApparcTestApp.rsg>
    62 #include <tapparctestapp.rsg>
    64 
    63 
    65 // File which stores the test results
    64 // File which stores the test results
    66 _LIT(KApparcTestResultsFileName, "c:\\system\\Apparctest\\ApparcTestResultsFile.txt");
    65 _LIT(KApparcTestResultsFileName, "c:\\system\\Apparctest\\ApparcTestResultsFile.txt");
    67 _LIT(KApparcTestDir, "c:\\system\\Apparctest\\");
    66 _LIT(KApparcTestDir, "c:\\system\\Apparctest\\");
    68 
    67 
   122 class CTApparcTestNegativePrioStaticB : public CCoeStatic
   121 class CTApparcTestNegativePrioStaticB : public CCoeStatic
   123 	{
   122 	{
   124 public:
   123 public:
   125 	inline CTApparcTestNegativePrioStaticB();
   124 	inline CTApparcTestNegativePrioStaticB();
   126 	inline static CTApparcTestNegativePrioStaticB* Self();
   125 	inline static CTApparcTestNegativePrioStaticB* Self();
       
   126 	static CTApparcTestNegativePrioStaticB* NewL();
       
   127 	void ConstructL();
   127 	~CTApparcTestNegativePrioStaticB();
   128 	~CTApparcTestNegativePrioStaticB();
   128 	
   129 	
   129 	RFile iFile;
   130 	RFile iFile;
   130 	RFs iFs;
   131 	RFs iFs;
   131 	};
   132 	};
   263 		iFile.Write(KTestPass);
   264 		iFile.Write(KTestPass);
   264 	else
   265 	else
   265 		iFile.Write(KTestFail);
   266 		iFile.Write(KTestFail);
   266 	}
   267 	}
   267 
   268 
   268 ////////////////////////////////////////////////////////////////////////
   269 //
   269 //
   270 //
   270 // CTApparcTestAppView
   271 // CTApparcTestAppView
   271 //
   272 //
   272 ////////////////////////////////////////////////////////////////////////
   273 //
   273 class CTApparcTestAppView : public CCoeControl
   274 class CTApparcTestAppView : public CCoeControl
   274     {
   275     {
   275 public:
   276 public:
   276 	static CTApparcTestAppView* NewL(const TRect& aRect);
   277 	static CTApparcTestAppView* NewL(const TRect& aRect);
   277 	CTApparcTestAppView();
   278 	CTApparcTestAppView();
   321 	TInt   baselineOffset=(drawRect.Height() - fontUsed->HeightInPixels())/2; 
   322 	TInt   baselineOffset=(drawRect.Height() - fontUsed->HeightInPixels())/2; 
   322 	gc.DrawText(*iApparcTestText,drawRect,baselineOffset,CGraphicsContext::ECenter, 0);
   323 	gc.DrawText(*iApparcTestText,drawRect,baselineOffset,CGraphicsContext::ECenter, 0);
   323 	gc.DiscardFont();
   324 	gc.DiscardFont();
   324 	}
   325 	}
   325 
   326 
   326 ////////////////////////////////////////////////////////////////////////
   327 //
   327 //
   328 //
   328 // CTApparcTestAppUi
   329 // CTApparcTestAppUi
   329 //
   330 //
   330 ////////////////////////////////////////////////////////////////////////
   331 //
   331 
   332 
   332 class CTApparcTestAppUi : public CEikAppUi
   333 class CTApparcTestAppUi : public CEikAppUi
   333     {
   334     {
   334 public:
   335 public:
   335     void ConstructL();
   336     void ConstructL();
   348     {
   349     {
   349     BaseConstructL();
   350     BaseConstructL();
   350 	iAppView = CTApparcTestAppView::NewL(ClientRect());
   351 	iAppView = CTApparcTestAppView::NewL(ClientRect());
   351 	
   352 	
   352 	// Constructs the static object for tests
   353 	// Constructs the static object for tests
   353 	CTApparcTestNegativePrioStaticB* testCoeStaticB = new(ELeave)CTApparcTestNegativePrioStaticB();
   354 	CTApparcTestNegativePrioStaticB* testCoeStaticB = CTApparcTestNegativePrioStaticB::NewL();
   354 	
   355 	
   355 	CTApparcTestStatic* testCoeStatic = new (ELeave)CTApparcTestStatic(testCoeStaticB->iFile);
   356 	CTApparcTestStatic* testCoeStatic = new (ELeave)CTApparcTestStatic(testCoeStaticB->iFile);
   356 	CTApparcTestNegativePrioStaticA* testCoeStaticA  = new(ELeave)CTApparcTestNegativePrioStaticA(testCoeStaticB->iFile);
   357 	CTApparcTestNegativePrioStaticA* testCoeStaticA  = new(ELeave)CTApparcTestNegativePrioStaticA(testCoeStaticB->iFile);
   357 	CTApparcTestPrioTwoStaticC* testPrioTwoStaticC = new(ELeave) CTApparcTestPrioTwoStaticC(testCoeStaticB->iFile);
   358 	CTApparcTestPrioTwoStaticC* testPrioTwoStaticC = new(ELeave) CTApparcTestPrioTwoStaticC(testCoeStaticB->iFile);
   358     CTApparcTestPosPrioStaticA* testPosPriStaticA = new(ELeave) CTApparcTestPosPrioStaticA(testCoeStaticB->iFile);
   359     CTApparcTestPosPrioStaticA* testPosPriStaticA = new(ELeave) CTApparcTestPosPrioStaticA(testCoeStaticB->iFile);
   427 		testCoeStatic->iFile.Write(KTestPass);
   428 		testCoeStatic->iFile.Write(KTestPass);
   428 	else
   429 	else
   429 		testCoeStatic->iFile.Write(KTestFail);
   430 		testCoeStatic->iFile.Write(KTestFail);
   430 	}
   431 	}
   431 
   432 
   432 ////////////////////////////////////////////////////////////////////////
   433 //
   433 //
   434 //
   434 // CTApparcTestDocument
   435 // CTApparcTestDocument
   435 //
   436 //
   436 ////////////////////////////////////////////////////////////////////////
   437 //
   437 
   438 
   438 class CTApparcTestDocument : public CEikDocument
   439 class CTApparcTestDocument : public CEikDocument
   439 	{
   440 	{
   440 public:
   441 public:
   441 	static CTApparcTestDocument* NewL(CEikApplication& aApp);
   442 	static CTApparcTestDocument* NewL(CEikApplication& aApp);
   454 CEikAppUi* CTApparcTestDocument::CreateAppUiL()
   455 CEikAppUi* CTApparcTestDocument::CreateAppUiL()
   455 	{
   456 	{
   456     return new(ELeave) CTApparcTestAppUi;
   457     return new(ELeave) CTApparcTestAppUi;
   457 	}
   458 	}
   458 
   459 
   459 ////////////////////////////////////////////////////////////////////////
   460 //
   460 //
   461 //
   461 // CTApparcTestApplication
   462 // CTApparcTestApplication
   462 //
   463 //
   463 ////////////////////////////////////////////////////////////////////////
   464 //
   464 
   465 
   465 class CTApparcTestApplication : public CEikApplication
   466 class CTApparcTestApplication : public CEikApplication
   466 	{
   467 	{
   467 private: 
   468 private: 
   468 	// Inherited from class CApaApplication
   469 	// Inherited from class CApaApplication
   490 GLDEF_C TInt E32Main()
   491 GLDEF_C TInt E32Main()
   491 	{
   492 	{
   492 	return EikStart::RunApplication(NewApplication);
   493 	return EikStart::RunApplication(NewApplication);
   493 	}
   494 	}
   494 
   495 
   495 		
       
   496 
       
   497 //
       
   498 // inline functions 
       
   499 //
       
   500 
   496 
   501 // inline function for CTApparcTestStatic
   497 // inline function for CTApparcTestStatic
   502 inline CTApparcTestStatic::CTApparcTestStatic(RFile& aFile)
   498 inline CTApparcTestStatic::CTApparcTestStatic(RFile& aFile)
   503 	: CCoeStatic(KUidTestStatic),iFile(aFile)
   499 	: CCoeStatic(KUidTestStatic),iFile(aFile)
   504 	{
   500 	{
   522 	
   518 	
   523 // inline functions for CTApparcTestNegativePrioStaticB	
   519 // inline functions for CTApparcTestNegativePrioStaticB	
   524 inline CTApparcTestNegativePrioStaticB::CTApparcTestNegativePrioStaticB()
   520 inline CTApparcTestNegativePrioStaticB::CTApparcTestNegativePrioStaticB()
   525 	: CCoeStatic(KUidTestStaticNegativePrioB,ENegativePriortyStaticA - 1)
   521 	: CCoeStatic(KUidTestStaticNegativePrioB,ENegativePriortyStaticA - 1)
   526 	{
   522 	{
       
   523 	}
       
   524 
       
   525 inline CTApparcTestNegativePrioStaticB* CTApparcTestNegativePrioStaticB::Self()
       
   526 	{
       
   527 	return STATIC_CAST(CTApparcTestNegativePrioStaticB*,CCoeEnv::Static(KUidTestStaticNegativePrioB));
       
   528 	}
       
   529 
       
   530 CTApparcTestNegativePrioStaticB* CTApparcTestNegativePrioStaticB::NewL()
       
   531 	{
       
   532 	CTApparcTestNegativePrioStaticB* self = new(ELeave)CTApparcTestNegativePrioStaticB();
       
   533 	CleanupStack::PushL(self);
       
   534 	self->ConstructL();
       
   535 	CleanupStack::Pop();
       
   536 	return self;
       
   537 	}
       
   538  
       
   539 void CTApparcTestNegativePrioStaticB::ConstructL()
       
   540     {
   527 	User::LeaveIfError(iFs.Connect());
   541 	User::LeaveIfError(iFs.Connect());
   528 	TInt err = iFs.MkDirAll(KApparcTestDir);
   542 	TInt err = iFs.MkDirAll(KApparcTestDir);
   529 	
   543 	
   530 	err = iFile.Create(iFs,KApparcTestResultsFileName,EFileWrite | EFileShareAny);
   544 	err = iFile.Create(iFs,KApparcTestResultsFileName,EFileWrite | EFileShareAny);
   531 	if(err == KErrAlreadyExists)
   545 	if(err == KErrAlreadyExists)
   532 		iFile.Open(iFs,KApparcTestResultsFileName,EFileWrite | EFileShareAny);
   546 		iFile.Open(iFs,KApparcTestResultsFileName,EFileWrite | EFileShareAny);
   533 	}
       
   534 
       
   535 inline CTApparcTestNegativePrioStaticB* CTApparcTestNegativePrioStaticB::Self()
       
   536 	{
       
   537 	return STATIC_CAST(CTApparcTestNegativePrioStaticB*,CCoeEnv::Static(KUidTestStaticNegativePrioB));
       
   538 	}
   547 	}
   539 
   548 
   540 // inline functions for CTApparcTestPosPrioStaticA	
   549 // inline functions for CTApparcTestPosPrioStaticA	
   541 inline CTApparcTestPosPrioStaticA::CTApparcTestPosPrioStaticA(RFile& aFile)
   550 inline CTApparcTestPosPrioStaticA::CTApparcTestPosPrioStaticA(RFile& aFile)
   542 	: CCoeStatic(KUidTestStaticPosPriA,EDefaultDestructionPriority),iFile(aFile)
   551 	: CCoeStatic(KUidTestStaticPosPriA,EDefaultDestructionPriority),iFile(aFile)
   589 
   598 
   590 inline CTApparcTestPrioTwoStaticC* CTApparcTestPrioTwoStaticC::Self()
   599 inline CTApparcTestPrioTwoStaticC* CTApparcTestPrioTwoStaticC::Self()
   591 {
   600 {
   592 	return STATIC_CAST(CTApparcTestPrioTwoStaticC*,CCoeEnv::Static(KUidTestStaticPriTwoC));
   601 	return STATIC_CAST(CTApparcTestPrioTwoStaticC*,CCoeEnv::Static(KUidTestStaticPriTwoC));
   593 }
   602 }
       
   603 
       
   604 
       
   605