sync with tizen_2.0
[platform/framework/native/appfw.git] / inc / FSecCertX509CertificateSelector.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                        FSecCertX509CertificateSelector.h
20  * @brief               This is the header file for the %X509CertificateSelector class.
21  *
22  * This header file contains the declarations of the %X509CertificateSelector class.
23  */
24 #ifndef _FSEC_CERT_X509_CERTIFICATE_SELECTOR_H_
25 #define _FSEC_CERT_X509_CERTIFICATE_SELECTOR_H_
26
27 #include <FSecCertICertificateSelector.h>
28
29
30 namespace Tizen { namespace Security { namespace Cert
31 {
32
33 /**
34  *      @class          X509CertificateSelector
35  *      @brief          This class is used for managing a variety of identity certificates.
36  *
37  *      @since          2.0
38  *
39  * The %X509CertificateSelector class is a selector that defines a set of criterion for selecting certificates. @n
40  *
41  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/security/certificate_namespace.htm">Certificates</a>.
42  *
43  *  @see                ICertificate
44  *  @see                Tizen::Security::Cert::ICertificateSelector
45  */
46 class _OSP_EXPORT_ X509CertificateSelector
47         : public virtual ICertificateSelector
48         , public Tizen::Base::Object
49 {
50
51 public:
52         /**
53          *      This is the constructor for this class.
54          *
55          *      @since          2.0
56          */
57         X509CertificateSelector(void);
58
59         /**
60          *      This is the destructor for this class.
61          *
62          *      @since          2.0
63          */
64         virtual ~X509CertificateSelector(void);
65
66         /**
67          *      Gets the certificate type.
68          *
69          *      @since          2.0
70          *
71          * @return  The certificate type
72          */
73         virtual CertificateType GetType(void) const;
74
75         /**
76          * Sets the certificate type.
77          *
78          *      @since          2.0
79          *
80          * @param[in]   certificateType         The certificate type
81          */
82         virtual void SetType(const CertificateType certificateType);
83
84 private:
85         X509CertificateSelector(const X509CertificateSelector& rhs);
86         X509CertificateSelector& operator =(const X509CertificateSelector& rhs);
87
88 private:
89         CertificateType __certType;
90
91         class _X509CertificateSelectorImpl* __pX509CertificateSelectorImpl;
92         friend class _X509CertificateSelectorImpl;
93
94 }; // X509CertificateSelector
95
96 } } } // Tizen::Security::Cert
97
98 #endif // _FSEC_CERT_X509_CERTIFICATE_SELECTOR_H_