28 |
28 |
29 #include "cmtpimagedpsetobjectproplist.h" |
29 #include "cmtpimagedpsetobjectproplist.h" |
30 #include "cmtpimagedpobjectpropertymgr.h" |
30 #include "cmtpimagedpobjectpropertymgr.h" |
31 #include "cmtpimagedp.h" |
31 #include "cmtpimagedp.h" |
32 #include "mtpimagedputilits.h" |
32 #include "mtpimagedputilits.h" |
33 |
33 #include "OstTraceDefinitions.h" |
34 __FLOG_STMT(_LIT8(KComponent,"CMTPImageDpSetObjectPropList");) |
34 #ifdef OST_TRACE_COMPILER_IN_USE |
|
35 #include "cmtpimagedpsetobjectproplistTraces.h" |
|
36 #endif |
|
37 |
35 |
38 |
36 MMTPRequestProcessor* CMTPImageDpSetObjectPropList::NewL(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection,CMTPImageDataProvider& aDataProvider) |
39 MMTPRequestProcessor* CMTPImageDpSetObjectPropList::NewL(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection,CMTPImageDataProvider& aDataProvider) |
37 { |
40 { |
38 CMTPImageDpSetObjectPropList* self = new (ELeave) CMTPImageDpSetObjectPropList(aFramework, aConnection,aDataProvider); |
41 CMTPImageDpSetObjectPropList* self = new (ELeave) CMTPImageDpSetObjectPropList(aFramework, aConnection,aDataProvider); |
39 CleanupStack::PushL(self); |
42 CleanupStack::PushL(self); |
42 return self; |
45 return self; |
43 } |
46 } |
44 |
47 |
45 CMTPImageDpSetObjectPropList::~CMTPImageDpSetObjectPropList() |
48 CMTPImageDpSetObjectPropList::~CMTPImageDpSetObjectPropList() |
46 { |
49 { |
47 __FLOG(_L8(">> CMTPImageDpSetObjectPropList::~CMTPImageDpSetObjectPropList")); |
50 OstTraceFunctionEntry0( CMTPIMAGEDPSETOBJECTPROPLIST_CMTPIMAGEDPSETOBJECTPROPLIST_DES_ENTRY ); |
48 delete iPropertyList; |
51 delete iPropertyList; |
49 delete iObjectMeta; |
52 delete iObjectMeta; |
50 __FLOG(_L8("<< CMTPImageDpSetObjectPropList::~CMTPImageDpSetObjectPropList")); |
53 OstTraceFunctionExit0( CMTPIMAGEDPSETOBJECTPROPLIST_CMTPIMAGEDPSETOBJECTPROPLIST_DES_EXIT ); |
51 __FLOG_CLOSE; |
|
52 } |
54 } |
53 |
55 |
54 CMTPImageDpSetObjectPropList::CMTPImageDpSetObjectPropList(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection,CMTPImageDataProvider& aDataProvider) : |
56 CMTPImageDpSetObjectPropList::CMTPImageDpSetObjectPropList(MMTPDataProviderFramework& aFramework, MMTPConnection& aConnection,CMTPImageDataProvider& aDataProvider) : |
55 CMTPRequestProcessor(aFramework, aConnection, 0, NULL), |
57 CMTPRequestProcessor(aFramework, aConnection, 0, NULL), |
56 iDataProvider(aDataProvider), |
58 iDataProvider(aDataProvider), |
59 |
61 |
60 } |
62 } |
61 |
63 |
62 void CMTPImageDpSetObjectPropList::ConstructL() |
64 void CMTPImageDpSetObjectPropList::ConstructL() |
63 { |
65 { |
64 __FLOG_OPEN(KMTPSubsystem, KComponent); |
66 OstTraceFunctionEntry0( CMTPIMAGEDPSETOBJECTPROPLIST_CONSTRUCTL_ENTRY ); |
65 __FLOG(_L8(">> CMTPImageDpSetObjectPropList::ConstructL")); |
|
66 iPropertyList = CMTPTypeObjectPropList::NewL(); |
67 iPropertyList = CMTPTypeObjectPropList::NewL(); |
67 iObjectMeta = CMTPObjectMetaData::NewL(); |
68 iObjectMeta = CMTPObjectMetaData::NewL(); |
68 __FLOG(_L8("<< CMTPImageDpSetObjectPropList::ConstructL")); |
69 OstTraceFunctionExit0( CMTPIMAGEDPSETOBJECTPROPLIST_CONSTRUCTL_EXIT ); |
69 } |
70 } |
70 |
71 |
71 void CMTPImageDpSetObjectPropList::ServiceL() |
72 void CMTPImageDpSetObjectPropList::ServiceL() |
72 { |
73 { |
73 __FLOG(_L8(">> CMTPImageDpSetObjectPropList::ConstructL")); |
74 OstTraceFunctionEntry0( CMTPIMAGEDPSETOBJECTPROPLIST_SERVICEL_ENTRY ); |
74 ReceiveDataL(*iPropertyList); |
75 ReceiveDataL(*iPropertyList); |
75 __FLOG(_L8(">> CMTPImageDpSetObjectPropList::ConstructL")); |
76 OstTraceFunctionExit0( CMTPIMAGEDPSETOBJECTPROPLIST_SERVICEL_EXIT ); |
76 } |
77 } |
77 |
78 |
78 TBool CMTPImageDpSetObjectPropList::DoHandleResponsePhaseL() |
79 TBool CMTPImageDpSetObjectPropList::DoHandleResponsePhaseL() |
79 { |
80 { |
80 __FLOG(_L8(">> CMTPImageDpSetObjectPropList::DoHandleResponsePhaseL")); |
81 OstTraceFunctionEntry0( CMTPIMAGEDPSETOBJECTPROPLIST_DOHANDLERESPONSEPHASEL_ENTRY ); |
81 MMTPObjectMgr& objects(iFramework.ObjectMgr()); |
82 MMTPObjectMgr& objects(iFramework.ObjectMgr()); |
82 TUint32 parameter(0); |
83 TUint32 parameter(0); |
83 TMTPResponseCode responseCode(EMTPRespCodeOK); |
84 TMTPResponseCode responseCode(EMTPRespCodeOK); |
84 const TUint count(iPropertyList->NumberOfElements()); |
85 const TUint count(iPropertyList->NumberOfElements()); |
85 iPropertyList->ResetCursor(); |
86 iPropertyList->ResetCursor(); |
86 __FLOG_VA((_L8("setting %d properties"), count)); |
87 OstTrace1( TRACE_NORMAL, CMTPIMAGEDPSETOBJECTPROPLIST_DOHANDLERESPONSEPHASEL, |
|
88 "setting %d properties", count ); |
87 TUint32 preHandle = KMTPHandleNone; |
89 TUint32 preHandle = KMTPHandleNone; |
88 for (TUint i(0); ((i < count) && (responseCode == EMTPRespCodeOK)); i++) |
90 for (TUint i(0); ((i < count) && (responseCode == EMTPRespCodeOK)); i++) |
89 { |
91 { |
90 CMTPTypeObjectPropListElement& element=iPropertyList->GetNextElementL(); |
92 CMTPTypeObjectPropListElement& element=iPropertyList->GetNextElementL(); |
91 TUint32 handle = element.Uint32L(CMTPTypeObjectPropListElement::EObjectHandle); |
93 TUint32 handle = element.Uint32L(CMTPTypeObjectPropListElement::EObjectHandle); |
92 TUint16 propertyCode = element.Uint16L(CMTPTypeObjectPropListElement::EPropertyCode); |
94 TUint16 propertyCode = element.Uint16L(CMTPTypeObjectPropListElement::EPropertyCode); |
93 TUint16 dataType = element.Uint16L(CMTPTypeObjectPropListElement::EDatatype); |
95 TUint16 dataType = element.Uint16L(CMTPTypeObjectPropListElement::EDatatype); |
94 __FLOG_VA((_L8("set property, propertycode %d, datatype %d, handle %d"), propertyCode, dataType, handle)); |
96 OstTraceExt3( TRACE_NORMAL, DUP1_CMTPIMAGEDPSETOBJECTPROPLIST_DOHANDLERESPONSEPHASEL, |
|
97 "set property, propertycode %d, datatype %d, handle %d", propertyCode, dataType, handle ); |
95 |
98 |
96 responseCode = MTPImageDpUtilits::VerifyObjectHandleL(iFramework, handle, *iObjectMeta); |
99 responseCode = MTPImageDpUtilits::VerifyObjectHandleL(iFramework, handle, *iObjectMeta); |
97 if ((EMTPRespCodeOK == responseCode) && (iObjectMeta->Uint(CMTPObjectMetaData::EDataProviderId) == iFramework.DataProviderId())) |
100 if ((EMTPRespCodeOK == responseCode) && (iObjectMeta->Uint(CMTPObjectMetaData::EDataProviderId) == iFramework.DataProviderId())) |
98 { |
101 { |
99 // Object is owned by the FileDp |
102 // Object is owned by the FileDp |
131 } |
137 } |
132 preHandle = handle; |
138 preHandle = handle; |
133 } |
139 } |
134 |
140 |
135 SendResponseL(responseCode, 1, ¶meter); |
141 SendResponseL(responseCode, 1, ¶meter); |
136 __FLOG(_L8("<< CMTPImageDpSetObjectPropList::DoHandleResponsePhaseL")); |
142 OstTraceFunctionExit0( CMTPIMAGEDPSETOBJECTPROPLIST_DOHANDLERESPONSEPHASEL_EXIT ); |
137 return EFalse; |
143 return EFalse; |
138 } |
144 } |
139 |
145 |
140 TBool CMTPImageDpSetObjectPropList::HasDataphase() const |
146 TBool CMTPImageDpSetObjectPropList::HasDataphase() const |
141 { |
147 { |
142 __FLOG(_L8(">> CMTPImageDpSetObjectPropList::HasDataphase")); |
148 OstTraceFunctionEntry0( CMTPIMAGEDPSETOBJECTPROPLIST_HASDATAPHASE_ENTRY ); |
|
149 OstTraceFunctionExit0( CMTPIMAGEDPSETOBJECTPROPLIST_HASDATAPHASE_EXIT ); |
143 return ETrue; |
150 return ETrue; |
144 } |
151 } |
145 |
152 |
146 TMTPResponseCode CMTPImageDpSetObjectPropList::CheckPropCode(TUint16 aPropertyCode, TUint16 aDataType) const |
153 TMTPResponseCode CMTPImageDpSetObjectPropList::CheckPropCode(TUint16 aPropertyCode, TUint16 aDataType) const |
147 { |
154 { |
148 __FLOG(_L8(">> CMTPImageDpSetObjectPropList::CheckPropCode")); |
155 OstTraceFunctionEntry0( CMTPIMAGEDPSETOBJECTPROPLIST_CHECKPROPCODE_ENTRY ); |
149 TMTPResponseCode responseCode = EMTPRespCodeOK; |
156 TMTPResponseCode responseCode = EMTPRespCodeOK; |
150 switch(aPropertyCode) |
157 switch(aPropertyCode) |
151 { |
158 { |
152 case EMTPObjectPropCodeStorageID: |
159 case EMTPObjectPropCodeStorageID: |
153 case EMTPObjectPropCodeObjectFormat: |
160 case EMTPObjectPropCodeObjectFormat: |