• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2024 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 "ringtone_metadata.h"
17 
18 namespace OHOS {
19 namespace Media {
20 using namespace std;
RingtoneMetadata()21 RingtoneMetadata::RingtoneMetadata()
22     : toneId_(TONE_ID_DEFAULT),
23     data_(DATA_DEFAULT),
24     size_(SIZE_DEFAULT),
25     displayName_(DISPLAY_NAME_DEFAULT),
26     title_(TITLE_DEFAULT),
27     mediaType_(METADATA_MEDIA_TYPE_DEFAULT),
28     toneType_(TONE_TYPE_DEFAULT),
29     mimeType_(MIME_TYPE_DEFAULT),
30     sourceType_(SOURCE_TYPE_DEFAULT),
31     dateAdded_(DATE_ADDED_DEFAULT),
32     dateModified_(DATE_MODIFIED_DEFAULT),
33     dateTaken_(DATE_TAKEN_DEFAULT),
34     duration_(DURATION_DEFAULT),
35     shotToneType_(SHOT_TONE_TYPE_DEFAULT),
36     shotToneSourceType_(SHOT_TONE_SOURCE_TYPE_DEFAULT),
37     notificationToneType_(NOTIFICATION_TONE_TYPE_DEFAULT),
38     notificationToneSourceType_(NOTIFICATION_TONE_SOURCE_TYPE_DEFAULT),
39     ringToneType_(RING_TONE_TYPE_DEFAULT),
40     ringToneSourceType_(RING_TONE_SOURCE_TYPE_DEFAULT),
41     alarmToneType_(ALARM_TONE_TYPE_DEFAULT),
42     alarmToneSourceType_(ALARM_TONE_SOURCE_TYPE_DEFAULT),
43     scannerFlag_(SCANNER_FLAG_DEFAULT)
44 {
45     Init();
46 }
47 
Init()48 void RingtoneMetadata::Init()
49 {
50     memberFuncMap_[RINGTONE_COLUMN_TONE_ID] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
51         &RingtoneMetadata::SetToneId);
52     memberFuncMap_[RINGTONE_COLUMN_DATA] = make_pair(RingtoneResultSetDataType::DATA_TYPE_STRING,
53         &RingtoneMetadata::SetData);
54     memberFuncMap_[RINGTONE_COLUMN_SIZE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT64,
55         &RingtoneMetadata::SetSize);
56     memberFuncMap_[RINGTONE_COLUMN_DISPLAY_NAME] = make_pair(RingtoneResultSetDataType::DATA_TYPE_STRING,
57         &RingtoneMetadata::SetDisplayName);
58     memberFuncMap_[RINGTONE_COLUMN_TITLE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_STRING,
59         &RingtoneMetadata::SetTitle);
60     memberFuncMap_[RINGTONE_COLUMN_MEDIA_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
61         &RingtoneMetadata::SetMediaType);
62     memberFuncMap_[RINGTONE_COLUMN_TONE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
63         &RingtoneMetadata::SetToneType);
64     memberFuncMap_[RINGTONE_COLUMN_MIME_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_STRING,
65         &RingtoneMetadata::SetMimeType);
66     memberFuncMap_[RINGTONE_COLUMN_SOURCE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
67         &RingtoneMetadata::SetSourceType);
68     memberFuncMap_[RINGTONE_COLUMN_DATE_ADDED] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT64,
69         &RingtoneMetadata::SetDateAdded);
70     memberFuncMap_[RINGTONE_COLUMN_DATE_MODIFIED] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT64,
71         &RingtoneMetadata::SetDateModified);
72     memberFuncMap_[RINGTONE_COLUMN_DATE_TAKEN] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT64,
73         &RingtoneMetadata::SetDateTaken);
74     memberFuncMap_[RINGTONE_COLUMN_DURATION] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
75         &RingtoneMetadata::SetDuration);
76     memberFuncMap_[RINGTONE_COLUMN_SHOT_TONE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
77         &RingtoneMetadata::SetShotToneType);
78     memberFuncMap_[RINGTONE_COLUMN_SHOT_TONE_SOURCE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
79         &RingtoneMetadata::SetShotToneSourceType);
80     memberFuncMap_[RINGTONE_COLUMN_NOTIFICATION_TONE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
81         &RingtoneMetadata::SetNotificationToneType);
82     memberFuncMap_[RINGTONE_COLUMN_NOTIFICATION_TONE_SOURCE_TYPE] =
83         make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32, &RingtoneMetadata::SetNotificationToneSourceType);
84     memberFuncMap_[RINGTONE_COLUMN_RING_TONE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
85         &RingtoneMetadata::SetRingToneType);
86     memberFuncMap_[RINGTONE_COLUMN_RING_TONE_SOURCE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
87         &RingtoneMetadata::SetRingToneSourceType);
88     memberFuncMap_[RINGTONE_COLUMN_ALARM_TONE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
89         &RingtoneMetadata::SetAlarmToneType);
90     memberFuncMap_[RINGTONE_COLUMN_ALARM_TONE_SOURCE_TYPE] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
91         &RingtoneMetadata::SetAlarmToneSourceType);
92     memberFuncMap_[RINGTONE_COLUMN_SCANNER_FLAG] = make_pair(RingtoneResultSetDataType::DATA_TYPE_INT32,
93         &RingtoneMetadata::SetScannerFlag);
94 }
95 
SetToneId(const VariantData & toneId)96 void RingtoneMetadata::SetToneId(const VariantData &toneId)
97 {
98     toneId_ = std::get<int32_t>(toneId);
99 }
100 
GetToneId() const101 int32_t RingtoneMetadata::GetToneId() const
102 {
103     return toneId_;
104 }
105 
SetData(const VariantData & data)106 void RingtoneMetadata::SetData(const VariantData &data)
107 {
108     data_ = std::get<std::string>(data);
109 }
110 
GetData() const111 const std::string &RingtoneMetadata::GetData() const
112 {
113     return data_;
114 }
115 
SetSize(const VariantData & size)116 void RingtoneMetadata::SetSize(const VariantData &size)
117 {
118     size_ = std::get<int64_t>(size);
119 }
120 
GetSize() const121 int64_t RingtoneMetadata::GetSize() const
122 {
123     return size_;
124 }
125 
SetDisplayName(const VariantData & displayName)126 void RingtoneMetadata::SetDisplayName(const VariantData &displayName)
127 {
128     displayName_ = std::get<std::string>(displayName);
129 }
130 
GetDisplayName() const131 const std::string &RingtoneMetadata::GetDisplayName() const
132 {
133     return displayName_;
134 }
135 
SetTitle(const VariantData & title)136 void RingtoneMetadata::SetTitle(const VariantData &title)
137 {
138     title_ = std::get<std::string>(title);
139 }
140 
GetTitle() const141 const std::string &RingtoneMetadata::GetTitle() const
142 {
143     return title_;
144 }
145 
SetMediaType(const VariantData & mediaType)146 void RingtoneMetadata::SetMediaType(const VariantData &mediaType)
147 {
148     mediaType_ = std::get<int32_t>(mediaType);
149 }
150 
GetMediaType() const151 int32_t RingtoneMetadata::GetMediaType() const
152 {
153     return mediaType_;
154 }
155 
SetToneType(const VariantData & toneType)156 void RingtoneMetadata::SetToneType(const VariantData &toneType)
157 {
158     toneType_ = std::get<int32_t>(toneType);
159 }
160 
GetToneType() const161 int32_t RingtoneMetadata::GetToneType() const
162 {
163     return toneType_;
164 }
165 
SetMimeType(const VariantData & mimeType)166 void RingtoneMetadata::SetMimeType(const VariantData &mimeType)
167 {
168     mimeType_ = std::get<std::string>(mimeType);
169 }
170 
GetMimeType() const171 const std::string &RingtoneMetadata::GetMimeType() const
172 {
173     return mimeType_;
174 }
175 
SetSourceType(const VariantData & sourceType)176 void RingtoneMetadata::SetSourceType(const VariantData &sourceType)
177 {
178     sourceType_ = std::get<int32_t>(sourceType);
179 }
180 
GetSourceType() const181 int32_t RingtoneMetadata::GetSourceType() const
182 {
183     return sourceType_;
184 }
185 
SetDateAdded(const VariantData & dateAdded)186 void RingtoneMetadata::SetDateAdded(const VariantData &dateAdded)
187 {
188     dateAdded_ = std::get<int64_t>(dateAdded);
189 }
190 
GetDateAdded() const191 int64_t RingtoneMetadata::GetDateAdded() const
192 {
193     return dateAdded_;
194 }
195 
SetDateModified(const VariantData & dateModified)196 void RingtoneMetadata::SetDateModified(const VariantData &dateModified)
197 {
198     dateModified_ = std::get<int64_t>(dateModified);
199 }
200 
GetDateModified() const201 int64_t RingtoneMetadata::GetDateModified() const
202 {
203     return dateModified_;
204 }
205 
SetDateTaken(const VariantData & dateTaken)206 void RingtoneMetadata::SetDateTaken(const VariantData &dateTaken)
207 {
208     dateTaken_ = std::get<int64_t>(dateTaken);
209 }
210 
GetDateTaken() const211 int64_t RingtoneMetadata::GetDateTaken() const
212 {
213     return dateTaken_;
214 }
215 
SetDuration(const VariantData & duration)216 void RingtoneMetadata::SetDuration(const VariantData &duration)
217 {
218     duration_ = std::get<int32_t>(duration);
219 }
220 
GetDuration() const221 int32_t RingtoneMetadata::GetDuration() const
222 {
223     return duration_;
224 }
225 
SetShotToneType(const VariantData & shotToneType)226 void RingtoneMetadata::SetShotToneType(const VariantData &shotToneType)
227 {
228     shotToneType_ = std::get<int32_t>(shotToneType);
229 }
230 
GetShotToneType() const231 int32_t RingtoneMetadata::GetShotToneType() const
232 {
233     return shotToneType_;
234 }
235 
SetShotToneSourceType(const VariantData & shotToneSourceType)236 void RingtoneMetadata::SetShotToneSourceType(const VariantData &shotToneSourceType)
237 {
238     shotToneSourceType_ = std::get<int32_t>(shotToneSourceType);
239 }
240 
GetShotToneSourceType() const241 int32_t RingtoneMetadata::GetShotToneSourceType() const
242 {
243     return shotToneSourceType_;
244 }
245 
SetNotificationToneType(const VariantData & notificationToneType)246 void RingtoneMetadata::SetNotificationToneType(const VariantData &notificationToneType)
247 {
248     notificationToneType_ = std::get<int32_t>(notificationToneType);
249 }
250 
GetNotificationToneType() const251 int32_t RingtoneMetadata::GetNotificationToneType() const
252 {
253     return notificationToneType_;
254 }
255 
SetNotificationToneSourceType(const VariantData & notificationToneSourceType)256 void RingtoneMetadata::SetNotificationToneSourceType(const VariantData &notificationToneSourceType)
257 {
258     notificationToneSourceType_ = std::get<int32_t>(notificationToneSourceType);
259 }
260 
GetNotificationToneSourceType() const261 int32_t RingtoneMetadata::GetNotificationToneSourceType() const
262 {
263     return notificationToneSourceType_;
264 }
265 
SetRingToneType(const VariantData & ringToneType)266 void RingtoneMetadata::SetRingToneType(const VariantData &ringToneType)
267 {
268     ringToneType_ = std::get<int32_t>(ringToneType);
269 }
270 
GetRingToneType() const271 int32_t RingtoneMetadata::GetRingToneType() const
272 {
273     return ringToneType_;
274 }
275 
SetRingToneSourceType(const VariantData & ringToneSourceType)276 void RingtoneMetadata::SetRingToneSourceType(const VariantData &ringToneSourceType)
277 {
278     ringToneSourceType_ = std::get<int32_t>(ringToneSourceType);
279 }
280 
GetRingToneSourceType() const281 int32_t RingtoneMetadata::GetRingToneSourceType() const
282 {
283     return ringToneSourceType_;
284 }
285 
SetAlarmToneType(const VariantData & alarmToneType)286 void RingtoneMetadata::SetAlarmToneType(const VariantData &alarmToneType)
287 {
288     alarmToneType_ = std::get<int32_t>(alarmToneType);
289 }
290 
GetAlarmToneType() const291 int32_t RingtoneMetadata::GetAlarmToneType() const
292 {
293     return alarmToneType_;
294 }
295 
SetAlarmToneSourceType(const VariantData & alarmToneSourceType)296 void RingtoneMetadata::SetAlarmToneSourceType(const VariantData &alarmToneSourceType)
297 {
298     alarmToneSourceType_ = std::get<int32_t>(alarmToneSourceType);
299 }
300 
GetAlarmToneSourceType() const301 int32_t RingtoneMetadata::GetAlarmToneSourceType() const
302 {
303     return alarmToneSourceType_;
304 }
305 
SetScannerFlag(const VariantData & scannerFlag)306 void RingtoneMetadata::SetScannerFlag(const VariantData &scannerFlag)
307 {
308     scannerFlag_ = std::get<int32_t>(scannerFlag);
309 }
310 
GetScannerFlag() const311 int32_t RingtoneMetadata::GetScannerFlag() const
312 {
313     return scannerFlag_;
314 }
315 
ToString() const316 string RingtoneMetadata::ToString() const
317 {
318     string str = "ringtone metadata:{ toneId_=" + to_string(toneId_) +
319                 "; data_=" + data_ +
320                 "; size_=" + to_string(size_) +
321                 "; displayName_=" + displayName_ +
322                 "; title_=" + title_ +
323                 "; mediaType_=" + to_string(mediaType_) +
324                 "; toneType_=" + to_string(toneType_) +
325                 "; mimeType_=" + mimeType_ +
326                 "; sourceType_=" + to_string(sourceType_) +
327                 "; dateAdded_=" + to_string(dateAdded_) +
328                 "; dateModified_=" + to_string(dateModified_) +
329                 "; dateTaken_=" + to_string(dateTaken_) +
330                 "; duration_=" + to_string(duration_) +
331                 "; shotToneType_=" + to_string(shotToneType_) +
332                 "; shotToneSourceType_=" + to_string(shotToneSourceType_) +
333                 "; notificationToneType_=" + to_string(notificationToneType_) +
334                 "; notificationToneSourceType_=" + to_string(notificationToneSourceType_) +
335                 "; ringToneType_=" + to_string(ringToneType_) +
336                 "; ringToneSourceType_=" + to_string(ringToneSourceType_) +
337                 "; alarmToneType_=" + to_string(alarmToneType_) +
338                 "; alarmToneSourceType_=" + to_string(alarmToneSourceType_) +
339                 "; scannerFlag_=" + to_string(scannerFlag_) + "}";
340     return str;
341 }
342 } // namespace Media
343 } // namespace OHOS
344