1 /* |
1 /* |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
8 * |
8 * |
9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: |
14 * Description: Engine Implementation Header |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 #ifndef XAENGINE_H |
18 #ifndef XAENGINE_H |
19 #define XAENGINE_H |
19 #define XAENGINE_H |
20 |
20 |
21 #include "openmaxalwrapper.h" |
21 #include "openmaxalwrapper.h" |
27 #include "xaframeworkmgr.h" |
27 #include "xaframeworkmgr.h" |
28 #include "xacapabilitiesmgr.h" |
28 #include "xacapabilitiesmgr.h" |
29 |
29 |
30 /** MACROS **/ |
30 /** MACROS **/ |
31 |
31 |
32 |
|
33 /** TYPES **/ |
32 /** TYPES **/ |
34 |
|
35 |
33 |
36 /** ENUMERATIONS **/ |
34 /** ENUMERATIONS **/ |
37 /* Enumeration for interfaces that Engine supports. */ |
35 /* Enumeration for interfaces that Engine supports. */ |
38 typedef enum |
36 typedef enum |
39 { |
37 { |
40 ENGINE_OBJECTITF, |
38 ENGINE_OBJECTITF, |
41 ENGINE_ENGINEITF, |
39 ENGINE_ENGINEITF, |
42 ENGINE_DIMITF, |
40 ENGINE_DIMITF, |
43 ENGINE_THREADSYNCITF, |
41 ENGINE_THREADSYNCITF, |
44 /* |
42 /* |
45 ENGINE_CONFIGEXTENSIONSITF, |
43 ENGINE_CONFIGEXTENSIONSITF, |
46 ENGINE_DEVICEVOLUMEITF, |
44 ENGINE_DEVICEVOLUMEITF, |
47 */ |
45 */ |
48 ENGINE_AUDIOIODEVICECAPAITF, |
46 ENGINE_AUDIOIODEVICECAPAITF, |
49 /* ENGINE_AUDIODECODERCAPAITF,*/ |
47 /* ENGINE_AUDIODECODERCAPAITF,*/ |
50 ENGINE_AUDIOENCODERCAPAITF, |
48 ENGINE_AUDIOENCODERCAPAITF, |
51 /* |
49 /* |
52 ENGINE_CAMERACAPAITF, |
50 ENGINE_CAMERACAPAITF, |
53 ENGINE_IMAGEDECODERCAPAITF, |
51 ENGINE_IMAGEDECODERCAPAITF, |
54 ENGINE_IMAGEENCODERCAPAITF, |
52 ENGINE_IMAGEENCODERCAPAITF, |
55 ENGINE_VIDEODECODERCAPAITF, |
53 ENGINE_VIDEODECODERCAPAITF, |
56 ENGINE_VIDEOENCODERCAPAITF, |
54 ENGINE_VIDEOENCODERCAPAITF, |
57 */ |
55 */ |
58 ENGINE_ITFCOUNT |
56 ENGINE_ITFCOUNT |
59 } XAEngineInterfaces; |
57 } XAEngineInterfaces; |
60 |
58 |
61 /** STRUCTURES **/ |
59 /** STRUCTURES **/ |
62 /* Specification for XAEngineImpl. |
60 /* Specification for XAEngineImpl. |
63 */ |
61 */ |
64 typedef struct XAEngineImpl_ |
62 typedef struct XAEngineImpl_ |
65 { |
63 { |
66 /* Parent for XAEngineImpl */ |
64 /* Parent for XAEngineImpl */ |
67 XAObjectItfImpl baseObj; |
65 XAObjectItfImpl baseObj; |
68 |
66 |
69 /* engine variables */ |
67 /* engine variables */ |
70 XAboolean isThreadSafe; |
68 XAboolean isThreadSafe; |
71 |
69 |
72 //actual adpatation context can point to either MMF or GST implementations |
70 //actual adpatation context can point to either MMF or GST implementations |
73 FrameworkMap *frameworkMap; |
71 FrameworkMap *frameworkMap; |
74 XACapabilities* capabilities; |
72 XACapabilities* capabilities; |
75 |
73 |
76 /* void* adaptationGstCtx; |
74 /* void* adaptationGstCtx; |
77 void* adaptationMmfCtx;*/ |
75 void* adaptationMmfCtx;*/ |
78 } XAEngineImpl; |
76 } XAEngineImpl; |
79 |
77 |
80 /** METHODS **/ |
78 /** METHODS **/ |
81 |
79 |
82 /* base object XAObjectItfImpl methods */ |
80 /* base object XAObjectItfImpl methods */ |
83 XAresult XAEngineImpl_DoRealize(XAObjectItf self); |
81 XAresult XAEngineImpl_DoRealize(XAObjectItf self); |