1 /*
2 * Copyright (c) 2021-2022, Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 */
22 //!
23 //! \file     media_user_setting_definition.cpp
24 //! \brief    User setting definition
25 //!
26 
27 #include "media_user_setting_definition.h"
28 
29 namespace MediaUserSetting {
30 namespace Internal {
31 
Definition(const std::string & itemName,const Value & defaultValue,bool isReportKey,bool debugOnly,bool useCustomPath,const std::string & subPath,UFKEY_NEXT rootKey,bool statePath)32 Definition::Definition(const std::string &itemName,
33     const Value &defaultValue,
34     bool isReportKey,
35     bool debugOnly,
36     bool useCustomPath,
37     const std::string &subPath,
38     UFKEY_NEXT rootKey,
39     bool statePath):
40 m_itemName(itemName),
41 m_itemEnvName(itemName),
42 m_defaultValue(defaultValue),
43 m_isReportKey(isReportKey),
44 m_debugOnly(debugOnly),
45 m_useCustomePath(useCustomPath),
46 m_subPath(subPath),
47 m_rootKey(rootKey),
48 m_statePath(statePath)
49 {
50     std::replace(m_itemEnvName.begin(), m_itemEnvName.end(), ' ', '_');
51 }
52 
Definition(const Definition & def)53 Definition::Definition(const Definition& def)
54 {
55     SetData(def);
56 }
57 
~Definition()58 Definition::~Definition()
59 {
60 }
61 
operator =(const Definition & def)62 inline Definition& Definition::operator=(const Definition& def)
63 {
64     if (this != &def)
65     {
66         SetData(def);
67     }
68 
69     return *this;
70 }
71 
SetData(const Definition & def)72 inline void Definition::SetData(const Definition& def)
73 {
74     m_itemName = def.m_itemName;
75     m_debugOnly = def.m_debugOnly;
76     m_defaultValue = def.m_defaultValue;
77     m_isReportKey = def.m_isReportKey;
78     m_subPath = def.m_subPath;
79     m_useCustomePath = def.m_useCustomePath;
80     m_rootKey = def.m_rootKey;
81     m_statePath = def.m_statePath;
82 }
83 
84 }}