mtpfws/mtpfw/dataproviders/devdp/src/cmtpgetnumobjects.cpp
branchRCL_3
changeset 3 8b094906a049
parent 1 f8e15b44d440
child 4 60a94a45d437
equal deleted inserted replaced
2:4843bb5893b6 3:8b094906a049
    20 #include <mtp/cmtpdataproviderplugin.h>
    20 #include <mtp/cmtpdataproviderplugin.h>
    21 #include <mtp/cmtpobjectmetadata.h>
    21 #include <mtp/cmtpobjectmetadata.h>
    22 
    22 
    23 #include "cmtpdataprovidercontroller.h"
    23 #include "cmtpdataprovidercontroller.h"
    24 #include "cmtpdataprovider.h"
    24 #include "cmtpdataprovider.h"
       
    25 #include "cmtpdevicedatastore.h"
    25 
    26 
    26 #include "cmtpgetnumobjects.h"
    27 #include "cmtpgetnumobjects.h"
    27 #include "mtpdevicedpconst.h"
    28 #include "mtpdevicedpconst.h"
    28 #include "mtpdevdppanic.h"
    29 #include "mtpdevdppanic.h"
    29 
    30 
       
    31 // Class constants.
       
    32 __FLOG_STMT(_LIT8(KComponent,"GetNumObjects");)
    30 
    33 
    31 /**
    34 /**
    32 Verification data for GetNumObjects request
    35 Verification data for GetNumObjects request
    33 */
    36 */
    34 const TMTPRequestElementInfo KMTPGetNumObjectsPolicy[] = 
    37 const TMTPRequestElementInfo KMTPGetNumObjectsPolicy[] = 
    59 */	
    62 */	
    60 CMTPGetNumObjects::~CMTPGetNumObjects()
    63 CMTPGetNumObjects::~CMTPGetNumObjects()
    61 	{	
    64 	{	
    62 	iDevDpSingletons.Close();
    65 	iDevDpSingletons.Close();
    63     iSingletons.Close();
    66     iSingletons.Close();
       
    67     __FLOG_CLOSE;
    64 	}
    68 	}
    65 /**
    69 /**
    66 Standard c++ constructor
    70 Standard c++ constructor
    67 */	
    71 */	
    68 CMTPGetNumObjects::CMTPGetNumObjects(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection) :
    72 CMTPGetNumObjects::CMTPGetNumObjects(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection) :
    74 /**
    78 /**
    75 Second phase constructor.
    79 Second phase constructor.
    76 */
    80 */
    77 void CMTPGetNumObjects::ConstructL()
    81 void CMTPGetNumObjects::ConstructL()
    78     {
    82     {
       
    83 	__FLOG_OPEN(KMTPSubsystem, KComponent);
    79     iSingletons.OpenL();
    84     iSingletons.OpenL();
    80     iDevDpSingletons.OpenL(iFramework);
    85     iDevDpSingletons.OpenL(iFramework);
    81     }
    86     }
    82 
    87 
    83 TMTPResponseCode CMTPGetNumObjects::CheckRequestL()
    88 TMTPResponseCode CMTPGetNumObjects::CheckRequestL()
   129 /**
   134 /**
   130 GetNumObjects request handler
   135 GetNumObjects request handler
   131 */	
   136 */	
   132 void CMTPGetNumObjects::ServiceL()
   137 void CMTPGetNumObjects::ServiceL()
   133 	{
   138 	{
   134 	TMTPObjectMgrQueryParams params(Request().Uint32(TMTPTypeRequest::ERequestParameter1), Request().Uint32(TMTPTypeRequest::ERequestParameter2), Request().Uint32(TMTPTypeRequest::ERequestParameter3));
   139     __FLOG(_L8("ServiceL - Entry"));
   135 	TUint32 count = iFramework.ObjectMgr().CountL(params);		
   140     __FLOG_VA((_L8("IsConnectMac = %d; ERequestParameter2 = %d" ), iDevDpSingletons.DeviceDataStore().IsConnectMac(), Request().Uint32(TMTPTypeRequest::ERequestParameter2)));
   136 	SendResponseL(EMTPRespCodeOK, 1, &count);	
   141 	if(iDevDpSingletons.DeviceDataStore().IsConnectMac()
       
   142         &&(KMTPFormatsAll == Request().Uint32(TMTPTypeRequest::ERequestParameter2)))
       
   143         {
       
   144         //get folder count
       
   145     	TMTPObjectMgrQueryParams paramsFolder(Request().Uint32(TMTPTypeRequest::ERequestParameter1), EMTPFormatCodeAssociation, Request().Uint32(TMTPTypeRequest::ERequestParameter3));        
       
   146     	TUint32 count = iFramework.ObjectMgr().CountL(paramsFolder);
       
   147         __FLOG_VA((_L8("ConnectMac and Fetch all, folder count = %d"), count));
       
   148 
       
   149         //get script count
       
   150         TMTPObjectMgrQueryParams paramsScript(Request().Uint32(TMTPTypeRequest::ERequestParameter1), EMTPFormatCodeScript, Request().Uint32(TMTPTypeRequest::ERequestParameter3));
       
   151         count += iFramework.ObjectMgr().CountL(paramsScript);
       
   152         
       
   153         //get Image file count
       
   154         TMTPObjectMgrQueryParams paramsImage(Request().Uint32(TMTPTypeRequest::ERequestParameter1), EMTPFormatCodeEXIFJPEG, Request().Uint32(TMTPTypeRequest::ERequestParameter3));
       
   155         count += iFramework.ObjectMgr().CountL(paramsImage);
       
   156         __FLOG_VA((_L8("ConnectMac and Fetch all, total count = %d"), count));        
       
   157     	SendResponseL(EMTPRespCodeOK, 1, &count); 
       
   158         }
       
   159     else
       
   160         {       
       
   161     	TMTPObjectMgrQueryParams params(Request().Uint32(TMTPTypeRequest::ERequestParameter1), Request().Uint32(TMTPTypeRequest::ERequestParameter2), Request().Uint32(TMTPTypeRequest::ERequestParameter3));
       
   162     	TUint32 count = iFramework.ObjectMgr().CountL(params);	
       
   163         __FLOG_VA((_L8("NOT ConnectMac or NOT Fetch all, total count = %d"), count));         
       
   164     	SendResponseL(EMTPRespCodeOK, 1, &count);
       
   165         }
       
   166     __FLOG(_L8("ServiceL - Exit"));	    
   137 	}
   167 	}
   138 
   168 
   139 /**
   169 /**
   140 Check if the format code is supported by the current installed data providers
   170 Check if the format code is supported by the current installed data providers
   141 */	
   171 */