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 } |