mtpfws/mtpfw/dataproviders/dputility/src/cmtpsvcgetobjectinfo.cpp
changeset 47 63cf70d3ecd8
parent 0 d0791faffa3f
equal deleted inserted replaced
44:a5deb6b96675 47:63cf70d3ecd8
    21 
    21 
    22 
    22 
    23 #include "cmtpsvcgetobjectinfo.h"
    23 #include "cmtpsvcgetobjectinfo.h"
    24 #include "mmtpservicedataprovider.h"
    24 #include "mmtpservicedataprovider.h"
    25 #include "mmtpsvcobjecthandler.h"
    25 #include "mmtpsvcobjecthandler.h"
       
    26 #include "OstTraceDefinitions.h"
       
    27 #ifdef OST_TRACE_COMPILER_IN_USE
       
    28 #include "cmtpsvcgetobjectinfoTraces.h"
       
    29 #endif
    26 
    30 
    27 __FLOG_STMT(_LIT8(KComponent,"SvcGetObjInfo");)
       
    28 
    31 
    29 EXPORT_C MMTPRequestProcessor* CMTPSvcGetObjectInfo::NewL(MMTPDataProviderFramework& aFramework, 
    32 EXPORT_C MMTPRequestProcessor* CMTPSvcGetObjectInfo::NewL(MMTPDataProviderFramework& aFramework, 
    30 														MMTPConnection& aConnection, 
    33 														MMTPConnection& aConnection, 
    31 														MMTPServiceDataProvider& aDataProvider)
    34 														MMTPServiceDataProvider& aDataProvider)
    32 	{
    35 	{
    37 	return self;
    40 	return self;
    38 	}
    41 	}
    39 
    42 
    40 EXPORT_C CMTPSvcGetObjectInfo::~CMTPSvcGetObjectInfo()
    43 EXPORT_C CMTPSvcGetObjectInfo::~CMTPSvcGetObjectInfo()
    41 	{
    44 	{
    42 	__FLOG(_L8("~CMTPSvcGetObjectInfo - Destructed"));
    45 	OstTraceFunctionEntry0( CMTPSVCGETOBJECTINFO_CMTPSVCGETOBJECTINFO_ENTRY );
    43 	delete iReceivedObjectMetaData;
    46 	delete iReceivedObjectMetaData;
    44 	delete iObjectInfo;
    47 	delete iObjectInfo;
    45 	__FLOG_CLOSE;
    48 	OstTraceFunctionExit0( CMTPSVCGETOBJECTINFO_CMTPSVCGETOBJECTINFO_EXIT );
    46 	}
    49 	}
    47 
    50 
    48 CMTPSvcGetObjectInfo::CMTPSvcGetObjectInfo(MMTPDataProviderFramework& aFramework,
    51 CMTPSvcGetObjectInfo::CMTPSvcGetObjectInfo(MMTPDataProviderFramework& aFramework,
    49 									MMTPConnection& aConnection, MMTPServiceDataProvider& aDataProvider)
    52 									MMTPConnection& aConnection, MMTPServiceDataProvider& aDataProvider)
    50 	: CMTPRequestProcessor(aFramework, aConnection, 0, NULL), iDataProvider(aDataProvider)
    53 	: CMTPRequestProcessor(aFramework, aConnection, 0, NULL), iDataProvider(aDataProvider)
    51 	{
    54 	{
    52 	}
    55 	}
    53 	
    56 	
    54 void CMTPSvcGetObjectInfo::ConstructL()
    57 void CMTPSvcGetObjectInfo::ConstructL()
    55 	{
    58 	{
    56 	__FLOG_OPEN(KMTPSubsystem, KComponent);
    59 	OstTraceFunctionEntry0( CMTPSVCGETOBJECTINFO_CONSTRUCTL_ENTRY );
    57 	__FLOG(_L8("ConstructL -  - Entry"));
       
    58 	
    60 	
    59     iObjectInfo = CMTPTypeObjectInfo::NewL();
    61     iObjectInfo = CMTPTypeObjectInfo::NewL();
    60     
    62 
    61     __FLOG(_L8("ConstructL -  - Exit"));
    63 	OstTraceFunctionExit0( CMTPSVCGETOBJECTINFO_CONSTRUCTL_EXIT );
    62 	}
    64 	}
    63 
    65 
    64 TMTPResponseCode CMTPSvcGetObjectInfo::CheckRequestL()
    66 TMTPResponseCode CMTPSvcGetObjectInfo::CheckRequestL()
    65 	{
    67 	{
    66 	__FLOG(_L8("CheckRequestL - Entry"));
    68 	OstTraceFunctionEntry0( CMTPSVCGETOBJECTINFO_CHECKREQUESTL_ENTRY );
    67 	TMTPResponseCode responseCode = CMTPRequestProcessor::CheckRequestL();
    69 	TMTPResponseCode responseCode = CMTPRequestProcessor::CheckRequestL();
    68 	if (EMTPRespCodeOK == responseCode)
    70 	if (EMTPRespCodeOK == responseCode)
    69 		{
    71 		{
    70 		TUint32 objectHandle = Request().Uint32(TMTPTypeRequest::ERequestParameter1);
    72 		TUint32 objectHandle = Request().Uint32(TMTPTypeRequest::ERequestParameter1);
    71 		MMTPObjectMgr& objectMgr(iFramework.ObjectMgr());
    73 		MMTPObjectMgr& objectMgr(iFramework.ObjectMgr());
    74 			{
    76 			{
    75 			//Check whether the owner of this object is correct data provider
    77 			//Check whether the owner of this object is correct data provider
    76 			if (iReceivedObjectMetaData->Uint(CMTPObjectMetaData::EDataProviderId) != iFramework.DataProviderId())
    78 			if (iReceivedObjectMetaData->Uint(CMTPObjectMetaData::EDataProviderId) != iFramework.DataProviderId())
    77 				{
    79 				{
    78 				responseCode = EMTPRespCodeInvalidObjectHandle;
    80 				responseCode = EMTPRespCodeInvalidObjectHandle;
    79 				__FLOG(_L8("CheckRequestL - DataProviderId dismatch"));
    81 				OstTrace0( TRACE_WARNING, DUP1_CMTPSVCGETOBJECTINFO_CHECKREQUESTL, "CheckRequestL - DataProviderId dismatch" );
    80 				}
    82 				}
    81 			else
    83 			else
    82 				{
    84 				{
    83 				// Check format and set handler
    85 				// Check format and set handler
    84 				TUint16 formatCode = iReceivedObjectMetaData->Uint(CMTPObjectMetaData::EFormatCode);
    86 				TUint16 formatCode = iReceivedObjectMetaData->Uint(CMTPObjectMetaData::EFormatCode);
    92 		else
    94 		else
    93 			{
    95 			{
    94 			responseCode = EMTPRespCodeInvalidObjectHandle;
    96 			responseCode = EMTPRespCodeInvalidObjectHandle;
    95 			}
    97 			}
    96 		}
    98 		}
    97 	__FLOG_VA((_L8("CheckRequestL - Exit with response code = 0x%04X"), responseCode));
    99     OstTrace1( TRACE_NORMAL, CMTPSVCGETOBJECTINFO_CHECKREQUESTL, "Exit with response code = 0x%04X", responseCode );
       
   100 	OstTraceFunctionExit0( CMTPSVCGETOBJECTINFO_CHECKREQUESTL_EXIT );
       
   101 	
    98 	return responseCode;
   102 	return responseCode;
    99 	}
   103 	}
   100 	
   104 	
   101 void CMTPSvcGetObjectInfo::ServiceL()
   105 void CMTPSvcGetObjectInfo::ServiceL()
   102 	{
   106 	{
   103 	__FLOG(_L8("ServiceL - Entry"));
   107 	OstTraceFunctionEntry0( CMTPSVCGETOBJECTINFO_SERVICEL_ENTRY );
   104 	__ASSERT_DEBUG(iObjectHandler, User::Invariant());
   108 	__ASSERT_DEBUG(iObjectHandler, User::Invariant());
   105 	TUint32 objectHandle = Request().Uint32(TMTPTypeRequest::ERequestParameter1);
   109 	TUint32 objectHandle = Request().Uint32(TMTPTypeRequest::ERequestParameter1);
   106 	iObjectHandler->GetObjectInfoL(*iReceivedObjectMetaData, *iObjectInfo);
   110 	iObjectHandler->GetObjectInfoL(*iReceivedObjectMetaData, *iObjectInfo);
   107 	SendDataL(*iObjectInfo);
   111 	SendDataL(*iObjectInfo);
   108 	__FLOG(_L8("ServiceL - Exit"));
   112 	OstTraceFunctionExit0( CMTPSVCGETOBJECTINFO_SERVICEL_EXIT );
   109 	}
   113 	}