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