109 HBufC* buf = NULL; |
109 HBufC* buf = NULL; |
110 HBufC8* buf8 = NULL; |
110 HBufC8* buf8 = NULL; |
111 |
111 |
112 if ( aWantedFields.Count() == 0 ) |
112 if ( aWantedFields.Count() == 0 ) |
113 { |
113 { |
114 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTitleFormat, EMetaDataSongTitle, &buf8)); |
114 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataSongTitle, &buf8)); |
115 if (KErrNone == err) |
115 if (KErrNone == err) |
116 { |
116 { |
117 ConvertAndAppendL(&buf8, EMetaDataSongTitle); |
117 ConvertAndAppendL(&buf8, EMetaDataSongTitle); |
118 } |
118 } |
119 |
119 |
120 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaArtistFormat, EMetaDataArtist, &buf8)); |
120 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataArtist, &buf8)); |
121 if (KErrNone == err) |
121 if (KErrNone == err) |
122 { |
122 { |
123 ConvertAndAppendL(&buf8, EMetaDataArtist); |
123 ConvertAndAppendL(&buf8, EMetaDataArtist); |
124 } |
124 } |
125 |
125 |
126 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaComposerFormat, EMetaDataComposer, &buf8)); |
126 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComposer, &buf8)); |
127 if (KErrNone == err) |
127 if (KErrNone == err) |
128 { |
128 { |
129 ConvertAndAppendL(&buf8, EMetaDataComposer); |
129 ConvertAndAppendL(&buf8, EMetaDataComposer); |
130 } |
130 } |
131 |
131 |
132 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaAlbumFormat, EMetaDataAlbum, &buf8)); |
132 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbum, &buf8)); |
133 if (KErrNone == err) |
133 if (KErrNone == err) |
134 { |
134 { |
135 ConvertAndAppendL(&buf8, EMetaDataAlbum); |
135 ConvertAndAppendL(&buf8, EMetaDataAlbum); |
136 } |
136 } |
137 |
137 |
138 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCommentFormat, EMetaDataComment, &buf8)); |
138 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComment, &buf8)); |
139 if (KErrNone == err) |
139 if (KErrNone == err) |
140 { |
140 { |
141 ConvertAndAppendL(&buf8, EMetaDataComment); |
141 ConvertAndAppendL(&buf8, EMetaDataComment); |
142 } |
142 } |
143 |
143 |
144 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaGenre, EMetaDataGenre, &buf)); |
144 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataGenre, &buf)); |
145 if (KErrNone == err) |
145 if (KErrNone == err) |
146 { |
146 { |
147 AppendL(&buf, EMetaDataGenre); |
147 AppendL(&buf, EMetaDataGenre); |
148 } |
148 } |
149 |
149 |
150 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaYearFormat, EMetaDataYear, &buf)); |
150 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataYear, &buf)); |
151 if (KErrNone == err) |
151 if (KErrNone == err) |
152 { |
152 { |
153 AppendL(&buf, EMetaDataYear); |
153 AppendL(&buf, EMetaDataYear); |
154 } |
154 } |
155 |
155 |
156 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCustomGenreFormat, EMetaDataRating, &buf8)); |
156 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataRating, &buf8)); |
157 if (KErrNone == err) |
157 if (KErrNone == err) |
158 { |
158 { |
159 ConvertAndAppendL(&buf8, EMetaDataGenre); |
159 ConvertAndAppendL(&buf8, EMetaDataGenre); |
160 } |
160 } |
161 |
161 |
162 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTrack, EMetaDataAlbumTrack, &buf)); |
162 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbumTrack, &buf)); |
163 if (KErrNone == err) |
163 if (KErrNone == err) |
164 { |
164 { |
165 AppendL(&buf, EMetaDataAlbumTrack); |
165 AppendL(&buf, EMetaDataAlbumTrack); |
166 } |
166 } |
167 |
167 |
168 TRAP(err, GetDurationL(EMetaDataDuration)); |
168 TRAP(err, GetDurationL(EMetaDataDuration)); |
169 |
169 |
170 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaJpeg, EMetaDataJpeg, &buf8)); |
170 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataJpeg, &buf8)); |
171 if (KErrNone == err) |
171 if (KErrNone == err) |
172 { |
172 { |
173 AppendL(&buf8, EMetaDataJpeg); |
173 AppendL(&buf8, EMetaDataJpeg); |
174 } |
174 } |
175 } |
175 } |
181 for ( TInt i = 0; i < count; i++ ) |
181 for ( TInt i = 0; i < count; i++ ) |
182 { |
182 { |
183 switch ( aWantedFields[ i ] ) |
183 switch ( aWantedFields[ i ] ) |
184 { |
184 { |
185 case EMetaDataSongTitle: |
185 case EMetaDataSongTitle: |
186 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTitleFormat, EMetaDataSongTitle, &buf8)); |
186 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataSongTitle, &buf8)); |
187 if (KErrNone == err) |
187 if (KErrNone == err) |
188 { |
188 { |
189 ConvertAndAppendL(&buf8, EMetaDataSongTitle); |
189 ConvertAndAppendL(&buf8, EMetaDataSongTitle); |
190 } |
190 } |
191 break; |
191 break; |
192 |
192 |
193 case EMetaDataComment: |
193 case EMetaDataComment: |
194 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCommentFormat, EMetaDataComment, &buf8)); |
194 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComment, &buf8)); |
195 if (KErrNone == err) |
195 if (KErrNone == err) |
196 { |
196 { |
197 ConvertAndAppendL(&buf8, EMetaDataComment); |
197 ConvertAndAppendL(&buf8, EMetaDataComment); |
198 } |
198 } |
199 break; |
199 break; |
200 |
200 |
201 case EMetaDataAlbumTrack: |
201 case EMetaDataAlbumTrack: |
202 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaTrack, EMetaDataAlbumTrack, &buf)); |
202 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbumTrack, &buf)); |
203 if (KErrNone == err) |
203 if (KErrNone == err) |
204 { |
204 { |
205 AppendL(&buf, EMetaDataAlbumTrack); |
205 AppendL(&buf, EMetaDataAlbumTrack); |
206 } |
206 } |
207 break; |
207 break; |
208 |
208 |
209 case EMetaDataArtist: |
209 case EMetaDataArtist: |
210 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaArtistFormat, EMetaDataArtist, &buf8)); |
210 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataArtist, &buf8)); |
211 if (KErrNone == err) |
211 if (KErrNone == err) |
212 { |
212 { |
213 ConvertAndAppendL(&buf8, EMetaDataArtist); |
213 ConvertAndAppendL(&buf8, EMetaDataArtist); |
214 } |
214 } |
215 break; |
215 break; |
216 |
216 |
217 case EMetaDataComposer: |
217 case EMetaDataComposer: |
218 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaComposerFormat, EMetaDataComposer, &buf8)); |
218 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataComposer, &buf8)); |
219 if (KErrNone == err) |
219 if (KErrNone == err) |
220 { |
220 { |
221 ConvertAndAppendL(&buf8, EMetaDataComposer); |
221 ConvertAndAppendL(&buf8, EMetaDataComposer); |
222 } |
222 } |
223 break; |
223 break; |
224 |
224 |
225 case EMetaDataAlbum: |
225 case EMetaDataAlbum: |
226 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaAlbumFormat, EMetaDataAlbum, &buf8)); |
226 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataAlbum, &buf8)); |
227 if (KErrNone == err) |
227 if (KErrNone == err) |
228 { |
228 { |
229 ConvertAndAppendL(&buf8, EMetaDataAlbum); |
229 ConvertAndAppendL(&buf8, EMetaDataAlbum); |
230 } |
230 } |
231 break; |
231 break; |
232 |
232 |
233 case EMetaDataGenre: |
233 case EMetaDataGenre: |
234 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaGenre, EMetaDataGenre, &buf)); |
234 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataGenre, &buf)); |
235 if (KErrNone == err) |
235 if (KErrNone == err) |
236 { |
236 { |
237 AppendL(&buf, EMetaDataGenre); |
237 AppendL(&buf, EMetaDataGenre); |
238 } |
238 } |
239 break; |
239 break; |
241 case EMetaDataDuration: |
241 case EMetaDataDuration: |
242 TRAP(err, GetDurationL(EMetaDataDuration)); |
242 TRAP(err, GetDurationL(EMetaDataDuration)); |
243 break; |
243 break; |
244 |
244 |
245 case EMetaDataYear: |
245 case EMetaDataYear: |
246 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaYearFormat, EMetaDataYear, &buf)); |
246 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataYear, &buf)); |
247 if (KErrNone == err) |
247 if (KErrNone == err) |
248 { |
248 { |
249 AppendL(&buf, EMetaDataYear); |
249 AppendL(&buf, EMetaDataYear); |
250 } |
250 } |
251 break; |
251 break; |
252 |
252 |
253 case EMetaDataRating: |
253 case EMetaDataRating: |
254 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaCustomGenreFormat, EMetaDataRating, &buf8)); |
254 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataRating, &buf8)); |
255 if (KErrNone == err) |
255 if (KErrNone == err) |
256 { |
256 { |
257 ConvertAndAppendL(&buf8, EMetaDataGenre); |
257 ConvertAndAppendL(&buf8, EMetaDataGenre); |
258 } |
258 } |
259 break; |
259 break; |
260 |
260 |
261 case EMetaDataJpeg: |
261 case EMetaDataJpeg: |
262 TRAP(err, i3GPExtParser->GetilstBoxesL(K3GPExtMetaJpeg, EMetaDataJpeg, &buf8)); |
262 TRAP(err, i3GPExtParser->GetilstBoxesL(EMetaDataJpeg, &buf8)); |
263 if (KErrNone == err) |
263 if (KErrNone == err) |
264 { |
264 { |
265 AppendL(&buf8, EMetaDataJpeg); |
265 AppendL(&buf8, EMetaDataJpeg); |
266 } |
266 } |
267 break; |
267 break; |