Initialize Tizen 2.3
[framework/osp/security-service.git] / inc / DrmService.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 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                DrmService.h
20  * @brief               This is the header file of the DRM Service.
21  */
22
23 #ifndef _DRM_SERVICE_H_
24 #define _DRM_SERVICE_H_
25
26 #include <FIo.h>
27 #include <DrmServiceDl.h>
28
29 #define DRM_SERVICE "TIZEN_DRM_SERVICE"
30
31 namespace Tizen { namespace Base
32 {
33         class String;
34 }}
35
36 namespace Tizen { namespace Io
37 {
38         class IMessagePortListener;
39 }}
40
41 namespace Tizen { namespace Io
42 {
43         class RemoteMessagePort;
44 }}
45
46 namespace Tizen { namespace Io
47 {
48         class LocalMessagePort;
49 }}
50
51 namespace Tizen { namespace Base { namespace Collection
52 {
53         class IMap;
54 }}}
55
56 class DrmService
57         : public Tizen::Io::IMessagePortListener
58 {
59 public :
60         static DrmService* GetInstance();
61         static void FreeInstance(void);
62         virtual void OnMessageReceivedN(Tizen::Io::RemoteMessagePort* pRemoteMessagePort, Tizen::Base::Collection::IMap* pMessage);
63
64 private :
65         DrmService(void);
66         ~DrmService(void);
67
68         result Construct(void);
69         int DrmDlCall(void);
70
71         static DrmService *m_pInstance;
72         void *m_sapps_handle;
73         drm_sapps_func_t m_sapps_symbol;
74         bool m_isdlopened;
75
76         Tizen::Io::LocalMessagePort* __pLocalMessagePort;
77 };
78
79 #endif // _SAMPLE_MESSAGE_PORT_H_