diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/_utilities_8cpp-source.html --- a/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/_utilities_8cpp-source.html Tue Mar 30 11:56:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,196 +0,0 @@ - - -TB10.1 Example Applications: examples/Base/MemMan/Cleanup/Utilities/Utilities.cpp Source File - - - - -

examples/Base/MemMan/Cleanup/Utilities/Utilities.cpp

00001 // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
-00002 // All rights reserved.
-00003 // This component and the accompanying materials are made available
-00004 // under the terms of "Eclipse Public License v1.0"
-00005 // which accompanies this distribution, and is available
-00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
-00007 //
-00008 // Initial Contributors:
-00009 // Nokia Corporation - initial contribution.
-00010 //
-00011 // Contributors:
-00012 //
-00013 // Description:
-00014 //
-00015 
-00016 #include "CommonFramework.h"
-00017 
-00018 //
-00019 // Definition of the CTestOne class
-00020 //
-00021 class CTestOne : public CBase
-00022         {       
-00023 public:
-00024         ~CTestOne();
-00025         void     SetTextL(const TDesC& aData);
-00026 private :
-00027         HBufC*   iText;
-00028         };
-00029 
-00030 
-00031 //
-00032 // Implementation of the CTestOne class
-00033 //
-00034 _LIT(KTxtInsideDestructor,"Executing the CTestOne destructor\n");
-00035 CTestOne::~CTestOne()
-00036         {
-00037         delete iText;
-00038         console->Printf(KTxtInsideDestructor);
-00039         }
-00040 
-00041 void CTestOne::SetTextL(const TDesC& aData)
-00042         {
-00043         if (iText)
-00044                 {
-00045                 delete iText;
-00046                 iText = NULL;
-00047                 }
-00048         iText = aData.AllocL(); 
-00049         }
-00050 
-00051 
-00052 
-00053 //
-00054 // Definition of the RTestTwo class
-00055 //
-00056 class RTestTwo
-00057         {       
-00058 public:
-00059         RTestTwo(TInt aValue);
-00060         void     Close();
-00061 private :
-00062         TInt     iX;
-00063         };
-00064 
-00065 //
-00066 // Implementation of the RTestTwo class
-00067 //
-00068 RTestTwo::RTestTwo(TInt aValue)
-00069         : iX(aValue)
-00070         {
-00071         }
-00072 
-00073 
-00074 _LIT(KTxtCloseRTestTwo,"RTestTwo closing\n");
-00075 
-00076 void RTestTwo::Close()
-00077         {
-00078         console->Printf(KTxtCloseRTestTwo);
-00079         }
-00080 
-00081 
-00082 
-00083 //
-00084 // Definition of the RTestThree class
-00085 //
-00086 class RTestThree
-00087         {       
-00088 public:
-00089         RTestThree(TInt aValue);
-00090         void     Release();
-00091 private :
-00092         TInt     iY;
-00093         };
-00094 
-00095 //
-00096 // Implementation of the RTestThree class
-00097 //
-00098 RTestThree::RTestThree(TInt aValue)
-00099         : iY(aValue)
-00100         {
-00101         }
-00102 
-00103 
-00104 _LIT(KTxtReleaseRTestThree,"RTestThree releasing\n");
-00105 
-00106 void RTestThree::Release()
-00107         {
-00108         console->Printf(KTxtReleaseRTestThree);
-00109         }
-00110 
-00111 //
-00112 // main body of the example
-00113 //
-00114 _LIT(KTxtHelloWorld,"Hello World!");
-00115 LOCAL_C void doExampleL()
-00116     {
-00117                 // 1. Construct a CTestOne object on the heap
-00118         CTestOne* one = new (ELeave) CTestOne;
-00119         
-00120                 // Use the CleanupDeletePushL() function to put a TCleanUpItem
-00121                 // on the cleanup stack
-00122         CleanupDeletePushL(one);
-00123 
-00124                 // Exercise the CTestOne object (just to show it doing something)
-00125         one->SetTextL(KTxtHelloWorld);
-00126 
-00127                 // Pop and destroy the cleanup item off the cleanup stack.
-00128                 // The cleanup operation deletes the CTestOne object
-00129         CleanupStack::PopAndDestroy();
-00130         
-00131                 // 2. Construct a RTestTwo object on the program stack.
-00132                 //
-00133                 // The value passed is of no significance; it is just
-00134                 // to show that the class is not trivial.
-00135         RTestTwo  two(2);
-00136                 
-00137                 // Use the CleanupClosePushL() function to put a TCleanUpItem
-00138                 // on the cleanup stack
-00139         CleanupClosePushL(two);
-00140 
-00141                 // Pop and destroy the cleanup item off the cleanup stack.
-00142                 // The cleanup operation calls the Close() member function of
-00143                 // the RTestTwo object
-00144         CleanupStack::PopAndDestroy();
-00145                                 
-00146 
-00147                 // 3. Construct a RTestThree object on the program stack.
-00148                 //
-00149                 // The value passed is of no significance; it is just
-00150                 // to show that the class is not trivial.
-00151         RTestThree  three(3);
-00152                 
-00153                 // Use the CleanupClosePushL() function to put a TCleanUpItem
-00154                 // on the cleanup stack
-00155         CleanupReleasePushL(three);
-00156 
-00157                 // Pop and destroy the cleanup item off the cleanup stack.
-00158                 // The cleanup operation calls the Release() member function of
-00159                 // the RTestThree object
-00160         CleanupStack::PopAndDestroy();
-00161 
-00162                 // 4. Construct an array of objects on the heap
-00163         TInt heapSize1 = User::Heap().Count(); // take a count of the heap size now
-00164         
-00165         const TInt KNumObjects = 4;
-00166         const TInt KStringLength = 10;
-00167         TBuf<KStringLength>* four = new (ELeave) TBuf<KStringLength>[KNumObjects];
-00168                 // Use the CleanupArrayDeletePushL() function to put a TCleanUpItem
-00169                 // on the cleanup stack
-00170         CleanupArrayDeletePushL(four);
-00171 
-00172                 // Do something that might leave - a simple memory allocation
-00173         TInt* mem = (TInt*)User::Alloc(100);
-00174         delete mem;
-00175 
-00176                 // Pop and destroy the cleanup item off the cleanup stack.
-00177                 // The cleanup operation deletes the CTestOne object
-00178         CleanupStack::PopAndDestroy();
-00179         if ( User::Heap().Count() == heapSize1 )
-00180                 {
-00181                 _LIT(KFourComplete,"Array deleted\n");
-00182                 console->Printf(KFourComplete);
-00183                 }
-00184         }
-

Generated on Thu Jan 21 10:32:57 2010 for TB10.1 Example Applications by  - -doxygen 1.5.3
- -