7e8cf0dce57726b22a5f3ddf6a0a9b82c91b764e
[platform/core/security/cert-svc.git] / src / vcore / CertStoreType.cpp
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /*
17  * @author      Bartlomiej Grzelewski (b.grzelewski@samsung.com)
18  * @file        CertStoreType.cpp
19  * @version     1.0
20  * @brief       Identification of certificate domain. Certificate domains
21  *              were defined in WAC 1.0 documentation. This is a part
22  *              should be implemented in wrt-installer.
23  */
24 #include <vcore/CertStoreType.h>
25
26 namespace ValidationCore {
27 namespace CertStoreId {
28
29 Set::Set()
30         : m_certificateStorage(0)
31 {}
32
33 Set::~Set()
34 {
35 }
36
37 void Set::add(Type second)
38 {
39         m_certificateStorage |= second;
40 }
41
42 bool Set::contains(Type second) const
43 {
44         return static_cast<bool>(m_certificateStorage & second);
45 }
46
47 bool Set::isContainsVis() const
48 {
49         Type visType = VIS_PUBLIC;
50         visType |= VIS_PARTNER;
51         visType |= VIS_PLATFORM;
52         visType &= m_certificateStorage;
53
54         if (visType == 0)
55                 return false;
56
57         return true;
58 }
59
60 bool Set::isEmpty() const
61 {
62         return m_certificateStorage == 0;
63 }
64
65 std::string Set::typeToString() const
66 {
67         std::string ret;
68
69         if (m_certificateStorage & TIZEN_DEVELOPER)
70                 ret += "TIZEN_DEVELOPER ";
71
72         if (m_certificateStorage & TIZEN_TEST)
73                 ret += "TIZEN_TEST ";
74
75         if (m_certificateStorage & TIZEN_VERIFY)
76                 ret += "TIZEN_VERIFY ";
77
78         if (m_certificateStorage & TIZEN_STORE)
79                 ret += "TIZEN_STORE ";
80
81         if (m_certificateStorage & TIZEN_REVOKED)
82                 ret += "TIZEN_REVOKED ";
83
84         if (m_certificateStorage & VIS_PUBLIC)
85                 ret += "VIS_PUBLIC ";
86
87         if (m_certificateStorage & VIS_PARTNER)
88                 ret += "VIS_PARTNER ";
89
90         if (m_certificateStorage & VIS_PLATFORM)
91                 ret += "VIS_PLATFORM ";
92
93         return ret;
94 }
95
96 } // namespace CertStoreId
97 } // namespace ValidationCore