1 /*
2 * Copyright (C) 2021 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "metadata.h"
17 #include "medialibrary_db_const.h"
18 #include "fetch_result.h"
19
20 namespace OHOS {
21 namespace Media {
22 using namespace std;
23 const MediaType FILE_MEDIA_TYPE_DEFAULT = MEDIA_TYPE_FILE;
24
Metadata()25 Metadata::Metadata()
26 : id_(FILE_ID_DEFAULT),
27 uri_(URI_DEFAULT),
28 filePath_(FILE_PATH_DEFAULT),
29 relativePath_(FILE_RELATIVE_PATH_DEFAULT),
30 mimeType_(DEFAULT_FILE_MIME_TYPE),
31 mediaType_(FILE_MEDIA_TYPE_DEFAULT),
32 name_(FILE_NAME_DEFAULT),
33 size_(FILE_SIZE_DEFAULT),
34 dateModified_(FILE_DATE_MODIFIED_DEFAULT),
35 dateAdded_(FILE_DATE_ADDED_DEFAULT),
36 fileExt_(FILE_EXTENSION_DEFAULT),
37 parentId_(FILE_ID_DEFAULT),
38 title_(FILE_TITLE_DEFAULT),
39 artist_(FILE_ARTIST_DEFAULT),
40 album_(FILE_ALBUM_NAME_DEFAULT),
41 height_(FILE_HEIGHT_DEFAULT),
42 width_(FILE_WIDTH_DEFAULT),
43 duration_(FILE_DURATION_DEFAULT),
44 orientation_(FILE_ORIENTATION_DEFAULT),
45 shootingMode_(FILE_SHOOTINGMODE_DEFAULT),
46 lastVisitTime_(FILE_LAST_VISIT_TIME_DEFAULT),
47 dynamicRangeType_(FILE_DYNAMIC_RANGE_TYPE_DEFAULT),
48 dateTaken_(FILE_DATE_TAKEN_DEFAULT),
49 longitude_(FILE_LONGITUDE_DEFAULT),
50 latitude_(FILE_LATITUDE_DEFAULT),
51 userComment_(FILE_USER_COMMENT_DEFAULT),
52 allExif_(FILE_All_EXIF_DEFAULT),
53 albumId_(FILE_ALBUM_ID_DEFAULT),
54 albumName_(FILE_ALBUM_NAME_DEFAULT),
55 recyclePath_(FILE_RECYCLE_PATH_DEFAULT),
56 timePending_(FILE_TIME_PENDING_DEFAULT),
57 isTemp_(FILE_IS_TEMP_DEFAULT),
58 frontcamera_(FILE_FRONT_CAMERA_DEFAULT),
59 detailTime_(FILE_DETAIL_TIME_DEFAULT)
60 {
61 Init();
62 }
63
Init()64 void Metadata::Init()
65 {
66 memberFuncMap_[MEDIA_DATA_DB_ID] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetFileId);
67 memberFuncMap_[MEDIA_DATA_DB_URI] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetUri);
68 memberFuncMap_[MEDIA_DATA_DB_FILE_PATH] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetFilePath);
69 memberFuncMap_[MEDIA_DATA_DB_RELATIVE_PATH] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetRelativePath);
70 memberFuncMap_[MEDIA_DATA_DB_MEDIA_TYPE] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetFileMediaType);
71 memberFuncMap_[MEDIA_DATA_DB_MIME_TYPE] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetFileMimeType);
72 memberFuncMap_[MEDIA_DATA_DB_NAME] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetFileName);
73 memberFuncMap_[MEDIA_DATA_DB_SIZE] = make_pair(ResultSetDataType::TYPE_INT64, &Metadata::SetFileSize);
74 memberFuncMap_[MEDIA_DATA_DB_DATE_ADDED] = make_pair(ResultSetDataType::TYPE_INT64, &Metadata::SetFileDateAdded);
75 memberFuncMap_[MEDIA_DATA_DB_TITLE] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetFileTitle);
76 memberFuncMap_[MEDIA_DATA_DB_ARTIST] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetFileArtist);
77 memberFuncMap_[MEDIA_DATA_DB_AUDIO_ALBUM] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetAlbum);
78 memberFuncMap_[MEDIA_DATA_DB_HEIGHT] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetFileHeight);
79 memberFuncMap_[MEDIA_DATA_DB_WIDTH] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetFileWidth);
80 memberFuncMap_[MEDIA_DATA_DB_ORIENTATION] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetOrientation);
81 memberFuncMap_[MEDIA_DATA_DB_DURATION] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetFileDuration);
82 memberFuncMap_[MEDIA_DATA_DB_LONGITUDE] = make_pair(ResultSetDataType::TYPE_DOUBLE, &Metadata::SetLongitude);
83 memberFuncMap_[MEDIA_DATA_DB_LATITUDE] = make_pair(ResultSetDataType::TYPE_DOUBLE, &Metadata::SetLatitude);
84 memberFuncMap_[MEDIA_DATA_DB_BUCKET_NAME] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetAlbumName);
85 memberFuncMap_[MEDIA_DATA_DB_PARENT_ID] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetParentId);
86 memberFuncMap_[MEDIA_DATA_DB_RECYCLE_PATH] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetRecyclePath);
87 memberFuncMap_[MEDIA_DATA_DB_DATE_TAKEN] = make_pair(ResultSetDataType::TYPE_INT64, &Metadata::SetDateTaken);
88 memberFuncMap_[MEDIA_DATA_DB_DATE_MODIFIED] = make_pair(ResultSetDataType::TYPE_INT64,
89 &Metadata::SetFileDateModified);
90 memberFuncMap_[MEDIA_DATA_DB_TIME_PENDING] = make_pair(ResultSetDataType::TYPE_INT64, &Metadata::SetTimePending);
91 memberFuncMap_[PhotoColumn::PHOTO_USER_COMMENT] = make_pair(ResultSetDataType::TYPE_STRING,
92 &Metadata::SetUserComment);
93 memberFuncMap_[PhotoColumn::PHOTO_ALL_EXIF] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetAllExif);
94 memberFuncMap_[PhotoColumn::PHOTO_DATE_YEAR] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetDateYear);
95 memberFuncMap_[PhotoColumn::PHOTO_DATE_MONTH] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetDateMonth);
96 memberFuncMap_[PhotoColumn::PHOTO_DATE_DAY] = make_pair(ResultSetDataType::TYPE_STRING, &Metadata::SetDateDay);
97 memberFuncMap_[PhotoColumn::MEDIA_OWNER_PACKAGE] = make_pair(ResultSetDataType::TYPE_STRING,
98 &Metadata::SetOwnerPackage);
99 memberFuncMap_[PhotoColumn::PHOTO_SUBTYPE] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetPhotoSubType);
100 memberFuncMap_[PhotoColumn::MOVING_PHOTO_EFFECT_MODE] = make_pair(ResultSetDataType::TYPE_INT32,
101 &Metadata::SetMovingPhotoEffectMode);
102 memberFuncMap_[PhotoColumn::PHOTO_DYNAMIC_RANGE_TYPE] = make_pair(ResultSetDataType::TYPE_INT32,
103 &Metadata::SetDynamicRangeType);
104 memberFuncMap_[PhotoColumn::PHOTO_IS_TEMP] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetIsTemp);
105 memberFuncMap_[PhotoColumn::PHOTO_QUALITY] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetPhotoQuality);
106 memberFuncMap_[PhotoColumn::PHOTO_DIRTY] = make_pair(ResultSetDataType::TYPE_INT32, &Metadata::SetDirty);
107 memberFuncMap_[PhotoColumn::PHOTO_FRONT_CAMERA] = make_pair(ResultSetDataType::TYPE_STRING,
108 &Metadata::SetFrontCamera);
109 memberFuncMap_[PhotoColumn::MEDIA_FILE_PATH] = make_pair(ResultSetDataType::TYPE_STRING,
110 &Metadata::SetMovingPhotoImagePath);
111 memberFuncMap_[PhotoColumn::PHOTO_DETAIL_TIME] = make_pair(ResultSetDataType::TYPE_STRING,
112 &Metadata::SetDetailTime);
113 }
114
SetFileId(const VariantData & id)115 void Metadata::SetFileId(const VariantData &id)
116 {
117 id_ = std::get<int32_t>(id);
118 }
119
GetFileId() const120 int32_t Metadata::GetFileId() const
121 {
122 return id_;
123 }
124
SetUri(const VariantData & uri)125 void Metadata::SetUri(const VariantData &uri)
126 {
127 uri_ = std::get<string>(uri);
128 }
129
GetUri() const130 const std::string &Metadata::GetUri() const
131 {
132 return uri_;
133 }
134
SetFilePath(const VariantData & filePath)135 void Metadata::SetFilePath(const VariantData &filePath)
136 {
137 filePath_ = std::get<string>(filePath);
138 }
139
GetFilePath() const140 const std::string &Metadata::GetFilePath() const
141 {
142 return filePath_;
143 }
144
SetRelativePath(const VariantData & relativePath)145 void Metadata::SetRelativePath(const VariantData &relativePath)
146 {
147 relativePath_ = std::get<string>(relativePath);
148 }
149
GetRelativePath() const150 const std::string &Metadata::GetRelativePath() const
151 {
152 return relativePath_;
153 }
154
SetFileMimeType(const VariantData & mimeType)155 void Metadata::SetFileMimeType(const VariantData &mimeType)
156 {
157 mimeType_ = std::get<string>(mimeType);
158 }
159
GetFileMimeType() const160 const std::string &Metadata::GetFileMimeType() const
161 {
162 return mimeType_;
163 }
164
SetFileMediaType(const VariantData & mediaType)165 void Metadata::SetFileMediaType(const VariantData &mediaType)
166 {
167 mediaType_ = static_cast<MediaType>(std::get<int32_t>(mediaType));
168 }
169
GetFileMediaType() const170 MediaType Metadata::GetFileMediaType() const
171 {
172 return mediaType_;
173 }
174
SetFileName(const VariantData & name)175 void Metadata::SetFileName(const VariantData &name)
176 {
177 name_ = std::get<string>(name);
178 }
179
GetFileName() const180 const std::string &Metadata::GetFileName() const
181 {
182 return name_;
183 }
184
SetFileSize(const VariantData & size)185 void Metadata::SetFileSize(const VariantData &size)
186 {
187 size_ = std::get<int64_t>(size);
188 }
189
GetFileSize() const190 int64_t Metadata::GetFileSize() const
191 {
192 return size_;
193 }
194
SetFileDateAdded(const VariantData & dateAdded)195 void Metadata::SetFileDateAdded(const VariantData &dateAdded)
196 {
197 dateAdded_ = std::get<int64_t>(dateAdded);
198 }
199
GetFileDateAdded() const200 int64_t Metadata::GetFileDateAdded() const
201 {
202 return dateAdded_;
203 }
204
SetFileDateModified(const VariantData & dateModified)205 void Metadata::SetFileDateModified(const VariantData &dateModified)
206 {
207 dateModified_ = std::get<int64_t>(dateModified);
208 }
209
GetFileDateModified() const210 int64_t Metadata::GetFileDateModified() const
211 {
212 return dateModified_;
213 }
214
SetFileExtension(const VariantData & fileExt)215 void Metadata::SetFileExtension(const VariantData &fileExt)
216 {
217 fileExt_ = std::get<string>(fileExt);
218 }
219
GetFileExtension() const220 const std::string &Metadata::GetFileExtension() const
221 {
222 return fileExt_;
223 }
224
SetFileTitle(const VariantData & title)225 void Metadata::SetFileTitle(const VariantData &title)
226 {
227 title_ = std::get<string>(title);
228 }
229
GetFileTitle() const230 const std::string &Metadata::GetFileTitle() const
231 {
232 return title_;
233 }
234
SetFileArtist(const VariantData & artist)235 void Metadata::SetFileArtist(const VariantData &artist)
236 {
237 artist_ = std::get<string>(artist);
238 }
239
GetFileArtist() const240 const std::string &Metadata::GetFileArtist() const
241 {
242 return artist_;
243 }
244
SetAlbum(const VariantData & album)245 void Metadata::SetAlbum(const VariantData &album)
246 {
247 album_ = std::get<string>(album);
248 }
249
GetAlbum() const250 const std::string &Metadata::GetAlbum() const
251 {
252 return album_;
253 }
254
SetFileHeight(const VariantData & height)255 void Metadata::SetFileHeight(const VariantData &height)
256 {
257 height_ = std::get<int32_t>(height);
258 }
259
GetFileHeight() const260 int32_t Metadata::GetFileHeight() const
261 {
262 return height_;
263 }
264
SetFileWidth(const VariantData & width)265 void Metadata::SetFileWidth(const VariantData &width)
266 {
267 width_ = std::get<int32_t>(width);
268 }
269
GetFileWidth() const270 int32_t Metadata::GetFileWidth() const
271 {
272 return width_;
273 }
274
SetFileDuration(const VariantData & duration)275 void Metadata::SetFileDuration(const VariantData &duration)
276 {
277 duration_ = std::get<int32_t>(duration);
278 }
279
GetFileDuration() const280 int32_t Metadata::GetFileDuration() const
281 {
282 return duration_;
283 }
284
SetOrientation(const VariantData & orientation)285 void Metadata::SetOrientation(const VariantData &orientation)
286 {
287 orientation_ = std::get<int32_t>(orientation);
288 }
289
GetOrientation() const290 int32_t Metadata::GetOrientation() const
291 {
292 return orientation_;
293 }
294
SetAlbumId(const VariantData & albumId)295 void Metadata::SetAlbumId(const VariantData &albumId)
296 {
297 albumId_ = std::get<int32_t>(albumId);
298 }
299
GetAlbumId() const300 int32_t Metadata::GetAlbumId() const
301 {
302 return albumId_;
303 }
304
SetAlbumName(const VariantData & albumName)305 void Metadata::SetAlbumName(const VariantData &albumName)
306 {
307 albumName_ = std::get<string>(albumName);
308 }
309
GetAlbumName() const310 const std::string &Metadata::GetAlbumName() const
311 {
312 return albumName_;
313 }
314
SetParentId(const VariantData & parentId)315 void Metadata::SetParentId(const VariantData &parentId)
316 {
317 parentId_ = std::get<int32_t>(parentId);
318 }
319
GetParentId() const320 int32_t Metadata::GetParentId() const
321 {
322 return parentId_;
323 }
324
SetRecyclePath(const VariantData & recyclePath)325 void Metadata::SetRecyclePath(const VariantData &recyclePath)
326 {
327 recyclePath_ = std::get<string>(recyclePath);
328 }
329
GetRecyclePath() const330 const std::string &Metadata::GetRecyclePath() const
331 {
332 return recyclePath_;
333 }
334
SetDateTaken(const VariantData & dateTaken)335 void Metadata::SetDateTaken(const VariantData &dateTaken)
336 {
337 dateTaken_ = std::get<int64_t>(dateTaken);
338 }
339
GetDateTaken() const340 int64_t Metadata::GetDateTaken() const
341 {
342 return dateTaken_;
343 }
344
SetLongitude(const VariantData & longitude)345 void Metadata::SetLongitude(const VariantData &longitude)
346 {
347 longitude_ = std::get<double>(longitude);
348 }
349
GetLongitude() const350 double Metadata::GetLongitude() const
351 {
352 return longitude_;
353 }
354
SetLatitude(const VariantData & latitude)355 void Metadata::SetLatitude(const VariantData &latitude)
356 {
357 latitude_ = std::get<double>(latitude);
358 }
359
GetLatitude() const360 double Metadata::GetLatitude() const
361 {
362 return latitude_;
363 }
364
SetTimePending(const VariantData & timePending)365 void Metadata::SetTimePending(const VariantData &timePending)
366 {
367 timePending_ = std::get<int64_t>(timePending);
368 }
369
GetTimePending() const370 int64_t Metadata::GetTimePending() const
371 {
372 return timePending_;
373 }
374
SetUserComment(const VariantData & userComment)375 void Metadata::SetUserComment(const VariantData &userComment)
376 {
377 userComment_ = get<string>(userComment);
378 }
379
GetUserComment() const380 const string &Metadata::GetUserComment() const
381 {
382 return userComment_;
383 }
384
SetAllExif(const VariantData & allExif)385 void Metadata::SetAllExif(const VariantData &allExif)
386 {
387 allExif_ = get<string>(allExif);
388 }
389
GetAllExif() const390 const string &Metadata::GetAllExif() const
391 {
392 return allExif_;
393 }
394
SetDateYear(const VariantData & dateYear)395 void Metadata::SetDateYear(const VariantData &dateYear)
396 {
397 dateYear_ = get<string>(dateYear);
398 }
399
getDateYear() const400 const string &Metadata::getDateYear() const
401 {
402 return dateYear_;
403 }
404
SetDateMonth(const VariantData & dateMonth)405 void Metadata::SetDateMonth(const VariantData &dateMonth)
406 {
407 dateMonth_ = get<string>(dateMonth);
408 }
409
getDateMonth() const410 const string &Metadata::getDateMonth() const
411 {
412 return dateMonth_;
413 }
414
SetDateDay(const VariantData & dateDay)415 void Metadata::SetDateDay(const VariantData &dateDay)
416 {
417 dateDay_ = get<string>(dateDay);
418 }
419
GetDateDay() const420 const string &Metadata::GetDateDay() const
421 {
422 return dateDay_;
423 }
424
SetShootingMode(const VariantData & shootingMode)425 void Metadata::SetShootingMode(const VariantData &shootingMode)
426 {
427 shootingMode_ = get<string>(shootingMode);
428 }
429
SetShootingModeTag(const VariantData & shootingModeTag)430 void Metadata::SetShootingModeTag(const VariantData &shootingModeTag)
431 {
432 shootingModeTag_ = get<string>(shootingModeTag);
433 }
434
GetShootingMode() const435 const string &Metadata::GetShootingMode() const
436 {
437 return shootingMode_;
438 }
439
GetShootingModeTag() const440 const string &Metadata::GetShootingModeTag() const
441 {
442 return shootingModeTag_;
443 }
444
SetPhotoSubType(const VariantData & photoSubType)445 void Metadata::SetPhotoSubType(const VariantData &photoSubType)
446 {
447 photoSubType_ = std::get<int32_t>(photoSubType);
448 }
449
GetPhotoSubType() const450 int32_t Metadata::GetPhotoSubType() const
451 {
452 return photoSubType_;
453 }
454
SetMovingPhotoEffectMode(const VariantData & movingPhotoEffectMode)455 void Metadata::SetMovingPhotoEffectMode(const VariantData &movingPhotoEffectMode)
456 {
457 movingPhotoEffectMode_ = std::get<int32_t>(movingPhotoEffectMode);
458 }
459
GetMovingPhotoEffectMode() const460 int32_t Metadata::GetMovingPhotoEffectMode() const
461 {
462 return movingPhotoEffectMode_;
463 }
464
SetTableName(const string & tableName)465 void Metadata::SetTableName(const string &tableName)
466 {
467 tableName_ = tableName;
468 }
469
GetTableName()470 string Metadata::GetTableName()
471 {
472 return tableName_;
473 }
474
SetForAdd(bool forAdd)475 void Metadata::SetForAdd(bool forAdd)
476 {
477 forAdd_ = forAdd;
478 }
479
GetForAdd() const480 bool Metadata::GetForAdd() const
481 {
482 return forAdd_;
483 }
484
SetLastVisitTime(const VariantData & lastVisitTime)485 void Metadata::SetLastVisitTime(const VariantData &lastVisitTime)
486 {
487 lastVisitTime_ = std::get<int64_t>(lastVisitTime);
488 }
489
GetLastVisitTime() const490 int64_t Metadata::GetLastVisitTime() const
491 {
492 return lastVisitTime_;
493 }
494
SetOwnerPackage(const VariantData & ownerPackage)495 void Metadata::SetOwnerPackage(const VariantData &ownerPackage)
496 {
497 ownerPackage_ = get<string>(ownerPackage);
498 }
499
GetOwnerPackage() const500 const std::string Metadata::GetOwnerPackage() const
501 {
502 return ownerPackage_;
503 }
504
SetDynamicRangeType(const VariantData & type)505 void Metadata::SetDynamicRangeType(const VariantData &type)
506 {
507 dynamicRangeType_ = std::get<int32_t>(type);
508 }
509
GetDynamicRangeType() const510 int32_t Metadata::GetDynamicRangeType() const
511 {
512 return dynamicRangeType_;
513 }
514
SetMovingPhotoImagePath(const VariantData & imagePath)515 void Metadata::SetMovingPhotoImagePath(const VariantData &imagePath)
516 {
517 movingPhotoImagePath_ = std::get<string>(imagePath);
518 }
519
GetMovingPhotoImagePath() const520 std::string Metadata::GetMovingPhotoImagePath() const
521 {
522 return movingPhotoImagePath_;
523 }
524
SetCoverPosition(const VariantData & coverPosition)525 void Metadata::SetCoverPosition(const VariantData &coverPosition)
526 {
527 coverPosition_ = std::get<int64_t>(coverPosition);
528 }
529
GetCoverPosition() const530 int64_t Metadata::GetCoverPosition() const
531 {
532 return coverPosition_;
533 }
534
SetFrameIndex(const VariantData & frameIndex)535 void Metadata::SetFrameIndex(const VariantData &frameIndex)
536 {
537 frameIndex_ = std::get<int32_t>(frameIndex);
538 }
539
GetFrameIndex() const540 int32_t Metadata::GetFrameIndex() const
541 {
542 return frameIndex_;
543 }
544
SetIsTemp(const VariantData & isTemp)545 void Metadata::SetIsTemp(const VariantData &isTemp)
546 {
547 isTemp_ = std::get<int32_t>(isTemp);
548 }
549
GetIsTemp() const550 int32_t Metadata::GetIsTemp() const
551 {
552 return isTemp_;
553 }
554
SetPhotoQuality(const VariantData & photoQuality)555 void Metadata::SetPhotoQuality(const VariantData &photoQuality)
556 {
557 photoQuality_ = std::get<int32_t>(photoQuality);
558 }
559
GetPhotoQuality() const560 int32_t Metadata::GetPhotoQuality() const
561 {
562 return photoQuality_;
563 }
564
SetDirty(const VariantData & dirty)565 void Metadata::SetDirty(const VariantData &dirty)
566 {
567 dirty_ = std::get<int32_t>(dirty);
568 }
569
GetDirty() const570 int32_t Metadata::GetDirty() const
571 {
572 return dirty_;
573 }
574
SetFrontCamera(const VariantData & frontcamera)575 void Metadata::SetFrontCamera(const VariantData &frontcamera)
576 {
577 frontcamera_ = std::get<string>(frontcamera);
578 }
579
GetFrontCamera() const580 std::string Metadata::GetFrontCamera() const
581 {
582 return frontcamera_;
583 }
584
SetDetailTime(const VariantData & detailTime)585 void Metadata::SetDetailTime(const VariantData &detailTime)
586 {
587 detailTime_ = std::get<string>(detailTime);
588 }
589
GetDetailTime() const590 std::string Metadata::GetDetailTime() const
591 {
592 return detailTime_;
593 }
594 } // namespace Media
595 } // namespace OHOS
596