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

examples/AppServices/versit/VersitExample.cpp

00001 // Copyright (c) 2006-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 // This example demonstrates a vCard parser
-00015 //
-00016 
-00017 
-00018 #include <e32base.h>
-00019 #include <e32cons.h>
-00020 #include <vcard.h>
-00021 #include <versit.h>
-00022 #include "VersitExample.h"
-00023 
-00024 // Global definition
-00025 static CConsoleBase* gConsole;
-00026 
-00027 // name of file to write the vCard to
-00028 _LIT(KVCardFileJIS,"\\Private\\E8000094\\charsetJIS.vcf");
-00029 
-00030 // string for display
-00031 _LIT(KMsgPressAnyKey,"\n\nPress any key to continue\n");
-00032 
-00033 CExampleVersit* CExampleVersit::NewL()
-00034         {
-00035         CExampleVersit* self = new (ELeave) CExampleVersit();
-00036         CleanupStack::PushL(self);
-00037         self->ConstructL();
-00038         CleanupStack::Pop(self);
-00039         return self;
-00040         }
-00041         
-00042 void CExampleVersit::ConstructL()
-00043         {
-00044         iParser = CParserVCard::NewL();
-00045         }       
-00046         
-00047 CExampleVersit::~CExampleVersit()       
-00048         {
-00049         delete iParser;
-00050         iFsSession .Close();
-00051         }
-00052 
-00053 // Externalises a vCard to a file
-00054 void CExampleVersit::ExternalizeToFileL(const TDesC& aFileName)
-00055         {
-00056         RFile file;
-00057         iFsSession.Connect();
-00058         // create the private directory (\Private\E8000094\) on writable drive
-00059         User::LeaveIfError(iFsSession.CreatePrivatePath(RFs::GetSystemDrive()));
-00060         User::LeaveIfError(file.Replace(iFsSession, aFileName, EFileWrite));
-00061         CleanupClosePushL(file);
-00062         iParser->ExternalizeL(file);
-00063         CleanupStack::PopAndDestroy(&file);
-00064         }
-00065 
-00066 // Internalises a vCard from a file
-00067 void CExampleVersit::InternalizeFromFileL(RFile& aInputFile)
-00068         {
-00069         TInt size;
-00070         if (aInputFile.Size(size)==KErrNone)
-00071                 {
-00072                 delete iParser;
-00073                 iParser = NULL;
-00074 
-00075                 iParser = CParserVCard::NewL();
-00076                 RFileReadStream stream(aInputFile);
-00077                 CleanupClosePushL(stream);
-00078                 iParser->InternalizeL(stream);
-00079                 CleanupStack::PopAndDestroy(&stream);
-00080                 }
-00081         }
-00082 
-00083 // Creates a vCard containing a note property and a character set property parameter.
-00084 // Then externalizes the vCard to a file.
-00085 void CExampleVersit::CreateAndExternalizeVCardL()
-00086         {
-00087         //create a property value to hold some text
-00088         _LIT(KNote,"\x4e79\x4f19\x5032");
-00089         CParserPropertyValue* value=CParserPropertyValueHBufC::NewL(KNote);
-00090         CleanupStack::PushL(value);
-00091 
-00092         CArrayPtr<CParserParam>* arrayOfParams = new(ELeave)CArrayPtrFlat<CParserParam>(5);
-00093         CleanupStack::PushL(arrayOfParams);
-00094 
-00095         // Add a character set property parameter
-00096         CParserParam* parserParam=CParserParam::NewL(KVersitTokenCHARSET,KVersitTokenJIS);
-00097         CleanupStack::PushL(parserParam);
-00098         arrayOfParams->AppendL(parserParam);
-00099         CleanupStack::Pop(parserParam);
-00100 
-00101         // create the NOTE property
-00102         CParserGroupedProperty* property=CParserGroupedProperty::NewL(*value,KVersitTokenNOTE,NULL,arrayOfParams);
-00103 
-00104         CleanupStack::Pop(2,value); // value, arrayOfParams
-00105         CleanupStack::PushL(property);
-00106 
-00107         // Add the property to the vCard
-00108         iParser->AddPropertyL(property);
-00109         CleanupStack::Pop(property);
-00110         //Sets the default transformation format
-00111         iParser->SetDefaultCharSet(Versit::EJISCharSet);
-00112         ExternalizeToFileL(KVCardFileJIS);
-00113         }
-00114         
-00115 //Internalize the VCard
-00116 void CExampleVersit::InternalizeVCardL()
-00117         {
-00118         RFile file;
-00119         TInt err=file.Open(iFsSession,KVCardFileJIS,EFileRead);
-00120         User::LeaveIfError(err);
-00121         CleanupClosePushL(file);
-00122         InternalizeFromFileL(file);
-00123         CleanupStack::PopAndDestroy(&file);
-00124         
-00125         _LIT(KConsoleMessage1, "vCard has been successfully internalised from a file");
-00126         gConsole->Printf(KConsoleMessage1);
-00127         }
-00128 
-00129 void CExampleVersit::EgVersitL()
-00130         {
-00131         CreateAndExternalizeVCardL();
-00132         InternalizeVCardL();
-00133         }
-00134 
-00135 static void DoExampleL()
-00136         {
-00137         // Create the console to print the messages to.
-00138         _LIT(KConsoleMessageDisplay, "Versit Example");
-00139         _LIT(KConsoleStars,"\n*************************\n");
-00140         gConsole = Console::NewL(KConsoleMessageDisplay,TSize(KConsFullScreen,KConsFullScreen));
-00141         CleanupStack::PushL(gConsole);
-00142         gConsole->Printf(KConsoleMessageDisplay);
-00143         gConsole->Printf(KConsoleStars);
-00144 
-00145         CExampleVersit* egVersit= CExampleVersit::NewL();
-00146         TRAPD(err, egVersit->EgVersitL());
-00147         if (err)
-00148                 {
-00149                 _LIT(KFailed,"\n\nExample failed: leave code=%d");
-00150                 gConsole->Printf(KFailed, err);
-00151                 }
-00152         delete egVersit;        
-00153         // wait for user to press a key before destroying gConsole
-00154         gConsole->Printf(KMsgPressAnyKey);
-00155         gConsole->Getch();
-00156         CleanupStack::PopAndDestroy(gConsole);
-00157         }
-00158 
-00159 // Standard entry point function
-00160 TInt E32Main()
-00161         {
-00162         __UHEAP_MARK;
-00163         // Active scheduler required as this is a console app
-00164         CActiveScheduler* scheduler=new CActiveScheduler;
-00165         // If active scheduler has been created, install it.
-00166         if (scheduler)
-00167                 {
-00168                 CActiveScheduler::Install(scheduler);
-00169                 // Cleanup stack needed
-00170                 CTrapCleanup* cleanup=CTrapCleanup::New();
-00171                 if (cleanup)
-00172                         {
-00173                         TRAP_IGNORE(DoExampleL());
-00174                         delete cleanup;
-00175                         }
-00176                 delete scheduler;
-00177                 } 
-00178         __UHEAP_MARKEND;
-00179         return KErrNone;
-00180         }
-

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