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 "simcard_setting_asset.h"
17 
18 #include "ringtone_db_const.h"
19 #include "ringtone_errno.h"
20 #include "ringtone_log.h"
21 #include "ringtone_type.h"
22 
23 namespace OHOS {
24 namespace Media {
25 using namespace std;
26 
SimcardSettingAsset()27 SimcardSettingAsset::SimcardSettingAsset()
28 {
29 }
30 
GetMode() const31 int32_t SimcardSettingAsset::GetMode() const
32 {
33     return GetInt32Member(SIMCARD_SETTING_COLUMN_MODE);
34 }
35 
SetMode(int32_t mode)36 void SimcardSettingAsset::SetMode(int32_t mode)
37 {
38     member_[SIMCARD_SETTING_COLUMN_MODE] = mode;
39 }
40 
GetVibrateMode() const41 int32_t SimcardSettingAsset::GetVibrateMode() const
42 {
43     return GetInt32Member(SIMCARD_SETTING_COLUMN_VIBRATE_MODE);
44 }
45 
SetVibrateMode(int32_t mode)46 void SimcardSettingAsset::SetVibrateMode(int32_t mode)
47 {
48     member_[SIMCARD_SETTING_COLUMN_VIBRATE_MODE] = mode;
49 }
50 
GetToneFile() const51 const string &SimcardSettingAsset::GetToneFile() const
52 {
53     return GetStrMember(SIMCARD_SETTING_COLUMN_TONE_FILE);
54 }
55 
SetToneFile(const string & path)56 void SimcardSettingAsset::SetToneFile(const string &path)
57 {
58     member_[SIMCARD_SETTING_COLUMN_TONE_FILE] = path;
59 }
60 
GetVibrateFile() const61 const string &SimcardSettingAsset::GetVibrateFile() const
62 {
63     return GetStrMember(SIMCARD_SETTING_COLUMN_VIBRATE_FILE);
64 }
65 
SetVibrateFile(const string & path)66 void SimcardSettingAsset::SetVibrateFile(const string &path)
67 {
68     member_[SIMCARD_SETTING_COLUMN_VIBRATE_FILE] = path;
69 }
70 
GetRingtoneType() const71 int32_t SimcardSettingAsset::GetRingtoneType() const
72 {
73     return GetInt32Member(SIMCARD_SETTING_COLUMN_RINGTONE_TYPE);
74 }
75 
SetRingtoneType(int32_t mode)76 void SimcardSettingAsset::SetRingtoneType(int32_t mode)
77 {
78     member_[SIMCARD_SETTING_COLUMN_RINGTONE_TYPE] = mode;
79 }
80 
GetRingMode() const81 int32_t SimcardSettingAsset::GetRingMode() const
82 {
83     return GetInt32Member(SIMCARD_SETTING_COLUMN_RING_MODE);
84 }
85 
SetRingMode(int32_t mode)86 void SimcardSettingAsset::SetRingMode(int32_t mode)
87 {
88     member_[SIMCARD_SETTING_COLUMN_RING_MODE] = mode;
89 }
90 
GetInt32Member(const string & name) const91 int32_t SimcardSettingAsset::GetInt32Member(const string &name) const
92 {
93     return (member_.count(name) > 0) ? get<int32_t>(member_.at(name)) : RINGTONE_DEFAULT_INT32;
94 }
95 
GetStrMember(const string & name) const96 const string &SimcardSettingAsset::GetStrMember(const string &name) const
97 {
98     return (member_.count(name) > 0) ? get<string>(member_.at(name)) : RINGTONE_DEFAULT_STR;
99 }
100 
GetMemberMap()101 unordered_map<string, variant<int32_t, int64_t, string, double>> &SimcardSettingAsset::GetMemberMap()
102 {
103     return member_;
104 }
105 } // namespace Media
106 } // namespace OHOS
107