mtpdataproviders/mtppictbridgedp/pictbridgeengine/src/dpsxmlparser.cpp
changeset 47 63cf70d3ecd8
parent 28 85e0c0339cc3
equal deleted inserted replaced
44:a5deb6b96675 47:63cf70d3ecd8
    14 * Description:  This class parses the dps xml script. 
    14 * Description:  This class parses the dps xml script. 
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 #include <e32debug.h>
       
    20 #include "dpsxmlparser.h"
    19 #include "dpsxmlparser.h"
    21 #include "dpsconst.h"
    20 #include "dpsconst.h"
    22 #include "pictbridge.h"
    21 #include "pictbridge.h"
    23 #include "dpsxmlstring.h"
    22 #include "dpsxmlstring.h"
    24 
    23 #include "OstTraceDefinitions.h"
    25 #ifdef _DEBUG
    24 #ifdef OST_TRACE_COMPILER_IN_USE
    26 #	define IF_DEBUG(t) {RDebug::t;}
    25 #include "dpsxmlparserTraces.h"
    27 #   define PRINT_DES(t)\
       
    28  {TBuf<KMaxArgLen> _buf; _buf.Copy(t);RDebug::Print(_L("---%S"), &_buf);}
       
    29 #else
       
    30 #	define IF_DEBUG(t)
       
    31 #   define PRINT_DES(t)
       
    32 #endif
    26 #endif
       
    27 
    33 
    28 
    34 // ---------------------------------------------------------------------------
    29 // ---------------------------------------------------------------------------
    35 // 
    30 // 
    36 // ---------------------------------------------------------------------------
    31 // ---------------------------------------------------------------------------
    37 //
    32 //
    38 CDpsXmlParser* CDpsXmlParser::NewL(CDpsEngine* aEngine)
    33 CDpsXmlParser* CDpsXmlParser::NewL(CDpsEngine* aEngine)
    39 	{
    34 	{
    40     IF_DEBUG(Print(_L("CDpsXmlParser::NewL")));
       
    41     CDpsXmlParser* self = new (ELeave) CDpsXmlParser(aEngine);
    35     CDpsXmlParser* self = new (ELeave) CDpsXmlParser(aEngine);
    42     return self;
    36     return self;
    43     }
    37     }
    44 
    38 
    45 // ---------------------------------------------------------------------------
    39 // ---------------------------------------------------------------------------
    46 // 
    40 // 
    47 // ---------------------------------------------------------------------------
    41 // ---------------------------------------------------------------------------
    48 //	
    42 //	
    49 CDpsXmlParser::~CDpsXmlParser()
    43 CDpsXmlParser::~CDpsXmlParser()
    50     {
    44     {
    51     IF_DEBUG(Print(_L(">>>~CDpsXmlParser")));
    45     OstTraceFunctionEntry0( CDPSXMLPARSER_CDPSXMLPARSER_DES_ENTRY );
    52     iDpsArgs.Close();
    46     iDpsArgs.Close();
    53     __IF_DEBUG(Print(_L("<<<~CDpsXmlParser")));
    47     OstTraceFunctionExit0( CDPSXMLPARSER_CDPSXMLPARSER_DES_EXIT );
    54     }
    48     }
    55 
    49 
    56 // ---------------------------------------------------------------------------
    50 // ---------------------------------------------------------------------------
    57 // 
    51 // 
    58 // ---------------------------------------------------------------------------
    52 // ---------------------------------------------------------------------------
    59 //	
    53 //	
    60 CDpsXmlParser::CDpsXmlParser(CDpsEngine* aEngine) : iEngine(aEngine)
    54 CDpsXmlParser::CDpsXmlParser(CDpsEngine* aEngine) : iEngine(aEngine)
    61     {
    55     {
    62     IF_DEBUG(Print(_L(">>>CDpsXmlParser::Ctor")));
    56     OstTraceFunctionEntry0( DUP1_CDPSXMLPARSER_CDPSXMLPARSER_CONS_ENTRY );
    63 	Reset();
    57 	Reset();
    64     IF_DEBUG(Print(_L("<<<CDpsXmlParser::Ctor")));
    58 	OstTraceFunctionExit0( DUP1_CDPSXMLPARSER_CDPSXMLPARSER_CONS_EXIT );
    65 	}
    59 	}
    66 
    60 
    67 // ---------------------------------------------------------------------------
    61 // ---------------------------------------------------------------------------
    68 // 
    62 // 
    69 // ---------------------------------------------------------------------------
    63 // ---------------------------------------------------------------------------
    70 //
    64 //
    71 void CDpsXmlParser::OnStartDocumentL(
    65 void CDpsXmlParser::OnStartDocumentL(
    72 		const RDocumentParameters& /*aDocParam*/, TInt aErrorCode)
    66 		const RDocumentParameters& /*aDocParam*/, TInt aErrorCode)
    73     {
    67     {
    74     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnStartDocumentL")));
    68     OstTraceFunctionEntry0( CDPSXMLPARSER_ONSTARTDOCUMENTL_ENTRY );
    75     if (aErrorCode != KErrNone)
    69     if (aErrorCode != KErrNone)
    76         {
    70         {
    77         IF_DEBUG(Print(_L("---, error code is %d"), aErrorCode));
    71         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONSTARTDOCUMENTL, "---, error code is %d", aErrorCode );
    78         User::Leave(aErrorCode);
    72         User::Leave(aErrorCode);
    79         }
    73         }
    80     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnStartDocumentL")));
    74 	OstTraceFunctionExit0( CDPSXMLPARSER_ONSTARTDOCUMENTL_EXIT );
    81 	}
    75 	}
    82 
    76 
    83 // ---------------------------------------------------------------------------
    77 // ---------------------------------------------------------------------------
    84 // 
    78 // 
    85 // ---------------------------------------------------------------------------
    79 // ---------------------------------------------------------------------------
    86 //
    80 //
    87 void CDpsXmlParser::OnEndDocumentL(TInt aErrorCode)
    81 void CDpsXmlParser::OnEndDocumentL(TInt aErrorCode)
    88 	{
    82 	{
    89     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnEndDocumentL")));
    83     OstTraceFunctionEntry0( CDPSXMLPARSER_ONENDDOCUMENTL_ENTRY );
    90     if (aErrorCode != KErrNone)
    84     if (aErrorCode != KErrNone)
    91         {
    85         {
    92         IF_DEBUG(Print(_L("---, error code is %d"), aErrorCode));
    86         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONENDDOCUMENTL, "---, error code is %d", aErrorCode );
    93         User::Leave(aErrorCode);
    87         User::Leave(aErrorCode);
    94         }
    88         }
    95     
    89     
    96     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnEndDocumentL")));
    90     OstTraceFunctionExit0( CDPSXMLPARSER_ONENDDOCUMENTL_EXIT );
    97     }
    91     }
    98 
    92 
    99 // ---------------------------------------------------------------------------
    93 // ---------------------------------------------------------------------------
   100 // 
    94 // 
   101 // ---------------------------------------------------------------------------
    95 // ---------------------------------------------------------------------------
   102 //	
    96 //	
   103 void CDpsXmlParser::OnStartElementL(const RTagInfo& aElement, 
    97 void CDpsXmlParser::OnStartElementL(const RTagInfo& aElement, 
   104 									const RAttributeArray& aAttributes, 
    98 									const RAttributeArray& aAttributes, 
   105 									TInt aErrCode)
    99 									TInt aErrCode)
   106     {
   100     {
   107     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnStartElementL")));
   101     OstTraceFunctionEntry0( CDPSXMLPARSER_ONSTARTELEMENTL_ENTRY );
   108     
   102     
   109     if (aErrCode != KErrNone)
   103     if (aErrCode != KErrNone)
   110         {
   104         {
   111         IF_DEBUG(Print(_L("---, error code is %d"), aErrCode));
   105         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONSTARTELEMENTL, "---, error code is %d", aErrCode );
   112         User::Leave(aErrCode);
   106         User::Leave(aErrCode);
   113         }
   107         }
   114     if (aAttributes.Count() > 1)
   108     if (aAttributes.Count() > 1)
   115         {
   109         {
   116         IF_DEBUG(Print(_L("---cannot have more than one attribute!")));
   110         OstTrace0( TRACE_ERROR, DUP1_CDPSXMLPARSER_ONSTARTELEMENTL, "---cannot have more than one attribute!" );
   117         User::Leave(KErrArgument);
   111         User::Leave(KErrArgument);
   118         }
   112         }
   119     	
   113     	
   120     // Gets the name of the tag
   114     // Gets the name of the tag
   121     const TDesC8& name = aElement.LocalName().DesC();
   115     const TDesC8& name = aElement.LocalName().DesC();
   122     
   116     
   123     IF_DEBUG(Print(_L("---Start"))); PRINT_DES(name);
   117     OstTraceExt1( TRACE_NORMAL, DUP2_CDPSXMLPARSER_ONSTARTELEMENTL, "---Start---%s", name );
   124 	
       
   125     //Checks the element
   118     //Checks the element
   126     // this is the first layer <dps>
   119     // this is the first layer <dps>
   127     if (!name.Compare(KDpsXml))
   120     if (!name.Compare(KDpsXml))
   128         {
   121         {
   129         iAction = EDpsXmlStart;
   122         iAction = EDpsXmlStart;
   163         iAction = EDpsXmlOperation;
   156         iAction = EDpsXmlOperation;
   164         for (TInt i= 0; i < EDpsOpMax-1; i++) //i=0 as AppendL() method adds item on first free position in array
   157         for (TInt i= 0; i < EDpsOpMax-1; i++) //i=0 as AppendL() method adds item on first free position in array
   165             {
   158             {
   166             if (!name.Compare(iEngine->DpsParameters()->iDpsOperationStrings[i]))
   159             if (!name.Compare(iEngine->DpsParameters()->iDpsOperationStrings[i]))
   167                 {
   160                 {
   168                 IF_DEBUG(Print(_L("---found the operation")));
   161                 OstTraceExt1( TRACE_NORMAL, DUP3_CDPSXMLPARSER_ONSTARTELEMENTL, "---found the operation---%s", name );
   169                 PRINT_DES(name);
       
   170                 iDpsOperation = (TDpsOperation)(i+1);// i+1 to by pass first operation EDpsOpEmpty in enum which is not added to array
   162                 iDpsOperation = (TDpsOperation)(i+1);// i+1 to by pass first operation EDpsOpEmpty in enum which is not added to array
   171                 break;
   163                 break;
   172                 }
   164                 }
   173             }
   165             }
   174         }
   166         }
   178     else if (iAction == EDpsXmlOperation || iAction == EDpsXmlEvent)
   170     else if (iAction == EDpsXmlOperation || iAction == EDpsXmlEvent)
   179         {
   171         {
   180         // only element in output is capability
   172         // only element in output is capability
   181         if (!name.Compare(iEngine->DpsParameters()->iDpsElementStrings[0]))
   173         if (!name.Compare(iEngine->DpsParameters()->iDpsElementStrings[0]))
   182             {
   174             {
   183             IF_DEBUG(Print(_L("---the element is")));
   175             OstTraceExt1( TRACE_NORMAL, DUP4_CDPSXMLPARSER_ONSTARTELEMENTL, "---the element is %s", name );
   184             PRINT_DES(name);
       
   185             iElement = EDpsCapability;
   176             iElement = EDpsCapability;
   186             }
   177             }
   187         else
   178         else
   188             {
   179             {
   189             for (TInt i = 0; i < EDpsArgMax; i++)
   180             for (TInt i = 0; i < EDpsArgMax; i++)
   190                 {
   181                 {
   191                 if (!name.Compare(iEngine->DpsParameters()->iDpsArgStrings[i]))
   182                 if (!name.Compare(iEngine->DpsParameters()->iDpsArgStrings[i]))
   192                     {
   183                     {
   193                     IF_DEBUG(Print(_L("---the argument is ")));
   184                     OstTraceExt1( TRACE_NORMAL, DUP5_CDPSXMLPARSER_ONSTARTELEMENTL, "---the argument is %s", name );
   194                     PRINT_DES(name);	
       
   195                     TDpsArg arg;
   185                     TDpsArg arg;
   196                     arg.iElement = (TDpsArgument)i;
   186                     arg.iElement = (TDpsArgument)i;
   197                     arg.iContent.Copy(_L(""));
   187                     arg.iContent.Copy(_L(""));
   198                     iDpsArgs.Append(arg);
   188                     iDpsArgs.Append(arg);
   199                     break;
   189                     break;
   203 		
   193 		
   204         }
   194         }
   205     else
   195     else
   206         {
   196         {
   207         // something wrong
   197         // something wrong
   208         IF_DEBUG(Print(_L("--- non-PB element! %S"), &name));
   198         OstTraceExt1( TRACE_ERROR, DUP6_CDPSXMLPARSER_ONSTARTELEMENTL, "--- non-PB element! %S", name );
   209         User::Leave(KErrNotSupported);
   199         User::Leave(KErrNotSupported);
   210         }
   200         }
   211     if (aAttributes.Count() == 1)
   201     if (aAttributes.Count() == 1)
   212         {
   202         {
   213         ParseAttributesL(aAttributes, name);
   203         ParseAttributesL(aAttributes, name);
   214         }
   204         }
   215     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnStartElementL")));
   205     OstTraceFunctionExit0( CDPSXMLPARSER_ONSTARTELEMENTL_EXIT );
   216     }
   206     }
   217 
   207 
   218 // ---------------------------------------------------------------------------
   208 // ---------------------------------------------------------------------------
   219 // 
   209 // 
   220 // ---------------------------------------------------------------------------
   210 // ---------------------------------------------------------------------------
   221 //	     
   211 //	     
   222 void CDpsXmlParser::ParseAttributesL(const RAttributeArray& aAttributes, 
   212 void CDpsXmlParser::ParseAttributesL(const RAttributeArray& aAttributes, 
   223                                      const TDesC8& tag)
   213                                      const TDesC8& tag)
   224     {
   214     {
       
   215     OstTraceFunctionEntry0( CDPSXMLPARSER_PARSEATTRIBUTESL_ENTRY );
   225     // element
   216     // element
   226     const TDesC8& name = aAttributes[0].Attribute().LocalName().DesC();
   217     const TDesC8& name = aAttributes[0].Attribute().LocalName().DesC();
   227     // only "layouts" and "paperTypes" have attributes
   218     // only "layouts" and "paperTypes" have attributes
   228     if (tag.Compare(KDpsXmlPaperTypes) && tag.Compare(KDpsXmlLayouts))
   219     if (tag.Compare(KDpsXmlPaperTypes) && tag.Compare(KDpsXmlLayouts))
   229         {
   220         {
   230         // error
   221         // error
   231         IF_DEBUG(Print(_L("--- this tag have no attribute")));
   222         OstTraceExt1( TRACE_ERROR, CDPSXMLPARSER_PARSEATTRIBUTESL, "--- this tag %s have no attribute", name );
   232         PRINT_DES(name);
       
   233         User::Leave(KErrArgument);
   223         User::Leave(KErrArgument);
   234         }
   224         }
   235     // the element of the attributes must be "paperSize"	
   225     // the element of the attributes must be "paperSize"	
   236     if (name.Compare(KDpsXmlPaperSize))
   226     if (name.Compare(KDpsXmlPaperSize))
   237         {
   227         {
   238         // error
   228         // error
   239         IF_DEBUG(Print(_L("--- wrong attribute")))
   229         OstTraceExt1( TRACE_ERROR, DUP1_CDPSXMLPARSER_PARSEATTRIBUTESL, "--- wrong attribute--- %s", name );
   240         PRINT_DES(name);
       
   241         User::Leave(KErrArgument);
   230         User::Leave(KErrArgument);
   242         }
   231         }
   243     // value
   232     // value
   244     HBufC8* value = aAttributes[0].Value().DesC().AllocLC();
   233     HBufC8* value = aAttributes[0].Value().DesC().AllocLC();
   245     TUint32 result;    
   234     TUint32 result;    
   246     TLex8 converter(*value);
   235     TLex8 converter(*value);
   247     TInt error = converter.Val(result, EHex);
   236     TInt error = converter.Val(result, EHex);
   248     if (error != KErrNone)
   237     if (error != KErrNone)
   249         {
   238         {
   250         IF_DEBUG(Print(_L("--- convert error %d"), error));
   239         OstTrace1( TRACE_ERROR, DUP2_CDPSXMLPARSER_PARSEATTRIBUTESL, "--- convert error %d", error );
   251         User::Leave(error);
   240         User::Leave(error);
   252         }
   241         }
   253     iAttrib = result >> KShiftLength; 
   242     iAttrib = result >> KShiftLength; 
   254     CleanupStack::PopAndDestroy(value);
   243     CleanupStack::PopAndDestroy(value);
   255     IF_DEBUG(Print(_L("--- attribte value %x"), result));
   244     OstTrace1( TRACE_NORMAL, DUP3_CDPSXMLPARSER_PARSEATTRIBUTESL, "--- attribte value %x", result );
   256      
   245   
       
   246     OstTraceFunctionExit0( CDPSXMLPARSER_PARSEATTRIBUTESL_EXIT );
   257     }
   247     }
   258     
   248     
   259 // ---------------------------------------------------------------------------
   249 // ---------------------------------------------------------------------------
   260 // 
   250 // 
   261 // ---------------------------------------------------------------------------
   251 // ---------------------------------------------------------------------------
   262 //	
   252 //	
   263 void CDpsXmlParser::OnEndElementL(const RTagInfo& aElement, 
   253 void CDpsXmlParser::OnEndElementL(const RTagInfo& aElement, 
   264 								  TInt aErrorCode)
   254 								  TInt aErrorCode)
   265     {
   255     {
   266     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnEndElementL")));
   256     OstTraceFunctionEntry0( CDPSXMLPARSER_ONENDELEMENTL_ENTRY );
   267     
   257     
   268     if (aErrorCode != KErrNone)
   258     if (aErrorCode != KErrNone)
   269         {
   259         {
   270         IF_DEBUG(Print(_L("--- error code is %d"), aErrorCode));
   260         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONENDELEMENTL, "--- error code is %d", aErrorCode );
   271         User::Leave(aErrorCode);
   261         User::Leave(aErrorCode);
   272         }
   262         }
   273         
   263         
   274     // Get the name of the tag
   264     // Get the name of the tag
   275     const TDesC8& name = aElement.LocalName().DesC();
   265     const TDesC8& name = aElement.LocalName().DesC();
   276     PRINT_DES(name);
   266     OstTraceExt1( TRACE_NORMAL, DUP1_CDPSXMLPARSER_ONENDELEMENTL, "%s", name );    
   277     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnEndElementL")));	
   267     OstTraceFunctionExit0( CDPSXMLPARSER_ONENDELEMENTL_EXIT );
   278     }
   268     }
   279 
   269 
   280 // ---------------------------------------------------------------------------
   270 // ---------------------------------------------------------------------------
   281 // 
   271 // 
   282 // ---------------------------------------------------------------------------
   272 // ---------------------------------------------------------------------------
   283 //
   273 //
   284 void CDpsXmlParser::OnContentL(const TDesC8& aBytes, TInt aErrorCode)
   274 void CDpsXmlParser::OnContentL(const TDesC8& aBytes, TInt aErrorCode)
   285 	{
   275 	{
   286     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnContentL content is")));
   276     OstTraceFunctionEntry0( CDPSXMLPARSER_ONCONTENTL_ENTRY );
   287     PRINT_DES(aBytes);
   277     OstTraceExt1( TRACE_NORMAL, CDPSXMLPARSER_ONCONTENTL, "content is %s", aBytes );
   288     
   278     
   289     if (aErrorCode != KErrNone)
   279     if (aErrorCode != KErrNone)
   290    	    {
   280    	    {
   291         IF_DEBUG(Print(_L("--- error code %d"), aErrorCode));
   281         OstTrace1( TRACE_ERROR, DUP1_CDPSXMLPARSER_ONCONTENTL, "--- error code %d", aErrorCode );
   292         User::Leave(aErrorCode);
   282         User::Leave(aErrorCode);
   293         }	
   283         }	
   294     if (aBytes[0] >= KSOH && aBytes[0] <= KSpace)
   284     if (aBytes[0] >= KSOH && aBytes[0] <= KSpace)
   295         {
   285         {
   296         IF_DEBUG(Print(_L("the unprintable char %d"), aBytes[0]));
   286         OstTrace1( TRACE_NORMAl, DUP2_CDPSXMLPARSER_ONCONTENTL, "the unprintable char %d", aBytes[0] );
       
   287         OstTraceFunctionExit0( CDPSXMLPARSER_ONCONTENTL_EXIT );
   297         return; 
   288         return; 
   298         }
   289         }
   299     // parses the result	
   290     // parses the result	
   300     if (iAction == EDpsXmlResult)
   291     if (iAction == EDpsXmlResult)
   301         {
   292         {
   302         TUint32 value;
   293         TUint32 value;
   303         TLex8 converter(aBytes);
   294         TLex8 converter(aBytes);
   304         TInt error = converter.Val(value, EHex);
   295         TInt error = converter.Val(value, EHex);
   305         if (error != KErrNone)
   296         if (error != KErrNone)
   306             {
   297             {
   307             IF_DEBUG(Print(_L("--- convert error %d"), error));
   298             OstTrace1( TRACE_ERROR, DUP3_CDPSXMLPARSER_ONCONTENTL, "--- convert error %d", error );
   308             User::Leave(error);
   299             User::Leave(error);
   309             }
   300             }
   310         IF_DEBUG(Print(_L("--- result %x"), value));
   301         OstTrace1( TRACE_NORMAL, DUP4_CDPSXMLPARSER_ONCONTENTL, "--- result %x", value);
       
   302         
   311         // we have got the result
   303         // we have got the result
   312         iDpsResult.iMajorCode = 
   304         iDpsResult.iMajorCode = 
   313             static_cast<TDpsResultMajorCode>(value >> KShiftLength);
   305             static_cast<TDpsResultMajorCode>(value >> KShiftLength);
   314         iDpsResult.iMinorCode = 
   306         iDpsResult.iMinorCode = 
   315             static_cast<TDpsResultMinorCode>(value & KDpsMinorMask);
   307             static_cast<TDpsResultMinorCode>(value & KDpsMinorMask);
   317     // gets the argument	
   309     // gets the argument	
   318     else if (iAction == EDpsXmlOperation || iAction == EDpsXmlEvent)
   310     else if (iAction == EDpsXmlOperation || iAction == EDpsXmlEvent)
   319         {
   311         {
   320         iDpsArgs[iDpsArgs.Count() - 1].iContent.Copy(aBytes);
   312         iDpsArgs[iDpsArgs.Count() - 1].iContent.Copy(aBytes);
   321         }
   313         }
   322     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnContentL")));
   314     OstTraceFunctionExit0( DUP1_CDPSXMLPARSER_ONCONTENTL_EXIT );
   323     }
   315     }
   324 
   316 
   325 // ---------------------------------------------------------------------------
   317 // ---------------------------------------------------------------------------
   326 // 
   318 // 
   327 // ---------------------------------------------------------------------------
   319 // ---------------------------------------------------------------------------
   328 //
   320 //
   329 void CDpsXmlParser::OnStartPrefixMappingL(const RString& /*aPrefix*/, 
   321 void CDpsXmlParser::OnStartPrefixMappingL(const RString& /*aPrefix*/, 
   330 										  const RString& /*aUri*/, 
   322 										  const RString& /*aUri*/, 
   331 										  TInt aErrorCode)
   323 										  TInt aErrorCode)
   332     {
   324     {
   333     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnStartPrefixMappingL")));
   325     OstTraceFunctionEntry0( CDPSXMLPARSER_ONSTARTPREFIXMAPPINGL_ENTRY );
   334     if (aErrorCode != KErrNone)
   326     if (aErrorCode != KErrNone)
   335         {
   327         {
   336         IF_DEBUG(Print(_L("--- error code %d"), aErrorCode));
   328         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONSTARTPREFIXMAPPINGL, "--- error code %d", aErrorCode );
   337         User::Leave(aErrorCode);
   329         User::Leave(aErrorCode);
   338         }
   330         }
   339     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnStartPrefixMappingL")));	
   331     OstTraceFunctionExit0( CDPSXMLPARSER_ONSTARTPREFIXMAPPINGL_EXIT );
   340     }
   332     }
   341 
   333 
   342 // ---------------------------------------------------------------------------
   334 // ---------------------------------------------------------------------------
   343 // 
   335 // 
   344 // ---------------------------------------------------------------------------
   336 // ---------------------------------------------------------------------------
   345 //	
   337 //	
   346 void CDpsXmlParser::OnEndPrefixMappingL(const RString& /*aPrefix*/, 
   338 void CDpsXmlParser::OnEndPrefixMappingL(const RString& /*aPrefix*/, 
   347 									    TInt aErrorCode)
   339 									    TInt aErrorCode)
   348     {
   340     {
   349     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnEndPrefixMappingL")));
   341     OstTraceFunctionEntry0( CDPSXMLPARSER_ONENDPREFIXMAPPINGL_ENTRY );
   350     if (aErrorCode != KErrNone)
   342     if (aErrorCode != KErrNone)
   351         {
   343         {
   352         IF_DEBUG(Print(_L("--- error code %d"), aErrorCode));
   344         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONENDPREFIXMAPPINGL, "--- error code %d", aErrorCode );
   353         User::Leave(aErrorCode);
   345         User::Leave(aErrorCode);
   354         }
   346         }
   355     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnEndPrefixMappingL")));	
   347     OstTraceFunctionExit0( CDPSXMLPARSER_ONENDPREFIXMAPPINGL_EXIT );
   356     }
   348     }
   357 
   349 
   358 // ---------------------------------------------------------------------------
   350 // ---------------------------------------------------------------------------
   359 // 
   351 // 
   360 // ---------------------------------------------------------------------------
   352 // ---------------------------------------------------------------------------
   361 //
   353 //
   362 void CDpsXmlParser::OnIgnorableWhiteSpaceL(const TDesC8& /*aBytes*/, 
   354 void CDpsXmlParser::OnIgnorableWhiteSpaceL(const TDesC8& /*aBytes*/, 
   363                                            TInt aErrorCode)
   355                                            TInt aErrorCode)
   364     {
   356     {
   365     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnIgnorableWhiteSpaceL")));
   357     OstTraceFunctionEntry0( CDPSXMLPARSER_ONIGNORABLEWHITESPACEL_ENTRY );
   366     if (aErrorCode != KErrNone)
   358     if (aErrorCode != KErrNone)
   367         {
   359         {
   368         IF_DEBUG(Print(_L("---error code %d"), aErrorCode));
   360         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONIGNORABLEWHITESPACEL, "--- error code %d", aErrorCode );
   369         User::Leave(aErrorCode);
   361         User::Leave(aErrorCode);
   370         }
   362         }
   371     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnIgnorableWhiteSpaceL")));	
   363     OstTraceFunctionExit0( CDPSXMLPARSER_ONIGNORABLEWHITESPACEL_EXIT );
   372     }
   364     }
   373 
   365 
   374 // ---------------------------------------------------------------------------
   366 // ---------------------------------------------------------------------------
   375 // 
   367 // 
   376 // ---------------------------------------------------------------------------
   368 // ---------------------------------------------------------------------------
   377 //	
   369 //	
   378 void CDpsXmlParser::OnSkippedEntityL(const RString& /*aName*/, 
   370 void CDpsXmlParser::OnSkippedEntityL(const RString& /*aName*/, 
   379 								     TInt aErrorCode)
   371 								     TInt aErrorCode)
   380 	{
   372 	{
   381     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnSkippedEntityL")));
   373     OstTraceFunctionEntry0( CDPSXMLPARSER_ONSKIPPEDENTITYL_ENTRY );
   382     if (aErrorCode != KErrNone)
   374     if (aErrorCode != KErrNone)
   383         {
   375         {
   384         IF_DEBUG(Print(_L("--- error code %d"), aErrorCode));
   376         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONSKIPPEDENTITYL, "--- error code %d", aErrorCode );
   385         User::Leave(aErrorCode);
   377         User::Leave(aErrorCode);
   386         }
   378         }
   387     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnSkippedEntityL")));	
   379     OstTraceFunctionExit0( CDPSXMLPARSER_ONSKIPPEDENTITYL_EXIT );
   388     }
   380     }
   389 
   381 
   390 // ---------------------------------------------------------------------------
   382 // ---------------------------------------------------------------------------
   391 // 
   383 // 
   392 // ---------------------------------------------------------------------------
   384 // ---------------------------------------------------------------------------
   393 //	
   385 //	
   394 void CDpsXmlParser::OnProcessingInstructionL(const TDesC8& /*aTarget*/, 
   386 void CDpsXmlParser::OnProcessingInstructionL(const TDesC8& /*aTarget*/, 
   395 											 const TDesC8& /*aData*/, 
   387 											 const TDesC8& /*aData*/, 
   396 											 TInt aErrorCode)
   388 											 TInt aErrorCode)
   397     {
   389     {
   398     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnProcessingInstructionL")));
   390     OstTraceFunctionEntry0( CDPSXMLPARSER_ONPROCESSINGINSTRUCTIONL_ENTRY );
   399     if (aErrorCode != KErrNone)
   391     if (aErrorCode != KErrNone)
   400         {
   392         {
   401         IF_DEBUG(Print(_L("--- error code %d"), aErrorCode));
   393         OstTrace1( TRACE_ERROR, CDPSXMLPARSER_ONPROCESSINGINSTRUCTIONL, "--- error code %d", aErrorCode );
   402         User::Leave(aErrorCode);
   394         User::Leave(aErrorCode);
   403         }
   395         }
   404     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnProcessingInstructionL")));	
   396     OstTraceFunctionExit0( CDPSXMLPARSER_ONPROCESSINGINSTRUCTIONL_EXIT );
   405     }
   397     }
   406 
   398 
   407 // ---------------------------------------------------------------------------
   399 // ---------------------------------------------------------------------------
   408 // 
   400 // 
   409 // ---------------------------------------------------------------------------
   401 // ---------------------------------------------------------------------------
   410 //	
   402 //	
   411 void CDpsXmlParser::OnError(TInt aErrorCode)
   403 void CDpsXmlParser::OnError(TInt aErrorCode)
   412     {
   404     {
   413     IF_DEBUG(Print(_L(">>>CDpsXmlParser::OnError()")));
   405     OstTraceFunctionEntry0( CDPSXMLPARSER_ONERROR_ENTRY );
   414     if (aErrorCode != KErrNone)
   406     if (aErrorCode != KErrNone)
   415         {
   407         {
   416         IF_DEBUG(Print(_L("---error code %d"), aErrorCode));
   408         OstTrace1( TRACE_NORMAL, CDPSXMLPARSER_ONERROR, "---error code %d", aErrorCode );
   417         }
   409         }
   418     IF_DEBUG(Print(_L("<<<CDpsXmlParser::OnError()")));	
   410     OstTraceFunctionExit0( CDPSXMLPARSER_ONERROR_EXIT );
   419     }
   411     }
   420 
   412 
   421 // ---------------------------------------------------------------------------
   413 // ---------------------------------------------------------------------------
   422 // 
   414 // 
   423 // ---------------------------------------------------------------------------
   415 // ---------------------------------------------------------------------------