Split CXXFLAGS of the spec file for -D_SECURE_LOG (fixed)
[platform/framework/native/appfw.git] / inc / FSecCertX509CertificateSelector.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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 /**
18  * @file                        FSecCertX509CertificateSelector.h
19  * @brief               This is the header file for the %X509CertificateSelector class.
20  *
21  * This header file contains the declarations of the %X509CertificateSelector class.
22  */
23 #ifndef _FSEC_CERT_X509_CERTIFICATE_SELECTOR_H_
24 #define _FSEC_CERT_X509_CERTIFICATE_SELECTOR_H_
25
26 #include <FSecCertICertificateSelector.h>
27
28
29 namespace Tizen { namespace Security { namespace Cert
30 {
31
32 /**
33  *      @class          X509CertificateSelector
34  *      @brief          This class is used for managing a variety of identity certificates.
35  *
36  *      @since          2.0
37  *
38  * The %X509CertificateSelector class is a selector that defines a set of criterion for selecting certificates. @n
39  *
40  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/security/certificate_namespace.htm">Certificates</a>.
41  *
42  *  @see                ICertificate
43  *  @see                Tizen::Security::Cert::ICertificateSelector
44  */
45 class _OSP_EXPORT_ X509CertificateSelector
46         : public virtual ICertificateSelector
47         , public Tizen::Base::Object
48 {
49
50 public:
51         /**
52          *      This is the constructor for this class.
53          *
54          *      @since          2.0
55          */
56         X509CertificateSelector(void);
57
58         /**
59          *      This is the destructor for this class.
60          *
61          *      @since          2.0
62          */
63         virtual ~X509CertificateSelector(void);
64
65         /**
66          *      Gets the certificate type.
67          *
68          *      @since          2.0
69          *
70          * @return  The certificate type
71          */
72         virtual CertificateType GetType(void) const;
73
74         /**
75          * Sets the certificate type.
76          *
77          *      @since          2.0
78          *
79          * @param[in]   certificateType         The certificate type
80          */
81         virtual void SetType(CertificateType certificateType);
82
83 private:
84         X509CertificateSelector(const X509CertificateSelector& rhs);
85         X509CertificateSelector& operator =(const X509CertificateSelector& rhs);
86
87 private:
88         CertificateType __certType;
89
90         class _X509CertificateSelectorImpl* __pX509CertificateSelectorImpl;
91         friend class _X509CertificateSelectorImpl;
92
93 }; // X509CertificateSelector
94
95 } } } // Tizen::Security::Cert
96
97 #endif // _FSEC_CERT_X509_CERTIFICATE_SELECTOR_H_