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: |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 #ifndef XAOBJECTITF_H |
18 #ifndef XAOBJECTITF_H |
19 #define XAOBJECTITF_H |
19 #define XAOBJECTITF_H |
20 |
20 |
21 #include "openmaxalwrapper.h" |
21 #include "openmaxalwrapper.h" |
70 /* object-specific function implementation pointers */ |
70 /* object-specific function implementation pointers */ |
71 /* (must be implemented by every object) */ |
71 /* (must be implemented by every object) */ |
72 xaDoRealizeImpl DoRealizeImpl; |
72 xaDoRealizeImpl DoRealizeImpl; |
73 xaDoResumeImpl DoResumeImpl; |
73 xaDoResumeImpl DoResumeImpl; |
74 xaFreeResourcesImpl FreeResourcesImpl; |
74 xaFreeResourcesImpl FreeResourcesImpl; |
75 } XAObjectItfImpl; |
75 } XAObjectItfImpl; |
76 |
|
77 |
76 |
78 /** METHODS **/ |
77 /** METHODS **/ |
79 |
78 |
80 /* Base interface XAObjectItf implementation */ |
79 /* Base interface XAObjectItf implementation */ |
81 XAresult XAObjectItfImpl_Realize(XAObjectItf self, XAboolean async); |
80 XAresult XAObjectItfImpl_Realize(XAObjectItf self, XAboolean async); |
83 XAresult XAObjectItfImpl_Resume(XAObjectItf self, XAboolean async); |
82 XAresult XAObjectItfImpl_Resume(XAObjectItf self, XAboolean async); |
84 |
83 |
85 XAresult XAObjectItfImpl_GetState(XAObjectItf self, XAuint32 *pState); |
84 XAresult XAObjectItfImpl_GetState(XAObjectItf self, XAuint32 *pState); |
86 |
85 |
87 XAresult XAObjectItfImpl_GetInterface(XAObjectItf self, |
86 XAresult XAObjectItfImpl_GetInterface(XAObjectItf self, |
88 const XAInterfaceID iid, |
87 const XAInterfaceID iid, void *pInterface); |
89 void *pInterface); |
|
90 |
88 |
91 XAresult XAObjectItfImpl_RegisterCallback(XAObjectItf self, |
89 XAresult XAObjectItfImpl_RegisterCallback(XAObjectItf self, |
92 xaObjectCallback callback, |
90 xaObjectCallback callback, void *pContext); |
93 void *pContext); |
|
94 |
91 |
95 void XAObjectItfImpl_AbortAsyncOperation(XAObjectItf self); |
92 void XAObjectItfImpl_AbortAsyncOperation(XAObjectItf self); |
96 |
93 |
97 void XAObjectItfImpl_Destroy(XAObjectItf self); |
94 void XAObjectItfImpl_Destroy(XAObjectItf self); |
98 |
95 |
99 XAresult XAObjectItfImpl_SetPriority(XAObjectItf self, XAint32 priority, |
96 XAresult XAObjectItfImpl_SetPriority(XAObjectItf self, XAint32 priority, |
100 XAboolean preemptable); |
97 XAboolean preemptable); |
101 |
98 |
102 XAresult XAObjectItfImpl_GetPriority(XAObjectItf self, XAint32 *pPriority, |
99 XAresult XAObjectItfImpl_GetPriority(XAObjectItf self, XAint32 *pPriority, |
103 XAboolean *pPreemptable); |
100 XAboolean *pPreemptable); |
104 |
101 |
105 XAresult XAObjectItfImpl_SetLossOfControlInterfaces(XAObjectItf self, |
102 XAresult XAObjectItfImpl_SetLossOfControlInterfaces(XAObjectItf self, |
106 XAint16 numInterfaces, |
103 XAint16 numInterfaces, XAInterfaceID *pInterfaceIDs, |
107 XAInterfaceID *pInterfaceIDs, |
104 XAboolean enabled); |
108 XAboolean enabled); |
|
109 |
105 |
110 /* XAObjectItfImpl -specific methods */ |
106 /* XAObjectItfImpl -specific methods */ |
111 |
107 |
112 /* Allocate and initialize base object */ |
108 /* Allocate and initialize base object */ |
113 XAresult XAObjectItfImpl_Init(XAObjectItfImpl* self, |
109 XAresult XAObjectItfImpl_Init(XAObjectItfImpl* self, XAuint32 itfCount, |
114 XAuint32 itfCount, |
110 const XAInterfaceID** itfIIDs, xaDoRealizeImpl doRealizeImpl, |
115 const XAInterfaceID** itfIIDs, |
111 xaDoResumeImpl doResumeImpl, xaFreeResourcesImpl freeResourcesImpl); |
116 xaDoRealizeImpl doRealizeImpl, |
|
117 xaDoResumeImpl doResumeImpl, |
|
118 xaFreeResourcesImpl freeResourcesImpl); |
|
119 |
112 |
120 /* methods for asynchronous service */ |
113 /* methods for asynchronous service */ |
121 void* XAObjectItfImpl_AsyncRealize(void* args); |
114 void* XAObjectItfImpl_AsyncRealize(void* args); |
122 void* XAObjectItfImpl_AsyncResume(void* args); |
115 void* XAObjectItfImpl_AsyncResume(void* args); |
123 |
116 |
124 XAObjItfMapEntry* XAObjectItfImpl_GetItfEntry(const XAObjectItf self, |
117 XAObjItfMapEntry* XAObjectItfImpl_GetItfEntry(const XAObjectItf self, |
125 const XAInterfaceID iid); |
118 const XAInterfaceID iid); |
126 |
119 |
127 #endif /* XAOBJECTITF_H */ |
120 #endif /* XAOBJECTITF_H */ |