Use default floor domain.
[platform/framework/native/security-service.git] / inc / CertificateServiceStub.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 #ifndef _CERTMGR_SERVICE_STUB_H_
18 #define _CERTMGR_SERVICE_STUB_H_
19
20 #include <FBaseByteBuffer.h>
21 #include <FBaseResult.h>
22 #include <FBaseObject.h>
23 #include <FBaseString.h>
24
25 #include "FIo_IIpcServerEventListener.h"
26 #include "FIo_IpcCommonParamTraits.h"
27 #include "FSecCert_CertTypes.h"
28
29 namespace Tizen { namespace Io
30 {
31 class _IpcServer;
32 } }
33
34 namespace Tizen { namespace Security { namespace Cert
35 {
36
37 class _OSP_EXPORT_ _CertServiceStub
38         : public Tizen::Io::_IIpcServerEventListener
39         , public Tizen::Base::Object
40 {
41 public:
42         _CertServiceStub(void);
43
44         virtual ~_CertServiceStub(void);
45
46 public:
47         // __IIPcServerEventListener interfaces
48         virtual result Construct(void);
49
50         virtual void OnIpcServerStarted(const Tizen::Io::_IpcServer& server);
51
52         virtual void OnIpcServerStopped(const Tizen::Io::_IpcServer& server);
53
54         virtual void OnIpcClientConnected(const Tizen::Io::_IpcServer& server, int clientId);
55
56         virtual void OnIpcClientDisconnected(const Tizen::Io::_IpcServer& server, int clientId);
57
58         virtual void OnIpcRequestReceived(Tizen::Io::_IpcServer& server, const IPC::Message& message);
59
60         //CertService handler method
61
62         bool OnGetName(result* pRet);
63
64         bool OnCloseCertificateStore(int certificateStoreCtx, result* pRet);
65
66         bool OnOpenCertificateStoreByType(int type, int* pCount, result* pRet);
67
68         bool OnGetCertificateCount(int type, int* pCertCount, result* pRet);
69
70         bool OnGetNextCertificate(int type, int curPos, int length, Tizen::Base::ByteBuffer* pCertBufferIpc, int* pNewPos, result* pRet);
71
72         bool OnUpdateRootCa(int type, Tizen::Io::_IpcBuffer certOldBufferIpc, Tizen::Io::_IpcBuffer certNewBufferIpc, result* pRet);
73
74         bool OnRemoveRootCa(int type, Tizen::Io::_IpcBuffer certBufferIpc, int bufLen, result* pRet);
75
76         bool OnUninstallUserRootCertificateByCertId(int certId, result* pRet);
77
78         bool OnInsertCaCertificate(int type, int format, Tizen::Io::_IpcBuffer certBuffer, long certLen, result* pRet);
79
80         bool OnInsertUserCaCertificate(int format, Tizen::Io::_IpcBuffer certBuffer, int certLen, result* pRet);
81
82         bool OnInstallUserRootCertificate(Tizen::Io::_IpcBuffer filePath, result* pRet);
83
84         bool OnInsertUserCertChainPrivateKey(Tizen::Io::_IpcBuffer certChainBufferIpc, int certSize, Tizen::Io::_IpcBuffer privateKeyBufferIpc, int userPriKeyLen, result* pRet);
85
86         bool OnInsertCertificateChainWithPrivateKey(Tizen::Io::_IpcBuffer certChainPrivateKeyBufferIpc, int certChainPrivateKeyLength, result* pRet);
87
88         bool OnInstallPkcs12Content(Tizen::Io::_IpcBuffer pkcs12FilePath, Tizen::Io::_IpcBuffer pkcs12ImportPassword, bool checkPrivilege, result* pRet);
89
90         bool OnDeleteUserCertChainByCertId(int certID, result* pRet);
91
92         bool OnGetUserCertChainByIssuerAndSubjectNameN(Tizen::Io::_IpcBuffer issuerBufferIpc, int issuerNameLen, Tizen::Io::_IpcBuffer subjectBufferIpc, int subNameLen, _CertificateListInfo* pCertList, result* pRet);
93
94         bool OnGetUserCertificateByCertIdN(int certId, int encodingType, _CertInfo* pUserCertificateList, result* pRet);
95
96         bool OnGetUserCertFieldInfoByCertId(int certId, _CertFieldInfos* pCertFieldInfos, result* pRet);
97         
98         bool OnRestoreRootCaIntegrity(void);
99
100         result UpdateCertStoreContext(void);
101
102 private:
103         _CertServiceStub(const _CertServiceStub& rhs);
104
105         _CertServiceStub& operator =(const _CertServiceStub& rhs);
106
107 private:
108         Tizen::Io::_IpcServer* __pIpcServer;
109         int __context;
110         int __refCount;
111 }; // _CertServiceStub
112
113 } } } // Tizen::Security::Cert
114
115 #endif // _CERTMGR_SERVICE_STUB_H_