mtpdataproviders/mtpimagedp/src/cmtpimagedpgetobjectproplist.cpp
changeset 47 63cf70d3ecd8
parent 38 48c22c726cf9
child 60 841f70763fbe
equal deleted inserted replaced
44:a5deb6b96675 47:63cf70d3ecd8
    33 #include "cmtpimagedpobjectpropertymgr.h"
    33 #include "cmtpimagedpobjectpropertymgr.h"
    34 #include "mtpimagedpconst.h"
    34 #include "mtpimagedpconst.h"
    35 #include "mtpimagedppanic.h"
    35 #include "mtpimagedppanic.h"
    36 #include "cmtpimagedp.h"
    36 #include "cmtpimagedp.h"
    37 #include "mtpimagedputilits.h"
    37 #include "mtpimagedputilits.h"
    38 
    38 #include "OstTraceDefinitions.h"
    39 __FLOG_STMT(_LIT8(KComponent,"ImageDpGetObjectPropList");)
    39 #ifdef OST_TRACE_COMPILER_IN_USE
       
    40 #include "cmtpimagedpgetobjectproplistTraces.h"
       
    41 #endif
    40 
    42 
    41 
    43 
    42 MMTPRequestProcessor* CMTPImageDpGetObjectPropList::NewL(MMTPDataProviderFramework& aFramework, 
    44 MMTPRequestProcessor* CMTPImageDpGetObjectPropList::NewL(MMTPDataProviderFramework& aFramework, 
    43                                                                MMTPConnection& aConnection,CMTPImageDataProvider& aDataProvider)
    45                                                                MMTPConnection& aConnection,CMTPImageDataProvider& aDataProvider)
    44     {
    46     {
    54  */  
    56  */  
    55 CMTPImageDpGetObjectPropList::CMTPImageDpGetObjectPropList(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection,CMTPImageDataProvider& aDataProvider) :
    57 CMTPImageDpGetObjectPropList::CMTPImageDpGetObjectPropList(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection,CMTPImageDataProvider& aDataProvider) :
    56     CMTPRequestProcessor(aFramework, aConnection, 0,NULL),
    58     CMTPRequestProcessor(aFramework, aConnection, 0,NULL),
    57     iPropertyMgr(aDataProvider.PropertyMgr())
    59     iPropertyMgr(aDataProvider.PropertyMgr())
    58     {
    60     {
    59     __FLOG_OPEN(KMTPSubsystem, KComponent);
       
    60     }
    61     }
    61     
    62     
    62 /*
    63 /*
    63  * Constructor
    64  * Constructor
    64  */   
    65  */   
    65 void CMTPImageDpGetObjectPropList::ConstructL()
    66 void CMTPImageDpGetObjectPropList::ConstructL()
    66     {
    67     {
    67     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::ConstructL"));
    68     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_CONSTRUCTL_ENTRY );
    68     
    69     
    69     iPropertyList = CMTPTypeObjectPropList::NewL();
    70     iPropertyList = CMTPTypeObjectPropList::NewL();
    70     iObjectMeta = CMTPObjectMetaData::NewL();
    71     iObjectMeta = CMTPObjectMetaData::NewL();
    71     
    72 
    72     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::ConstructL"));
    73     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_CONSTRUCTL_EXIT );
    73     }
    74     }
    74 
    75 
    75 /*
    76 /*
    76  * Destructor
    77  * Destructor
    77  */       
    78  */       
    78 CMTPImageDpGetObjectPropList::~CMTPImageDpGetObjectPropList()
    79 CMTPImageDpGetObjectPropList::~CMTPImageDpGetObjectPropList()
    79     {
    80     {
    80     __FLOG(_L8("~CMTPImageDpGetObjectPropList"));
    81     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_CMTPIMAGEDPGETOBJECTPROPLIST_DES_ENTRY );
    81     Cancel();
    82     Cancel();
    82     
    83     
    83     iHandles.Close();
    84     iHandles.Close();
    84     delete iPropertyList;
    85     delete iPropertyList;
    85     delete iObjectMeta;
    86     delete iObjectMeta;
    86     __FLOG_CLOSE;
    87     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_CMTPIMAGEDPGETOBJECTPROPLIST_DES_EXIT );
    87     }
    88     }
    88 
    89 
    89 /*
    90 /*
    90  * 
    91  * 
    91  */ 
    92  */ 
    92 void CMTPImageDpGetObjectPropList::ServiceL()
    93 void CMTPImageDpGetObjectPropList::ServiceL()
    93     {
    94     {
    94     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::ServiceL"));
    95     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEL_ENTRY );
    95     
    96     
    96     //get all the handles
    97     //get all the handles
    97     GetObjectHandlesL();
    98     GetObjectHandlesL();
    98     
    99     
    99     if ( iHandles.Count() > 0 )
   100     if ( iHandles.Count() > 0 )
   101         ServicePropertiesL( iHandles[0] );
   102         ServicePropertiesL( iHandles[0] );
   102         iHandles.Remove( 0 );
   103         iHandles.Remove( 0 );
   103         }
   104         }
   104     
   105     
   105     StartL();
   106     StartL();
   106     
   107 
   107     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::ServiceL"));
   108     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEL_EXIT );
   108     }
   109     }
   109     
   110     
   110 /*
   111 /*
   111  * Check object Handle, prop code and Depth, Group Code
   112  * Check object Handle, prop code and Depth, Group Code
   112  */   
   113  */   
   113 TMTPResponseCode CMTPImageDpGetObjectPropList::CheckRequestL()
   114 TMTPResponseCode CMTPImageDpGetObjectPropList::CheckRequestL()
   114     {
   115     {
   115     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::CheckRequestL"));        
   116     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_CHECKREQUESTL_ENTRY );      
   116 
   117 
   117     TMTPResponseCode result = EMTPRespCodeOK;
   118     TMTPResponseCode result = EMTPRespCodeOK;
   118     TUint32 handle(Request().Uint32(TMTPTypeRequest::ERequestParameter1));
   119     TUint32 handle(Request().Uint32(TMTPTypeRequest::ERequestParameter1));
   119     
   120     
   120     //getobjectproplist support KMTPHandleAll and KMTPHandleNone
   121     //getobjectproplist support KMTPHandleAll and KMTPHandleNone
   131 
   132 
   132     if (EMTPRespCodeOK == result)
   133     if (EMTPRespCodeOK == result)
   133         {
   134         {
   134         result = CheckDepth();
   135         result = CheckDepth();
   135         }    
   136         }    
   136     
   137 		
   137     __FLOG_VA((_L8("<< CMTPImageDpGetObjectPropList::CheckRequestL result: %d"), result));
   138 	OstTrace1( TRACE_NORMAL, CMTPIMAGEDPGETOBJECTPROPLIST_CHECKREQUESTL, "result: %d", result );
       
   139     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_CHECKREQUESTL_EXIT );
       
   140     
   138     return result;    
   141     return result;    
   139     }
   142     }
   140 
   143 
   141 TMTPResponseCode CMTPImageDpGetObjectPropList::CheckPropCode() const
   144 TMTPResponseCode CMTPImageDpGetObjectPropList::CheckPropCode() const
   142     {
   145     {
   143     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::CheckPropCode"));
   146     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_CHECKPROPCODE_ENTRY );
   144     
   147     
   145     TMTPResponseCode response = EMTPRespCodeOK; 
   148     TMTPResponseCode response = EMTPRespCodeOK; 
   146     TUint32 propCode = Request().Uint32(TMTPTypeRequest::ERequestParameter3);
   149     TUint32 propCode = Request().Uint32(TMTPTypeRequest::ERequestParameter3);
   147     if (propCode == 0)
   150     if (propCode == 0)
   148         {
   151         {
   162         if (i == count)
   165         if (i == count)
   163             {
   166             {
   164             response = EMTPRespCodeInvalidObjectPropCode;
   167             response = EMTPRespCodeInvalidObjectPropCode;
   165             }
   168             }
   166         }
   169         }
   167     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::CheckPropCode"));
   170     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_CHECKPROPCODE_EXIT );
   168     return response;
   171     return response;
   169     }
   172     }
   170  
   173  
   171 TMTPResponseCode CMTPImageDpGetObjectPropList::CheckDepth() const
   174 TMTPResponseCode CMTPImageDpGetObjectPropList::CheckDepth() const
   172     {
   175     {
   173     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::CheckDepth"));
   176     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_CHECKDEPTH_ENTRY );
   174     
   177     
   175     TMTPResponseCode response = EMTPRespCodeSpecificationByDepthUnsupported;
   178     TMTPResponseCode response = EMTPRespCodeSpecificationByDepthUnsupported;
   176     
   179     
   177     // We either support no depth at all, or 1 depth or (0xFFFFFFFF) with objecthandle as 0x00000000
   180     // We either support no depth at all, or 1 depth or (0xFFFFFFFF) with objecthandle as 0x00000000
   178     TUint32 handle(Request().Uint32(TMTPTypeRequest::ERequestParameter1));
   181     TUint32 handle(Request().Uint32(TMTPTypeRequest::ERequestParameter1));
   181             (depth == KMaxTUint && handle == KMTPHandleNone ) ) 
   184             (depth == KMaxTUint && handle == KMTPHandleNone ) ) 
   182         {
   185         {
   183         response = EMTPRespCodeOK; 
   186         response = EMTPRespCodeOK; 
   184         }
   187         }
   185     
   188     
   186     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::CheckDepth"));
   189     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_CHECKDEPTH_EXIT );
   187     return response;    
   190     return response;    
   188     }
   191     }
   189 
   192 
   190 void CMTPImageDpGetObjectPropList::GetObjectHandlesL()
   193 void CMTPImageDpGetObjectPropList::GetObjectHandlesL()
   191     {
   194     {
   192     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::GetObjectHandlesL"));
   195     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_GETOBJECTHANDLESL_ENTRY );
   193     
   196     
   194     TUint32 handle(Request().Uint32(TMTPTypeRequest::ERequestParameter1));
   197     TUint32 handle(Request().Uint32(TMTPTypeRequest::ERequestParameter1));
   195     TUint32 formatCode(Request().Uint32(TMTPTypeRequest::ERequestParameter2));
   198     TUint32 formatCode(Request().Uint32(TMTPTypeRequest::ERequestParameter2));
   196     TUint32 depth(Request().Uint32(TMTPTypeRequest::ERequestParameter5));
   199     TUint32 depth(Request().Uint32(TMTPTypeRequest::ERequestParameter5));
   197     
   200     
   208     else
   211     else
   209         {
   212         {
   210         iHandles.AppendL( handle );
   213         iHandles.AppendL( handle );
   211         }
   214         }
   212     
   215     
   213     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::GetObjectHandlesL"));
   216     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_GETOBJECTHANDLESL_EXIT );
   214     }
   217     }
   215 
   218 
   216 void CMTPImageDpGetObjectPropList::GetObjectHandlesL(TUint32 aStorageId, TUint32 aFormatCode, TUint32 aParentHandle)
   219 void CMTPImageDpGetObjectPropList::GetObjectHandlesL(TUint32 aStorageId, TUint32 aFormatCode, TUint32 aParentHandle)
   217     {
   220     {
   218     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::GetObjectHandlesL"));
   221     OstTraceFunctionEntry0( DUP1_CMTPIMAGEDPGETOBJECTPROPLIST_GETOBJECTHANDLESL_ENTRY );
   219     
   222     
   220     RMTPObjectMgrQueryContext   context;
   223     RMTPObjectMgrQueryContext   context;
   221     RArray<TUint>               handles;
   224     RArray<TUint>               handles;
   222     TMTPObjectMgrQueryParams    params(aStorageId, aFormatCode, aParentHandle, iFramework.DataProviderId());
   225     TMTPObjectMgrQueryParams    params(aStorageId, aFormatCode, aParentHandle, iFramework.DataProviderId());
   223     CleanupClosePushL(context);
   226     CleanupClosePushL(context);
   235         }
   238         }
   236     while(!context.QueryComplete());
   239     while(!context.QueryComplete());
   237     
   240     
   238     CleanupStack::PopAndDestroy(&handles);
   241     CleanupStack::PopAndDestroy(&handles);
   239     CleanupStack::PopAndDestroy(&context);
   242     CleanupStack::PopAndDestroy(&context);
   240     
   243 
   241     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::GetObjectHandlesL"));
   244     OstTraceFunctionExit0( DUP1_CMTPIMAGEDPGETOBJECTPROPLIST_GETOBJECTHANDLESL_EXIT );
   242     }
   245     }
   243     
   246     
   244 void CMTPImageDpGetObjectPropList::GetRootObjectHandlesL(TUint32 aFormatCode, TUint32 aDepth)
   247 void CMTPImageDpGetObjectPropList::GetRootObjectHandlesL(TUint32 aFormatCode, TUint32 aDepth)
   245     {
   248     {
   246     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::GetRootObjectHandlesL"));
   249     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_GETROOTOBJECTHANDLESL_ENTRY );
   247     
   250     
   248     if (aDepth == KMaxTUint)
   251     if (aDepth == KMaxTUint)
   249         {
   252         {
   250         GetObjectHandlesL(KMTPStorageAll, aFormatCode, KMTPHandleNone);
   253         GetObjectHandlesL(KMTPStorageAll, aFormatCode, KMTPHandleNone);
   251         }
   254         }
   252     else if (aDepth == 0)
   255     else if (aDepth == 0)
   253         {
   256         {
   254         __FLOG(_L8("depth is 0, iHandles is an empty array"));
   257         OstTrace0( TRACE_NORMAL, CMTPIMAGEDPGETOBJECTPROPLIST_GETROOTOBJECTHANDLESL, "depth is 0, iHandles is an empty array" );
   255         iHandles.Reset();
   258         iHandles.Reset();
   256         }
   259         }
   257     else
   260     else
   258         {
   261         {
   259         GetObjectHandlesL(KMTPStorageAll, aFormatCode, KMTPHandleNoParent);
   262         GetObjectHandlesL(KMTPStorageAll, aFormatCode, KMTPHandleNoParent);
   260         }
   263         }
   261     
   264 
   262     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::GetRootObjectHandlesL"));
   265     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_GETROOTOBJECTHANDLESL_EXIT );
   263     }
   266     }
   264 
   267 
   265 void CMTPImageDpGetObjectPropList::ServicePropertiesL( TUint32 aHandle )
   268 void CMTPImageDpGetObjectPropList::ServicePropertiesL( TUint32 aHandle )
   266     {
   269     {
   267     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::ServicePropertiesL"));
   270     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEPROPERTIESL_ENTRY );
   268     
   271     
   269     TUint32 propCode  = Request().Uint32(TMTPTypeRequest::ERequestParameter3);
   272     TUint32 propCode  = Request().Uint32(TMTPTypeRequest::ERequestParameter3);
   270     TUint32 groupCode = Request().Uint32(TMTPTypeRequest::ERequestParameter4);
   273     TUint32 groupCode = Request().Uint32(TMTPTypeRequest::ERequestParameter4);
   271     
   274     
   272     iFramework.ObjectMgr().ObjectL(aHandle, *iObjectMeta);
   275     iFramework.ObjectMgr().ObjectL(aHandle, *iObjectMeta);
   282         }
   285         }
   283     else
   286     else
   284         {
   287         {
   285         ServiceOneObjectPropertyL(aHandle, propCode);
   288         ServiceOneObjectPropertyL(aHandle, propCode);
   286         }
   289         }
   287     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::ServicePropertiesL"));
   290     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEPROPERTIESL_EXIT );
   288     }
   291     }
   289 
   292 
   290 void CMTPImageDpGetObjectPropList::ServiceAllPropertiesL(TUint32 aHandle)
   293 void CMTPImageDpGetObjectPropList::ServiceAllPropertiesL(TUint32 aHandle)
   291     {
   294     {
   292     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::ServiceAllPropertiesL"));
   295     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEALLPROPERTIESL_ENTRY );
   293     
   296     
   294     if (iFramework.ObjectMgr().ObjectOwnerId(aHandle) == iFramework.DataProviderId())
   297     if (iFramework.ObjectMgr().ObjectOwnerId(aHandle) == iFramework.DataProviderId())
   295         {
   298         {
   296         for (TUint i(0); (i < (sizeof(KMTPImageDpSupportedProperties) / sizeof(TUint16))); i++)
   299         for (TUint i(0); (i < (sizeof(KMTPImageDpSupportedProperties) / sizeof(TUint16))); i++)
   297             {
   300             {
   298             ServiceOneObjectPropertyL(aHandle, KMTPImageDpSupportedProperties[i]);
   301             ServiceOneObjectPropertyL(aHandle, KMTPImageDpSupportedProperties[i]);
   299             }
   302             }
   300         }
   303         }
   301     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::ServiceAllPropertiesL"));
   304     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEALLPROPERTIESL_EXIT );
   302     }
   305     }
   303     
   306     
   304 void CMTPImageDpGetObjectPropList::ServiceGroupPropertiesL(TUint32 aHandle,TUint16 /*aGroupCode*/)
   307 void CMTPImageDpGetObjectPropList::ServiceGroupPropertiesL(TUint32 aHandle,TUint16 /*aGroupCode*/)
   305     {
   308     {
   306     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::ServiceGroupPropertiesL"));
   309     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEGROUPPROPERTIESL_ENTRY );
   307     TUint32 groupCode = Request().Uint32(TMTPTypeRequest::ERequestParameter4);
   310     TUint32 groupCode = Request().Uint32(TMTPTypeRequest::ERequestParameter4);
   308     if (KMTPImageDpPropertyGroupOneNumber == groupCode) //only return data for group one
   311     if (KMTPImageDpPropertyGroupOneNumber == groupCode) //only return data for group one
   309         {
   312         {
   310         if (iFramework.ObjectMgr().ObjectOwnerId(aHandle) == iFramework.DataProviderId())
   313         if (iFramework.ObjectMgr().ObjectOwnerId(aHandle) == iFramework.DataProviderId())
   311             {
   314             {
   317                     ServiceOneObjectPropertyL(aHandle, propCode);
   320                     ServiceOneObjectPropertyL(aHandle, propCode);
   318                     }
   321                     }
   319                 }
   322                 }
   320             }
   323             }
   321         }
   324         }
   322     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::ServiceGroupPropertiesL"));
   325     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEGROUPPROPERTIESL_EXIT );
   323     }
   326     }
   324  
   327  
   325 void CMTPImageDpGetObjectPropList::ServiceOneObjectPropertyL(TUint32 aHandle, TUint32 aPropCode)
   328 void CMTPImageDpGetObjectPropList::ServiceOneObjectPropertyL(TUint32 aHandle, TUint32 aPropCode)
   326     {
   329     {
   327     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::ServiceOneObjectPropertyL"));
   330     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEONEOBJECTPROPERTYL_ENTRY );
   328     
   331     
   329     if (iFramework.ObjectMgr().ObjectOwnerId(aHandle) == iFramework.DataProviderId())
   332     if (iFramework.ObjectMgr().ObjectOwnerId(aHandle) == iFramework.DataProviderId())
   330         {
   333         {
   331         TUint16 propCode(static_cast<TUint16>(aPropCode));        
   334         TUint16 propCode(static_cast<TUint16>(aPropCode));        
   332         switch(aPropCode)
   335         switch(aPropCode)
   422             iPropertyMgr.GetPropertyL(TMTPObjectPropertyCode(aPropCode), value);
   425             iPropertyMgr.GetPropertyL(TMTPObjectPropertyCode(aPropCode), value);
   423             CMTPTypeObjectPropListElement& propElem = iPropertyList->ReservePropElemL(aHandle, aPropCode);
   426             CMTPTypeObjectPropListElement& propElem = iPropertyList->ReservePropElemL(aHandle, aPropCode);
   424             propElem.SetUint8L(CMTPTypeObjectPropListElement::EValue, value);
   427             propElem.SetUint8L(CMTPTypeObjectPropListElement::EValue, value);
   425             iPropertyList->CommitPropElemL(propElem);
   428             iPropertyList->CommitPropElemL(propElem);
   426             }        
   429             }        
   427             break;               
   430             break;
       
   431         case EMTPObjectPropCodeHidden:
       
   432             {
       
   433             TEntry FileEntry;
       
   434             User::LeaveIfError(iFramework.Fs().Entry(iObjectMeta->DesC(CMTPObjectMetaData::ESuid), FileEntry));
       
   435             CMTPTypeObjectPropListElement& propElem = iPropertyList->ReservePropElemL(aHandle, aPropCode);
       
   436             TBool isHidden = FileEntry.IsHidden();
       
   437             if ( isHidden )
       
   438                 {
       
   439                 propElem.SetUint16L(CMTPTypeObjectPropListElement::EValue,EMTPHidden );
       
   440                 }
       
   441             else
       
   442                 {
       
   443                 propElem.SetUint16L(CMTPTypeObjectPropListElement::EValue,EMTPVisible );
       
   444                 }
       
   445             iPropertyList->CommitPropElemL(propElem); 
       
   446             }
       
   447             break;
   428         default:
   448         default:
   429             //Leave 
   449             //Leave 
   430             {
   450             {
       
   451             OstTrace1( TRACE_ERROR, CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEONEOBJECTPROPERTYL, "Invalid property code %d", aPropCode );
   431             User::Leave(KErrGeneral); 
   452             User::Leave(KErrGeneral); 
   432             }
   453             }
   433             break;
   454             break;
   434           }
   455           }
   435         }
   456         }
   436     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::ServiceOneObjectPropertyL"));
   457     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_SERVICEONEOBJECTPROPERTYL_EXIT );
   437     }
   458     }
   438 
   459 
   439 void CMTPImageDpGetObjectPropList::DoCancel()
   460 void CMTPImageDpGetObjectPropList::DoCancel()
   440     {
   461     {
   441     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::DoCancel"));
   462     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_DOCANCEL_ENTRY );
   442     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::DoCancel"));
   463     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_DOCANCEL_EXIT );
   443     }
   464     }
   444 
   465 
   445 void CMTPImageDpGetObjectPropList::RunL()
   466 void CMTPImageDpGetObjectPropList::RunL()
   446     {
   467     {
   447     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::RunL"));
   468     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_RUNL_ENTRY );
   448     
   469     
   449     if ( iHandles.Count() > 0 )
   470     if ( iHandles.Count() > 0 )
   450         {
   471         {
   451         ServicePropertiesL( iHandles[0] );
   472         ServicePropertiesL( iHandles[0] );
   452         iHandles.Remove( 0 );
   473         iHandles.Remove( 0 );
   453         }
   474         }
   454     StartL();
   475     StartL();
   455     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::RunL"));
   476     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_RUNL_EXIT );
   456     }
   477     }
   457 
   478 
   458 TInt CMTPImageDpGetObjectPropList::RunError( TInt aError )
   479 TInt CMTPImageDpGetObjectPropList::RunError( TInt aError )
   459     {
   480     {
   460     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::RunError"));
   481     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_RUNERROR_ENTRY );
   461     
   482     
   462     TRAP_IGNORE( SendResponseL( EMTPRespCodeGeneralError ) );
   483     TRAP_IGNORE( SendResponseL( EMTPRespCodeGeneralError ) );
   463     
   484     
   464     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::RunError"));
   485     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_RUNERROR_EXIT );
   465     return aError;
   486     return aError;
   466     }
   487     }
   467 
   488 
   468 void CMTPImageDpGetObjectPropList::StartL()
   489 void CMTPImageDpGetObjectPropList::StartL()
   469     {
   490     {
   470     __FLOG(_L8(">> CMTPImageDpGetObjectPropList::StartL"));
   491     OstTraceFunctionEntry0( CMTPIMAGEDPGETOBJECTPROPLIST_STARTL_ENTRY );
   471     
   492     
   472     if ( iHandles.Count() > 0 )
   493     if ( iHandles.Count() > 0 )
   473         {
   494         {
   474         TRequestStatus* status = &iStatus;
   495         TRequestStatus* status = &iStatus;
   475         User::RequestComplete( status, iStatus.Int() );
   496         User::RequestComplete( status, iStatus.Int() );
   477         }
   498         }
   478     else
   499     else
   479         {
   500         {
   480         SendDataL(*iPropertyList);
   501         SendDataL(*iPropertyList);
   481         }
   502         }
   482     
   503 
   483     __FLOG(_L8("<< CMTPImageDpGetObjectPropList::StartL"));
   504     OstTraceFunctionExit0( CMTPIMAGEDPGETOBJECTPROPLIST_STARTL_EXIT );
   484     }
   505     }