13e5483f6Sopenharmony_ci/*
23e5483f6Sopenharmony_ci * Copyright (C) 2024 Huawei Device Co., Ltd.
33e5483f6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
43e5483f6Sopenharmony_ci * you may not use this file except in compliance with the License.
53e5483f6Sopenharmony_ci * You may obtain a copy of the License at
63e5483f6Sopenharmony_ci *
73e5483f6Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
83e5483f6Sopenharmony_ci *
93e5483f6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
103e5483f6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
113e5483f6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123e5483f6Sopenharmony_ci * See the License for the specific language governing permissions and
133e5483f6Sopenharmony_ci * limitations under the License.
143e5483f6Sopenharmony_ci */
153e5483f6Sopenharmony_ci#define MLOG_TAG "VibrateAsset"
163e5483f6Sopenharmony_ci
173e5483f6Sopenharmony_ci#include "vibrate_asset.h"
183e5483f6Sopenharmony_ci
193e5483f6Sopenharmony_ci#include "ringtone_db_const.h"
203e5483f6Sopenharmony_ci#include "ringtone_errno.h"
213e5483f6Sopenharmony_ci#include "ringtone_log.h"
223e5483f6Sopenharmony_ci#include "ringtone_type.h"
233e5483f6Sopenharmony_ci#include "vibrate_type.h"
243e5483f6Sopenharmony_ci
253e5483f6Sopenharmony_cinamespace OHOS {
263e5483f6Sopenharmony_cinamespace Media {
273e5483f6Sopenharmony_ciusing namespace std;
283e5483f6Sopenharmony_ci
293e5483f6Sopenharmony_ciVibrateAsset::VibrateAsset()
303e5483f6Sopenharmony_ci{
313e5483f6Sopenharmony_ci}
323e5483f6Sopenharmony_ci
333e5483f6Sopenharmony_ciint32_t VibrateAsset::GetId() const
343e5483f6Sopenharmony_ci{
353e5483f6Sopenharmony_ci    return GetInt32Member(VIBRATE_COLUMN_VIBRATE_ID);
363e5483f6Sopenharmony_ci}
373e5483f6Sopenharmony_ci
383e5483f6Sopenharmony_civoid VibrateAsset::SetId(int32_t id)
393e5483f6Sopenharmony_ci{
403e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_VIBRATE_ID] = id;
413e5483f6Sopenharmony_ci}
423e5483f6Sopenharmony_ci
433e5483f6Sopenharmony_ciint64_t VibrateAsset::GetSize() const
443e5483f6Sopenharmony_ci{
453e5483f6Sopenharmony_ci    return GetInt64Member(VIBRATE_COLUMN_SIZE);
463e5483f6Sopenharmony_ci}
473e5483f6Sopenharmony_ci
483e5483f6Sopenharmony_civoid VibrateAsset::SetSize(int64_t size)
493e5483f6Sopenharmony_ci{
503e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_SIZE] = size;
513e5483f6Sopenharmony_ci}
523e5483f6Sopenharmony_ci
533e5483f6Sopenharmony_ciconst string &VibrateAsset::GetPath() const
543e5483f6Sopenharmony_ci{
553e5483f6Sopenharmony_ci    return GetStrMember(VIBRATE_COLUMN_DATA);
563e5483f6Sopenharmony_ci}
573e5483f6Sopenharmony_ci
583e5483f6Sopenharmony_civoid VibrateAsset::SetPath(const string &path)
593e5483f6Sopenharmony_ci{
603e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_DATA] = path;
613e5483f6Sopenharmony_ci}
623e5483f6Sopenharmony_ci
633e5483f6Sopenharmony_ciconst string &VibrateAsset::GetDisplayName() const
643e5483f6Sopenharmony_ci{
653e5483f6Sopenharmony_ci    return GetStrMember(VIBRATE_COLUMN_DISPLAY_NAME);
663e5483f6Sopenharmony_ci}
673e5483f6Sopenharmony_ci
683e5483f6Sopenharmony_civoid VibrateAsset::SetDisplayName(const string &displayName)
693e5483f6Sopenharmony_ci{
703e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_DISPLAY_NAME] = displayName;
713e5483f6Sopenharmony_ci}
723e5483f6Sopenharmony_ci
733e5483f6Sopenharmony_ciconst string &VibrateAsset::GetTitle() const
743e5483f6Sopenharmony_ci{
753e5483f6Sopenharmony_ci    return GetStrMember(VIBRATE_COLUMN_TITLE);
763e5483f6Sopenharmony_ci}
773e5483f6Sopenharmony_ci
783e5483f6Sopenharmony_civoid VibrateAsset::SetTitle(const string &title)
793e5483f6Sopenharmony_ci{
803e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_TITLE] = title;
813e5483f6Sopenharmony_ci}
823e5483f6Sopenharmony_ci
833e5483f6Sopenharmony_ciconst std::string &VibrateAsset::GetDisplayLanguage() const
843e5483f6Sopenharmony_ci{
853e5483f6Sopenharmony_ci    return GetStrMember(VIBRATE_COLUMN_DISPLAY_LANGUAGE);
863e5483f6Sopenharmony_ci}
873e5483f6Sopenharmony_ci
883e5483f6Sopenharmony_civoid VibrateAsset::SetDisplayLanguage(const std::string &displayLanguage)
893e5483f6Sopenharmony_ci{
903e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_DISPLAY_LANGUAGE] = displayLanguage;
913e5483f6Sopenharmony_ci}
923e5483f6Sopenharmony_ci
933e5483f6Sopenharmony_ciint32_t VibrateAsset::GetVibrateType() const
943e5483f6Sopenharmony_ci{
953e5483f6Sopenharmony_ci    return GetInt32Member(VIBRATE_COLUMN_VIBRATE_TYPE);
963e5483f6Sopenharmony_ci}
973e5483f6Sopenharmony_ci
983e5483f6Sopenharmony_civoid VibrateAsset::SetVibrateType(int32_t type)
993e5483f6Sopenharmony_ci{
1003e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_VIBRATE_TYPE] = type;
1013e5483f6Sopenharmony_ci}
1023e5483f6Sopenharmony_ci
1033e5483f6Sopenharmony_ciint32_t VibrateAsset::GetSourceType() const
1043e5483f6Sopenharmony_ci{
1053e5483f6Sopenharmony_ci    return GetInt32Member(VIBRATE_COLUMN_SOURCE_TYPE);
1063e5483f6Sopenharmony_ci}
1073e5483f6Sopenharmony_ci
1083e5483f6Sopenharmony_civoid VibrateAsset::SetSourceType(int32_t type)
1093e5483f6Sopenharmony_ci{
1103e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_SOURCE_TYPE] = type;
1113e5483f6Sopenharmony_ci}
1123e5483f6Sopenharmony_ci
1133e5483f6Sopenharmony_ciint64_t VibrateAsset::GetDateAdded() const
1143e5483f6Sopenharmony_ci{
1153e5483f6Sopenharmony_ci    return GetInt64Member(VIBRATE_COLUMN_DATE_ADDED);
1163e5483f6Sopenharmony_ci}
1173e5483f6Sopenharmony_ci
1183e5483f6Sopenharmony_civoid VibrateAsset::SetDateAdded(int64_t dateAdded)
1193e5483f6Sopenharmony_ci{
1203e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_DATE_ADDED] = dateAdded;
1213e5483f6Sopenharmony_ci}
1223e5483f6Sopenharmony_ci
1233e5483f6Sopenharmony_ciint64_t VibrateAsset::GetDateModified() const
1243e5483f6Sopenharmony_ci{
1253e5483f6Sopenharmony_ci    return GetInt64Member(VIBRATE_COLUMN_DATE_MODIFIED);
1263e5483f6Sopenharmony_ci}
1273e5483f6Sopenharmony_ci
1283e5483f6Sopenharmony_civoid VibrateAsset::SetDateModified(int64_t dateModified)
1293e5483f6Sopenharmony_ci{
1303e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_DATE_MODIFIED] = dateModified;
1313e5483f6Sopenharmony_ci}
1323e5483f6Sopenharmony_ci
1333e5483f6Sopenharmony_ciint64_t VibrateAsset::GetDateTaken() const
1343e5483f6Sopenharmony_ci{
1353e5483f6Sopenharmony_ci    return GetInt64Member(VIBRATE_COLUMN_DATE_TAKEN);
1363e5483f6Sopenharmony_ci}
1373e5483f6Sopenharmony_ci
1383e5483f6Sopenharmony_civoid VibrateAsset::SetDateTaken(int64_t dataTaken)
1393e5483f6Sopenharmony_ci{
1403e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_DATE_TAKEN] = dataTaken;
1413e5483f6Sopenharmony_ci}
1423e5483f6Sopenharmony_ci
1433e5483f6Sopenharmony_ciint32_t VibrateAsset::GetPlayMode() const
1443e5483f6Sopenharmony_ci{
1453e5483f6Sopenharmony_ci    return GetInt32Member(VIBRATE_COLUMN_PLAY_MODE);
1463e5483f6Sopenharmony_ci}
1473e5483f6Sopenharmony_ci
1483e5483f6Sopenharmony_civoid VibrateAsset::SetPlayMode(int32_t playMode)
1493e5483f6Sopenharmony_ci{
1503e5483f6Sopenharmony_ci    member_[VIBRATE_COLUMN_PLAY_MODE] = playMode;
1513e5483f6Sopenharmony_ci}
1523e5483f6Sopenharmony_ci
1533e5483f6Sopenharmony_ciunordered_map<string, variant<int32_t, int64_t, string, double>> &VibrateAsset::GetMemberMap()
1543e5483f6Sopenharmony_ci{
1553e5483f6Sopenharmony_ci    return member_;
1563e5483f6Sopenharmony_ci}
1573e5483f6Sopenharmony_ci
1583e5483f6Sopenharmony_civariant<int32_t, int64_t, string, double> &VibrateAsset::GetMemberValue(const string &name)
1593e5483f6Sopenharmony_ci{
1603e5483f6Sopenharmony_ci    return member_[name];
1613e5483f6Sopenharmony_ci}
1623e5483f6Sopenharmony_ci
1633e5483f6Sopenharmony_ciconst string &VibrateAsset::GetStrMember(const string &name) const
1643e5483f6Sopenharmony_ci{
1653e5483f6Sopenharmony_ci    return (member_.count(name) > 0) ? get<string>(member_.at(name)) : RINGTONE_DEFAULT_STR;
1663e5483f6Sopenharmony_ci}
1673e5483f6Sopenharmony_ci
1683e5483f6Sopenharmony_ciint32_t VibrateAsset::GetInt32Member(const string &name) const
1693e5483f6Sopenharmony_ci{
1703e5483f6Sopenharmony_ci    return (member_.count(name) > 0) ? get<int32_t>(member_.at(name)) : RINGTONE_DEFAULT_INT32;
1713e5483f6Sopenharmony_ci}
1723e5483f6Sopenharmony_ci
1733e5483f6Sopenharmony_ciint64_t VibrateAsset::GetInt64Member(const string &name) const
1743e5483f6Sopenharmony_ci{
1753e5483f6Sopenharmony_ci    return (member_.count(name) > 0) ? get<int64_t>(member_.at(name)) : RINGTONE_DEFAULT_INT64;
1763e5483f6Sopenharmony_ci}
1773e5483f6Sopenharmony_ci} // namespace Media
1783e5483f6Sopenharmony_ci} // namespace OHOS
179