bced0913cefd374e418b4b36c011b47f9115e895
[platform/core/security/cert-svc.git] / vcore / src / vcore / CertStoreType.cpp
1 /*
2  * Copyright (c) 2011 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_PARTNER_OPERATOR;
52     visType |= VIS_PARTNER_MANUFACTURER;
53     visType |= VIS_PLATFORM;
54
55     visType &= m_certificateStorage;
56
57     if (visType == 0)
58         return false;
59
60     return true;
61 }
62
63 bool Set::isEmpty() const
64 {
65     return m_certificateStorage == 0;
66 }
67
68 std::string Set::typeToString() const
69 {
70     std::string ret;
71
72     if (m_certificateStorage & TIZEN_DEVELOPER)
73         ret += "TIZEN_DEVELOPER ";
74     if (m_certificateStorage & TIZEN_TEST)
75         ret += "TIZEN_TEST ";
76     if (m_certificateStorage & TIZEN_VERIFY)
77         ret += "TIZEN_VERIFY ";
78     if (m_certificateStorage & TIZEN_STORE)
79         ret += "TIZEN_STORE ";
80     if (m_certificateStorage & VIS_PUBLIC)
81         ret += "VIS_PUBLIC ";
82     if (m_certificateStorage & VIS_PARTNER)
83         ret += "VIS_PARTNER ";
84     if (m_certificateStorage & VIS_PARTNER_OPERATOR)
85         ret += "VIS_PARTNER_OPERATOR ";
86     if (m_certificateStorage & VIS_PARTNER_MANUFACTURER)
87         ret += "VIS_PARTNER_MANUFACTURER ";
88     if (m_certificateStorage & VIS_PLATFORM)
89         ret += "VIS_PLATFORM ";
90
91     return ret;
92 }
93
94 } // namespace CertStoreId
95 } // namespace ValidationCore