2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 #ifndef _CERTMGR_SERVICE_STUB_H_
19 #define _CERTMGR_SERVICE_STUB_H_
21 #include <FBaseByteBuffer.h>
22 #include <FBaseResult.h>
23 #include <FBaseObject.h>
24 #include <FBaseString.h>
26 #include "FIo_IIpcServerEventListener.h"
27 #include "FIo_IpcCommonParamTraits.h"
28 #include "FSecCert_CertTypes.h"
30 namespace Tizen { namespace Io
35 namespace Tizen { namespace Security { namespace Cert
38 class _OSP_EXPORT_ _CertServiceStub
39 : public Tizen::Io::_IIpcServerEventListener
40 , public Tizen::Base::Object
43 _CertServiceStub(void);
45 virtual ~_CertServiceStub(void);
48 // __IIPcServerEventListener interfaces
49 virtual result Construct(void);
51 virtual void OnIpcServerStarted(const Tizen::Io::_IpcServer& server);
53 virtual void OnIpcServerStopped(const Tizen::Io::_IpcServer& server);
55 virtual void OnIpcClientConnected(const Tizen::Io::_IpcServer& server, int clientId);
57 virtual void OnIpcClientDisconnected(const Tizen::Io::_IpcServer& server, int clientId);
59 virtual void OnIpcRequestReceived(Tizen::Io::_IpcServer& server, const IPC::Message& message);
61 //CertService handler method
63 bool OnGetName(result* pRet);
65 bool OnCloseCertificateStore(int certificateStoreCtx, result* pRet);
67 bool OnOpenCertificateStoreByType(int type, int* pCount, result* pRet);
69 bool OnGetCertificateCount(int type, int* pCertCount, result* pRet);
71 bool OnGetNextCertificate(int type, int curPos, int length, Tizen::Io::_IpcBuffer* pCertBufferIpc, int* pNewPos, result* pRet);
73 bool OnUpdateRootCa(int type, Tizen::Io::_IpcBuffer certOldBufferIpc, Tizen::Io::_IpcBuffer certNewBufferIpc, result* pRet);
75 bool OnRemoveRootCa(int type, Tizen::Io::_IpcBuffer certBufferIpc, int bufLen, result* pRet);
77 bool OnUninstallUserRootCertificateByCertId(int certId, result* pRet);
79 bool OnInsertCaCertificate(int type, int format, Tizen::Io::_IpcBuffer certBuffer, long certLen, result* pRet);
81 bool OnInsertUserCaCertificate(int format, Tizen::Io::_IpcBuffer certBuffer, int certLen, result* pRet);
83 bool OnInstallUserRootCertificate(Tizen::Io::_IpcBuffer filePath, result* pRet);
85 bool OnInsertUserCertChainPrivateKey(Tizen::Io::_IpcBuffer certChainBufferIpc, int certSize, Tizen::Io::_IpcBuffer privateKeyBufferIpc, int userPriKeyLen, result* pRet);
87 bool OnInsertCertificateChainWithPrivateKey(Tizen::Io::_IpcBuffer certChainPrivateKeyBufferIpc, int certChainPrivateKeyLength, result* pRet);
89 bool OnInstallPkcs12Content(Tizen::Io::_IpcBuffer pkcs12FilePath, Tizen::Io::_IpcBuffer pkcs12ImportPassword, bool checkPrivilege, result* pRet);
91 bool OnDeleteUserCertChainByCertId(int certID, result* pRet);
93 bool OnGetUserCertChainByIssuerAndSubjectNameN(Tizen::Io::_IpcBuffer issuerBufferIpc, int issuerNameLen, Tizen::Io::_IpcBuffer subjectBufferIpc, int subNameLen, _CertificateListInfo* pCertList, result* pRet);
95 bool OnGetUserCertificateByCertIdN(int certId, int encodingType, _CertInfo* pUserCertificateList, result* pRet);
97 bool OnGetUserCertFieldInfoByCertId(int certId, _CertFieldInfos* pCertFieldInfos, result* pRet);
99 result UpdateCertStoreContext(int type);
102 _CertServiceStub(const _CertServiceStub& rhs);
104 _CertServiceStub& operator =(const _CertServiceStub& rhs);
107 Tizen::Io::_IpcServer* __pIpcServer;
108 int __context[_MAX_CERT_TYPE_COUNT];
109 int __refCount[_MAX_CERT_TYPE_COUNT];
110 }; // _CertServiceStub
112 } } } // Tizen::Security::Cert
114 #endif // _CERTMGR_SERVICE_STUB_H_