• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 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 #ifndef OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H
16 #define OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H
17 
18 #include <limits>
19 #include <string>
20 #include <tuple>
21 #include <vector>
22 
23 namespace OHOS {
24 namespace Media {
25 enum class ResultNapiType {
26     TYPE_MEDIALIBRARY,
27     TYPE_USERFILE_MGR,
28     TYPE_PHOTOACCESS_HELPER,
29     TYPE_NAPI_MAX
30 };
31 
32 enum MediaType {
33     MEDIA_TYPE_FILE,
34     MEDIA_TYPE_IMAGE,
35     MEDIA_TYPE_VIDEO,
36     MEDIA_TYPE_AUDIO,
37     MEDIA_TYPE_MEDIA,
38     MEDIA_TYPE_ALBUM_LIST,
39     MEDIA_TYPE_ALBUM_LIST_INFO,
40     MEDIA_TYPE_ALBUM,
41     MEDIA_TYPE_SMARTALBUM,
42     MEDIA_TYPE_DEVICE,
43     MEDIA_TYPE_REMOTEFILE,
44     MEDIA_TYPE_NOFILE,
45     MEDIA_TYPE_PHOTO,
46     MEDIA_TYPE_ALL,
47     MEDIA_TYPE_DEFAULT,
48 };
49 
50 enum PhotoAlbumType : int32_t {
51     USER = 0,
52     SYSTEM = 1024
53 };
54 
55 enum PhotoAlbumSubType : int32_t {
56     USER_GENERIC = 1,
57 
58     SYSTEM_START = 1025,
59     FAVORITE = SYSTEM_START,
60     VIDEO,
61     HIDDEN,
62     TRASH,
63     SCREENSHOT,
64     CAMERA,
65     IMAGES,
66     SYSTEM_END = IMAGES,
67     ANY = std::numeric_limits<int32_t>::max()
68 };
69 
70 const std::vector<std::string> ALL_SYS_PHOTO_ALBUM = {
71     std::to_string(PhotoAlbumSubType::FAVORITE),
72     std::to_string(PhotoAlbumSubType::VIDEO),
73     std::to_string(PhotoAlbumSubType::HIDDEN),
74     std::to_string(PhotoAlbumSubType::TRASH),
75     std::to_string(PhotoAlbumSubType::SCREENSHOT),
76     std::to_string(PhotoAlbumSubType::CAMERA),
77     std::to_string(PhotoAlbumSubType::IMAGES),
78 };
79 
80 enum class PhotoSubType : int32_t {
81     DEFAULT,
82     SCREENSHOT,
83     CAMERA
84 };
85 
86 const std::string URI_PARAM_API_VERSION = "api_version";
87 
88 enum class MediaLibraryApi : uint32_t {
89     API_START = 8,
90     API_OLD = 9,
91     API_10,
92     API_END
93 };
94 
95 enum NotifyType {
96     NOTIFY_ADD,
97     NOTIFY_UPDATE,
98     NOTIFY_REMOVE,
99     NOTIFY_ALBUM_ADD_ASSERT,
100     NOTIFY_ALBUM_REMOVE_ASSET
101 };
102 } // namespace Media
103 } // namespace OHOS
104 #endif // OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H
105