95 iPropertyElement = NULL; |
95 iPropertyElement = NULL; |
96 } |
96 } |
97 |
97 |
98 switch ( aPropCode ) |
98 switch ( aPropCode ) |
99 { |
99 { |
100 //case EMTPObjectPropCodeName: |
|
101 case EMTPObjectPropCodeArtist: |
100 case EMTPObjectPropCodeArtist: |
102 case EMTPObjectPropCodeGenre: |
101 case EMTPObjectPropCodeGenre: |
103 case EMTPObjectPropCodeComposer: |
102 case EMTPObjectPropCodeComposer: |
104 case EMTPObjectPropCodeOriginalReleaseDate: |
103 case EMTPObjectPropCodeOriginalReleaseDate: |
105 case EMTPObjectPropCodeAlbumName: |
104 case EMTPObjectPropCodeAlbumName: |
112 *textData, |
111 *textData, |
113 *iObject ) ); |
112 *iObject ) ); |
114 |
113 |
115 PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropList::ServiceSpecificObjectPropertyL err = %d" ), err ); |
114 PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropList::ServiceSpecificObjectPropertyL err = %d" ), err ); |
116 |
115 |
117 if ( err == KErrNone ) |
116 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
118 { |
117 iPropertyElement->SetStringL( CMTPTypeObjectPropListElement::EValue, textData->StringChars()); |
119 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
|
120 iPropertyElement->SetStringL( CMTPTypeObjectPropListElement::EValue, textData->StringChars()); |
|
121 } |
|
122 |
118 |
123 CleanupStack::PopAndDestroy( textData ); // - textData |
119 CleanupStack::PopAndDestroy( textData ); // - textData |
124 } |
120 } |
125 break; |
121 break; |
126 |
122 |
132 *desData, |
128 *desData, |
133 *iObject ) ); |
129 *iObject ) ); |
134 |
130 |
135 PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropList::ServiceSpecificObjectPropertyL err = %d" ), err ); |
131 PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropList::ServiceSpecificObjectPropertyL err = %d" ), err ); |
136 |
132 |
137 if ( err == KErrNone ) |
133 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
138 { |
134 iPropertyElement->SetArrayL( CMTPTypeObjectPropListElement::EValue, *desData); |
139 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
135 |
140 iPropertyElement->SetArrayL( CMTPTypeObjectPropListElement::EValue, *desData); |
|
141 } |
|
142 |
|
143 CleanupStack::PopAndDestroy( desData ); // - desData |
136 CleanupStack::PopAndDestroy( desData ); // - desData |
144 } |
137 } |
145 break; |
138 break; |
146 |
139 |
147 case EMTPObjectPropCodeTrack: |
140 case EMTPObjectPropCodeTrack: |
153 TRAP( err, iDpConfig.GetWrapperL().GetObjectMetadataValueL( aPropCode, |
146 TRAP( err, iDpConfig.GetWrapperL().GetObjectMetadataValueL( aPropCode, |
154 uint16, |
147 uint16, |
155 *iObject ) ); |
148 *iObject ) ); |
156 PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropList::ServiceSpecificObjectPropertyL err = %d" ), err ); |
149 PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropList::ServiceSpecificObjectPropertyL err = %d" ), err ); |
157 |
150 |
158 if ( err == KErrNone ) |
151 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
159 { |
152 iPropertyElement->SetUint16L( CMTPTypeObjectPropListElement::EValue, uint16.Value()); |
160 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
|
161 iPropertyElement->SetUint16L( CMTPTypeObjectPropListElement::EValue, uint16.Value()); |
|
162 } |
|
163 } |
153 } |
164 break; |
154 break; |
165 |
155 |
166 case EMTPObjectPropCodeWidth: |
156 case EMTPObjectPropCodeWidth: |
167 case EMTPObjectPropCodeHeight: |
157 case EMTPObjectPropCodeHeight: |
179 TRAP( err, iDpConfig.GetWrapperL().GetObjectMetadataValueL( aPropCode, |
169 TRAP( err, iDpConfig.GetWrapperL().GetObjectMetadataValueL( aPropCode, |
180 uint32, |
170 uint32, |
181 *iObject ) ); |
171 *iObject ) ); |
182 PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropList::ServiceSpecificObjectPropertyL err = %d" ), err ); |
172 PRINT1( _L( "MM MTP <> CMediaMtpDataProviderGetObjectPropList::ServiceSpecificObjectPropertyL err = %d" ), err ); |
183 |
173 |
184 if ( err == KErrNone ) |
174 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
185 { |
175 iPropertyElement->SetUint32L( CMTPTypeObjectPropListElement::EValue, uint32.Value()); |
186 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
|
187 iPropertyElement->SetUint32L( CMTPTypeObjectPropListElement::EValue, uint32.Value()); |
|
188 } |
|
189 } |
176 } |
190 break; |
177 break; |
191 |
178 |
192 case EMTPExtObjectPropCodeOmaDrmStatus: |
179 case EMTPExtObjectPropCodeOmaDrmStatus: |
193 { |
180 { |
194 TInt drmStatus = MmMtpDpUtility::GetDrmStatus( iObject->DesC( CMTPObjectMetaData::ESuid ) ); |
181 TInt drmStatus = MmMtpDpUtility::GetDrmStatus( iObject->DesC( CMTPObjectMetaData::ESuid ) ); |
195 TMTPTypeUint8 result; |
182 TMTPTypeUint8 result; |
196 result.Set( 0 ); |
183 result.Set( EMTPDrmStatusNotProtected ); |
197 |
184 |
198 if ( drmStatus == EMTPDrmStatusProtected ) |
185 if ( drmStatus == EMTPDrmStatusProtected ) |
199 result.Set( 1 ); |
186 result.Set( EMTPDrmStatusProtected ); |
200 |
187 |
201 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
188 iPropertyElement = &(iPropertyList->ReservePropElemL(aHandle, aPropCode)); |
202 iPropertyElement->SetUint16L( CMTPTypeObjectPropListElement::EDatatype, EMTPTypeUINT8); |
189 iPropertyElement->SetUint16L( CMTPTypeObjectPropListElement::EDatatype, EMTPTypeUINT8); |
203 iPropertyElement->SetUint8L( CMTPTypeObjectPropListElement::EValue, result.Value()); |
190 iPropertyElement->SetUint8L( CMTPTypeObjectPropListElement::EValue, result.Value()); |
204 } |
191 } |