Tizen 2.1 base
[framework/web/wrt-commons.git] / modules / vcore / src / vcore / CertStoreType.h
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  * @file
18  * @author      Bartlomiej Grzelewski (b.grzelewski@samsung.com)
19  * @version     1.0
20  * @brief
21  */
22 #ifndef _WRT_ENGINE_SRC_INSTALLER_CORE_VALIDATION_CORE_CERTSTORETYPE_H_
23 #define _WRT_ENGINE_SRC_INSTALLER_CORE_VALIDATION_CORE_CERTSTORETYPE_H_
24
25 namespace ValidationCore {
26 namespace CertStoreId {
27 typedef unsigned int Type;
28
29 // RootCA certificates for developer mode.
30 const Type DEVELOPER = 1;
31 // RootCA certificates for author signatures.
32 const Type WAC_PUBLISHER = 1 << 1;
33 // RootCA certificates for wac-signed widgets.
34 const Type WAC_ROOT = 1 << 2;
35 // RootCA certificates for wac-members ie. operators, manufacturers.
36 const Type WAC_MEMBER = 1 << 3;
37
38 class Set
39 {
40   public:
41     Set() :
42         m_certificateStorage(0)
43     {
44     }
45
46     void add(Type second)
47     {
48         m_certificateStorage |= second;
49     }
50
51     bool contains(Type second) const
52     {
53         return static_cast<bool>(m_certificateStorage & second);
54     }
55
56     bool isEmpty() const
57     {
58         return m_certificateStorage == 0;
59     }
60
61   private:
62     Type m_certificateStorage;
63 };
64 } // namespace CertStoreId
65 } // namespace ValidationCore
66
67 #endif //  _WRT_ENGINE_SRC_INSTALLER_CORE_VALIDATION_CORE_CERTSTORETYPE_H_