mtpdataproviders/mtppictbridgedp/pictbridgeengine/src/dpsxmlgenerator.cpp
changeset 47 63cf70d3ecd8
parent 28 85e0c0339cc3
equal deleted inserted replaced
44:a5deb6b96675 47:63cf70d3ecd8
    19 #include <e32debug.h>
    19 #include <e32debug.h>
    20 #include "dpsxmlgenerator.h"
    20 #include "dpsxmlgenerator.h"
    21 #include "pictbridge.h"
    21 #include "pictbridge.h"
    22 #include "dpsconst.h"
    22 #include "dpsconst.h"
    23 #include "dpsxmlstring.h"
    23 #include "dpsxmlstring.h"
    24 #include <e32debug.h>
    24 #include "OstTraceDefinitions.h"
    25 
    25 #ifdef OST_TRACE_COMPILER_IN_USE
    26 #ifdef _DEBUG
    26 #include "dpsxmlgeneratorTraces.h"
    27 #	define IF_DEBUG(t) {RDebug::t;}
       
    28 #else
       
    29 #	define IF_DEBUG(t)
       
    30 #endif
    27 #endif
    31 
    28 
       
    29 
    32 const TInt KCodeSize = 4;
    30 const TInt KCodeSize = 4;
    33 
    31 
    34 // ---------------------------------------------------------------------------
    32 // ---------------------------------------------------------------------------
    35 // 
    33 // 
    36 // ---------------------------------------------------------------------------
    34 // ---------------------------------------------------------------------------
    37 //
    35 //
    38 CDpsXmlGenerator* CDpsXmlGenerator::NewL(CDpsEngine* aEngine)
    36 CDpsXmlGenerator* CDpsXmlGenerator::NewL(CDpsEngine* aEngine)
    39     {
    37     {
    40     IF_DEBUG(Print(_L("CDpsXmlGenerator::NewL")));
       
    41     CDpsXmlGenerator* self= new (ELeave) CDpsXmlGenerator(aEngine);
    38     CDpsXmlGenerator* self= new (ELeave) CDpsXmlGenerator(aEngine);
    42     return self;
    39     return self;
    43     }
    40     }
    44 
    41 
    45 // ---------------------------------------------------------------------------
    42 // ---------------------------------------------------------------------------
    46 // 
    43 // 
    47 // ---------------------------------------------------------------------------
    44 // ---------------------------------------------------------------------------
    48 //
    45 //
    49 CDpsXmlGenerator::~CDpsXmlGenerator()
    46 CDpsXmlGenerator::~CDpsXmlGenerator()
    50     {
    47     {
    51     IF_DEBUG(Print(_L("~CDpsXmlGenerator")));
    48     OstTraceFunctionEntry0( CDPSXMLGENERATOR_CDPSXMLGENERATOR_DES_ENTRY );
       
    49     OstTraceFunctionExit0( CDPSXMLGENERATOR_CDPSXMLGENERATOR_DES_EXIT );
    52     }
    50     }
    53 
    51 
    54 // ---------------------------------------------------------------------------
    52 // ---------------------------------------------------------------------------
    55 // 
    53 // 
    56 // ---------------------------------------------------------------------------
    54 // ---------------------------------------------------------------------------
    57 //
    55 //
    58 CDpsXmlGenerator::CDpsXmlGenerator(CDpsEngine* aEngine) : 
    56 CDpsXmlGenerator::CDpsXmlGenerator(CDpsEngine* aEngine) : 
    59     iEngine(aEngine)
    57     iEngine(aEngine)
    60     {        
    58     {        
    61     IF_DEBUG(Print(_L("CDpsXmlGenerator::Ctor")));
    59     OstTraceFunctionEntry0( DUP1_CDPSXMLGENERATOR_CDPSXMLGENERATOR_CONS_ENTRY );
       
    60     OstTraceFunctionExit0( DUP1_CDPSXMLGENERATOR_CDPSXMLGENERATOR_CONS_EXIT );
    62     }
    61     }
    63 
    62 
    64 // ---------------------------------------------------------------------------
    63 // ---------------------------------------------------------------------------
    65 // 
    64 // 
    66 // ---------------------------------------------------------------------------
    65 // ---------------------------------------------------------------------------
    67 //	
    66 //	
    68 void CDpsXmlGenerator::CreateResultScriptL(TDpsEvent aEvent,
    67 void CDpsXmlGenerator::CreateResultScriptL(TDpsEvent aEvent,
    69 		                     			  RWriteStream& aScript,
    68 		                     			  RWriteStream& aScript,
    70 	           		         			  const TDpsResult& aResult) const
    69 	           		         			  const TDpsResult& aResult) const
    71     {
    70     {
    72     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::CreateResultScript")));    
    71     OstTraceFunctionEntry0( CDPSXMLGENERATOR_CREATERESULTSCRIPTL_ENTRY ); 
    73     StartDocumentL(aScript);       
    72     StartDocumentL(aScript);       
    74     StartResultL(aScript, aResult);       
    73     StartResultL(aScript, aResult);       
    75     if (aEvent != EDpsEvtEmpty)
    74     if (aEvent != EDpsEvtEmpty)
    76         {
    75         {
    77         CreateEventL(aScript, aEvent);          
    76         CreateEventL(aScript, aEvent);          
    78         }    
    77         }    
    79     EndResultL(aScript);    
    78     EndResultL(aScript);    
    80     EndDocumentL(aScript);    
    79     EndDocumentL(aScript);    
    81     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::CreateResultScript")));
    80     OstTraceFunctionExit0( CDPSXMLGENERATOR_CREATERESULTSCRIPTL_EXIT );
    82     }
    81     }
    83 
    82 
    84 // ---------------------------------------------------------------------------
    83 // ---------------------------------------------------------------------------
    85 // 
    84 // 
    86 // ---------------------------------------------------------------------------
    85 // ---------------------------------------------------------------------------
   104 // 
   103 // 
   105 // ---------------------------------------------------------------------------
   104 // ---------------------------------------------------------------------------
   106 //		           		         		
   105 //		           		         		
   107 void CDpsXmlGenerator::StartDocumentL(RWriteStream& aScript) const
   106 void CDpsXmlGenerator::StartDocumentL(RWriteStream& aScript) const
   108 	{
   107 	{
   109     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::StatrDocument")));
   108     OstTraceFunctionEntry0( CDPSXMLGENERATOR_STARTDOCUMENTL_ENTRY );
   110     aScript.WriteL(KDpsXmlHeader);
   109     aScript.WriteL(KDpsXmlHeader);
   111     aScript.WriteL(KDpsXmlNS);
   110     aScript.WriteL(KDpsXmlNS);
   112     aScript.WriteL(KDpsXmlSpace);
   111     aScript.WriteL(KDpsXmlSpace);
   113     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::StartDocument")));	
   112     OstTraceFunctionExit0( CDPSXMLGENERATOR_STARTDOCUMENTL_EXIT );
   114     }
   113     }
   115 
   114 
   116 // ---------------------------------------------------------------------------
   115 // ---------------------------------------------------------------------------
   117 // 
   116 // 
   118 // ---------------------------------------------------------------------------
   117 // ---------------------------------------------------------------------------
   119 //
   118 //
   120 void CDpsXmlGenerator::EndDocumentL(RWriteStream& aScript) const
   119 void CDpsXmlGenerator::EndDocumentL(RWriteStream& aScript) const
   121     {
   120     {
   122     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::EndDocument")));
   121     OstTraceFunctionEntry0( CDPSXMLGENERATOR_ENDDOCUMENTL_ENTRY );
   123     aScript.WriteL(KDpsXmlBraceOpen);
   122     aScript.WriteL(KDpsXmlBraceOpen);
   124     aScript.WriteL(KDpsXmlSlash);
   123     aScript.WriteL(KDpsXmlSlash);
   125     aScript.WriteL(KDpsXml);
   124     aScript.WriteL(KDpsXml);
   126     aScript.WriteL(KDpsXmlBraceClose);
   125     aScript.WriteL(KDpsXmlBraceClose);	
   127     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::EndDocument")));		
   126     OstTraceFunctionExit0( CDPSXMLGENERATOR_ENDDOCUMENTL_EXIT );
   128     }
   127     }
   129 
   128 
   130 // ---------------------------------------------------------------------------
   129 // ---------------------------------------------------------------------------
   131 // 
   130 // 
   132 // ---------------------------------------------------------------------------
   131 // ---------------------------------------------------------------------------
   133 //
   132 //
   134 void CDpsXmlGenerator::StartInputL(RWriteStream& aScript) const
   133 void CDpsXmlGenerator::StartInputL(RWriteStream& aScript) const
   135     {
   134     {
   136     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::StartInput")));
   135     OstTraceFunctionEntry0( CDPSXMLGENERATOR_STARTINPUTL_ENTRY );
   137     aScript.WriteL(KDpsXmlBraceOpen);
   136     aScript.WriteL(KDpsXmlBraceOpen);
   138     aScript.WriteL(KDpsXmlInput);
   137     aScript.WriteL(KDpsXmlInput);
   139     aScript.WriteL(KDpsXmlBraceClose);
   138     aScript.WriteL(KDpsXmlBraceClose);
   140     aScript.WriteL(KDpsXmlSpace);
   139     aScript.WriteL(KDpsXmlSpace);
   141     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::StartInput")));	
   140     OstTraceFunctionExit0( CDPSXMLGENERATOR_STARTINPUTL_EXIT );
   142     }
   141     }
   143   
   142   
   144 // ---------------------------------------------------------------------------
   143 // ---------------------------------------------------------------------------
   145 // 
   144 // 
   146 // ---------------------------------------------------------------------------
   145 // ---------------------------------------------------------------------------
   147 //  
   146 //  
   148 void CDpsXmlGenerator::EndInputL(RWriteStream& aScript) const
   147 void CDpsXmlGenerator::EndInputL(RWriteStream& aScript) const
   149     {
   148     {
   150     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::EndInput")));
   149     OstTraceFunctionEntry0( CDPSXMLGENERATOR_ENDINPUTL_ENTRY );
   151     aScript.WriteL(KDpsXmlBraceOpen);
   150     aScript.WriteL(KDpsXmlBraceOpen);
   152     aScript.WriteL(KDpsXmlSlash);
   151     aScript.WriteL(KDpsXmlSlash);
   153     aScript.WriteL(KDpsXmlInput);
   152     aScript.WriteL(KDpsXmlInput);
   154     aScript.WriteL(KDpsXmlBraceClose);
   153     aScript.WriteL(KDpsXmlBraceClose);
   155     aScript.WriteL(KDpsXmlSpace);
   154     aScript.WriteL(KDpsXmlSpace);	
   156     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::EndInput")));		
   155     OstTraceFunctionExit0( CDPSXMLGENERATOR_ENDINPUTL_EXIT );
   157     }
   156     }
   158   
   157   
   159 // ---------------------------------------------------------------------------
   158 // ---------------------------------------------------------------------------
   160 // 
   159 // 
   161 // ---------------------------------------------------------------------------
   160 // ---------------------------------------------------------------------------
   162 //  
   161 //  
   163 void CDpsXmlGenerator::StartResultL(RWriteStream& aScript, 
   162 void CDpsXmlGenerator::StartResultL(RWriteStream& aScript, 
   164 								   const TDpsResult& aResult) const
   163 								   const TDpsResult& aResult) const
   165     {
   164     {
   166     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::StartResult")));
   165     OstTraceFunctionEntry0( CDPSXMLGENERATOR_STARTRESULTL_ENTRY );
   167     aScript.WriteL(KDpsXmlBraceOpen);
   166     aScript.WriteL(KDpsXmlBraceOpen);
   168     aScript.WriteL(KDpsXmlOutput);
   167     aScript.WriteL(KDpsXmlOutput);
   169     aScript.WriteL(KDpsXmlBraceClose);
   168     aScript.WriteL(KDpsXmlBraceClose);
   170     aScript.WriteL(KDpsXmlSpace);
   169     aScript.WriteL(KDpsXmlSpace);
   171     aScript.WriteL(KDpsXmlBraceOpen);
   170     aScript.WriteL(KDpsXmlBraceOpen);
   179     aScript.WriteL(major);    
   178     aScript.WriteL(major);    
   180     aScript.WriteL(KDpsXmlBraceOpen);
   179     aScript.WriteL(KDpsXmlBraceOpen);
   181     aScript.WriteL(KDpsXmlSlash);
   180     aScript.WriteL(KDpsXmlSlash);
   182     aScript.WriteL(KDpsXmlResult);
   181     aScript.WriteL(KDpsXmlResult);
   183     aScript.WriteL(KDpsXmlBraceClose);
   182     aScript.WriteL(KDpsXmlBraceClose);
   184     aScript.WriteL(KDpsXmlSpace);
   183     aScript.WriteL(KDpsXmlSpace);		
   185     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::StartResult")));		
   184     OstTraceFunctionExit0( CDPSXMLGENERATOR_STARTRESULTL_EXIT );
   186     }
   185     }
   187 
   186 
   188 // ---------------------------------------------------------------------------
   187 // ---------------------------------------------------------------------------
   189 // 
   188 // 
   190 // ---------------------------------------------------------------------------
   189 // ---------------------------------------------------------------------------
   191 //
   190 //
   192 void CDpsXmlGenerator::EndResultL(RWriteStream& aScript) const
   191 void CDpsXmlGenerator::EndResultL(RWriteStream& aScript) const
   193 	{
   192 	{
   194     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::EndResult")));
   193     OstTraceFunctionEntry0( CDPSXMLGENERATOR_ENDRESULTL_ENTRY );
   195     aScript.WriteL(KDpsXmlBraceOpen);
   194     aScript.WriteL(KDpsXmlBraceOpen);
   196     aScript.WriteL(KDpsXmlSlash);
   195     aScript.WriteL(KDpsXmlSlash);
   197     aScript.WriteL(KDpsXmlOutput);
   196     aScript.WriteL(KDpsXmlOutput);
   198     aScript.WriteL(KDpsXmlBraceClose);
   197     aScript.WriteL(KDpsXmlBraceClose);
   199     aScript.WriteL(KDpsXmlSpace);
   198     aScript.WriteL(KDpsXmlSpace);	
   200     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::EndResult")));		
   199     OstTraceFunctionExit0( CDPSXMLGENERATOR_ENDRESULTL_EXIT );
   201     }
   200     }
   202 
   201 
   203 // ---------------------------------------------------------------------------
   202 // ---------------------------------------------------------------------------
   204 // 
   203 // 
   205 // ---------------------------------------------------------------------------
   204 // ---------------------------------------------------------------------------
   206 //	
   205 //	
   207 void CDpsXmlGenerator::StartOperationL(TDpsOperation aOperation, 
   206 void CDpsXmlGenerator::StartOperationL(TDpsOperation aOperation, 
   208                                        RWriteStream& aScript, 
   207                                        RWriteStream& aScript, 
   209 									   TBool aEnd) const
   208 									   TBool aEnd) const
   210     {
   209     {
   211     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::StartOperation %d"), aOperation));
   210     OstTraceFunctionEntry0( CDPSXMLGENERATOR_STARTOPERATIONL_ENTRY );
       
   211     OstTrace1( TRACE_NORMAL, CDPSXMLGENERATOR_STARTOPERATIONL, "Operation %d", aOperation );
   212     aScript.WriteL(KDpsXmlBraceOpen);
   212     aScript.WriteL(KDpsXmlBraceOpen);
   213     aScript.WriteL(iEngine->DpsParameters()->
   213     aScript.WriteL(iEngine->DpsParameters()->
   214         iDpsOperationStrings[aOperation - 1]);
   214         iDpsOperationStrings[aOperation - 1]);
   215     if (aEnd)
   215     if (aEnd)
   216         {
   216         {
   217         aScript.WriteL(KDpsXmlSlash);
   217         aScript.WriteL(KDpsXmlSlash);
   218         }
   218         }
   219     aScript.WriteL(KDpsXmlBraceClose);	
   219     aScript.WriteL(KDpsXmlBraceClose);	
   220     aScript.WriteL(KDpsXmlSpace);
   220     aScript.WriteL(KDpsXmlSpace);
   221     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::StartOperation")));
   221     OstTraceFunctionExit0( CDPSXMLGENERATOR_STARTOPERATIONL_EXIT );
   222     }
   222     }
   223 
   223 
   224 // ---------------------------------------------------------------------------
   224 // ---------------------------------------------------------------------------
   225 // 
   225 // 
   226 // ---------------------------------------------------------------------------
   226 // ---------------------------------------------------------------------------
   227 //			
   227 //			
   228 void CDpsXmlGenerator::EndOperationL(TDpsOperation aOperation, 
   228 void CDpsXmlGenerator::EndOperationL(TDpsOperation aOperation, 
   229                                      RWriteStream& aScript) const 
   229                                      RWriteStream& aScript) const 
   230     {
   230     {
   231     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::EndOperation")));
   231     OstTraceFunctionEntry0( CDPSXMLGENERATOR_ENDOPERATIONL_ENTRY );
   232     aScript.WriteL(KDpsXmlBraceOpen);
   232     aScript.WriteL(KDpsXmlBraceOpen);
   233     aScript.WriteL(KDpsXmlSlash);
   233     aScript.WriteL(KDpsXmlSlash);
   234     // there is an empty op in the op enum so we must reduce one
   234     // there is an empty op in the op enum so we must reduce one
   235     aScript.WriteL(iEngine->DpsParameters()->
   235     aScript.WriteL(iEngine->DpsParameters()->
   236         iDpsOperationStrings[aOperation - 1]);
   236         iDpsOperationStrings[aOperation - 1]);
   237     aScript.WriteL(KDpsXmlBraceClose);	
   237     aScript.WriteL(KDpsXmlBraceClose);	
   238     aScript.WriteL(KDpsXmlSpace);
   238     aScript.WriteL(KDpsXmlSpace);
   239     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::EndOperation")));
   239     OstTraceFunctionExit0( CDPSXMLGENERATOR_ENDOPERATIONL_EXIT );
   240     }
   240     }
   241 
   241 
   242 // ---------------------------------------------------------------------------
   242 // ---------------------------------------------------------------------------
   243 // 
   243 // 
   244 // ---------------------------------------------------------------------------
   244 // ---------------------------------------------------------------------------
   245 //	
   245 //	
   246 void CDpsXmlGenerator::CreateEventL(RWriteStream& aScript, TDpsEvent aEvent) const
   246 void CDpsXmlGenerator::CreateEventL(RWriteStream& aScript, TDpsEvent aEvent) const
   247     {
   247     {
   248     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::CreatEvent")));
   248     OstTraceFunctionEntry0( CDPSXMLGENERATOR_CREATEEVENTL_ENTRY );
   249     aScript.WriteL(KDpsXmlBraceOpen);
   249     aScript.WriteL(KDpsXmlBraceOpen);
   250     aScript.WriteL(iEngine->DpsParameters()->
   250     aScript.WriteL(iEngine->DpsParameters()->
   251         iDpsEventStrings[aEvent - 1]);
   251         iDpsEventStrings[aEvent - 1]);
   252     aScript.WriteL(KDpsXmlSlash);
   252     aScript.WriteL(KDpsXmlSlash);
   253     aScript.WriteL(KDpsXmlBraceClose);
   253     aScript.WriteL(KDpsXmlBraceClose);
   254     aScript.WriteL(KDpsXmlSpace);
   254     aScript.WriteL(KDpsXmlSpace);
   255     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::CreatEvent")));
   255     OstTraceFunctionExit0( CDPSXMLGENERATOR_CREATEEVENTL_EXIT );
   256     }
   256     }
   257 
   257 
   258 // ---------------------------------------------------------------------------
   258 // ---------------------------------------------------------------------------
   259 // 
   259 // 
   260 // ---------------------------------------------------------------------------
   260 // ---------------------------------------------------------------------------
   261 //
   261 //
   262 void CDpsXmlGenerator::CreateArgL(RWriteStream& aScript, 
   262 void CDpsXmlGenerator::CreateArgL(RWriteStream& aScript, 
   263 								  const TDpsArg& aArgument, 
   263 								  const TDpsArg& aArgument, 
   264 					   			  TDpsAttribute aAttribute) const           
   264 					   			  TDpsAttribute aAttribute) const           
   265     {
   265     {
   266     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::CreatArg")));
   266     OstTraceFunctionEntry0( CDPSXMLGENERATOR_CREATEARGL_ENTRY );
   267     aScript.WriteL(KDpsXmlBraceOpen); //<
   267     aScript.WriteL(KDpsXmlBraceOpen); //<
   268     aScript.WriteL(iEngine->DpsParameters()->
   268     aScript.WriteL(iEngine->DpsParameters()->
   269         iDpsArgStrings[aArgument.iElement]);	
   269         iDpsArgStrings[aArgument.iElement]);	
   270     if (aAttribute != 0)
   270     if (aAttribute != 0)
   271         {
   271         {
   294         aScript.WriteL(iEngine->DpsParameters()->
   294         aScript.WriteL(iEngine->DpsParameters()->
   295             iDpsArgStrings[aArgument.iElement]);
   295             iDpsArgStrings[aArgument.iElement]);
   296         aScript.WriteL(KDpsXmlBraceClose); // >
   296         aScript.WriteL(KDpsXmlBraceClose); // >
   297         }
   297         }
   298     aScript.WriteL(KDpsXmlSpace);	
   298     aScript.WriteL(KDpsXmlSpace);	
   299     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::CreatArg")));
   299     OstTraceFunctionExit0( CDPSXMLGENERATOR_CREATEARGL_EXIT );
   300     }
   300     }
   301 
   301 
   302 // ---------------------------------------------------------------------------
   302 // ---------------------------------------------------------------------------
   303 // 
   303 // 
   304 // ---------------------------------------------------------------------------
   304 // ---------------------------------------------------------------------------
   305 //	
   305 //	
   306 void CDpsXmlGenerator::StartElementL(TDpsElement aElement, 
   306 void CDpsXmlGenerator::StartElementL(TDpsElement aElement, 
   307                                      RWriteStream& aScript) const
   307                                      RWriteStream& aScript) const
   308     {
   308     {
   309     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::StartElement")));
   309     OstTraceFunctionEntry0( CDPSXMLGENERATOR_STARTELEMENTL_ENTRY );
   310     aScript.WriteL(KDpsXmlBraceOpen); //<
   310     aScript.WriteL(KDpsXmlBraceOpen); //<
   311     aScript.WriteL(iEngine->DpsParameters()->
   311     aScript.WriteL(iEngine->DpsParameters()->
   312         iDpsElementStrings[aElement - 1]);	
   312         iDpsElementStrings[aElement - 1]);	
   313     aScript.WriteL(KDpsXmlBraceClose); // >
   313     aScript.WriteL(KDpsXmlBraceClose); // >
   314     aScript.WriteL(KDpsXmlSpace);
   314     aScript.WriteL(KDpsXmlSpace);
   315     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::StartElement")));
   315     OstTraceFunctionExit0( CDPSXMLGENERATOR_STARTELEMENTL_EXIT );
   316     }
   316     }
   317 
   317 
   318 // ---------------------------------------------------------------------------
   318 // ---------------------------------------------------------------------------
   319 // 
   319 // 
   320 // ---------------------------------------------------------------------------
   320 // ---------------------------------------------------------------------------
   321 //	
   321 //	
   322 void CDpsXmlGenerator::EndElementL(TDpsElement aElement, 
   322 void CDpsXmlGenerator::EndElementL(TDpsElement aElement, 
   323                                    RWriteStream& aScript) const
   323                                    RWriteStream& aScript) const
   324     {
   324     {
   325     IF_DEBUG(Print(_L(">>>CDpsXmlGenerator::EndElement")));
   325     OstTraceFunctionEntry0( CDPSXMLGENERATOR_ENDELEMENTL_ENTRY );
   326     aScript.WriteL(KDpsXmlBraceOpen); //<
   326     aScript.WriteL(KDpsXmlBraceOpen); //<
   327     aScript.WriteL(KDpsXmlSlash);
   327     aScript.WriteL(KDpsXmlSlash);
   328     aScript.WriteL(iEngine->DpsParameters()->
   328     aScript.WriteL(iEngine->DpsParameters()->
   329         iDpsElementStrings[aElement - 1]);	
   329         iDpsElementStrings[aElement - 1]);	
   330     aScript.WriteL(KDpsXmlBraceClose); // >
   330     aScript.WriteL(KDpsXmlBraceClose); // >
   331     aScript.WriteL(KDpsXmlSpace);
   331     aScript.WriteL(KDpsXmlSpace);
   332     IF_DEBUG(Print(_L("<<<CDpsXmlGenerator::EndElement")));
   332     OstTraceFunctionExit0( CDPSXMLGENERATOR_ENDELEMENTL_EXIT );
   333     }
   333     }