khronosfws/openmax_al/src/engine/xaengineitf.h
changeset 25 6f7ceef7b1d1
parent 19 4a629bc82c5e
child 53 eabc8c503852
equal deleted inserted replaced
21:2ed61feeead6 25:6f7ceef7b1d1
     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 Interface Header
    15 *
    15  *
    16 */
    16  */
    17 
    17 
    18 #ifndef XAENGINEITF_H
    18 #ifndef XAENGINEITF_H
    19 #define XAENGINEITF_H
    19 #define XAENGINEITF_H
    20 
    20 
    21 #include "openmaxalwrapper.h"
    21 #include "openmaxalwrapper.h"
    29 /** ENUMERATIONS **/
    29 /** ENUMERATIONS **/
    30 
    30 
    31 /** STRUCTURES **/
    31 /** STRUCTURES **/
    32 /* Definition of XAEngineItf implementation */
    32 /* Definition of XAEngineItf implementation */
    33 typedef struct XAEngineItfImpl_
    33 typedef struct XAEngineItfImpl_
    34 {
    34     {
    35     /* parent interface */
    35     /* parent interface */
    36     struct XAEngineItf_ itf;
    36     struct XAEngineItf_ itf;
    37     /* pointer to self */
    37     /* pointer to self */
    38     struct XAEngineItfImpl_* self;
    38     struct XAEngineItfImpl_* self;
    39     /* variables */
    39     /* variables */
    40     /*Not Owned*/
    40     /*Not Owned*/
    41     struct FrameworkMap_* mapper;
    41     struct FrameworkMap_* mapper;
    42     /*Not Owned*/
    42     /*Not Owned*/
    43     struct XACapabilities_* capabilities;
    43     struct XACapabilities_* capabilities;
    44     
    44 
    45     int xyz;
    45     int xyz;
    46     
    46 
    47 } XAEngineItfImpl;
    47     } XAEngineItfImpl;
    48 
    48 
    49 /** METHODS **/
    49 /** METHODS **/
    50 
    50 
    51 /* Base interface XAEngineItf implementation */
    51 /* Base interface XAEngineItf implementation */
    52 XAresult XAEngineItfImpl_CreateCameraDevice(XAEngineItf self,
    52 XAresult XAEngineItfImpl_CreateCameraDevice(XAEngineItf self,
    53                                             XAObjectItf *pDevice,
    53         XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
    54                                             XAuint32 deviceID,
    54         const XAInterfaceID *pInterfaceIds,
    55                                             XAuint32 numInterfaces,
    55         const XAboolean *pInterfaceRequired);
    56                                             const XAInterfaceID *pInterfaceIds,
       
    57                                             const XAboolean *pInterfaceRequired);
       
    58 
    56 
    59 XAresult XAEngineItfImpl_CreateRadioDevice(XAEngineItf self,
    57 XAresult XAEngineItfImpl_CreateRadioDevice(XAEngineItf self,
    60                                            XAObjectItf *pDevice,
    58         XAObjectItf *pDevice, XAuint32 numInterfaces,
    61                                            XAuint32 numInterfaces,
    59         const XAInterfaceID *pInterfaceIds,
    62                                            const XAInterfaceID *pInterfaceIds,
    60         const XAboolean *pInterfaceRequired);
    63                                            const XAboolean *pInterfaceRequired);
       
    64 
       
    65 
    61 
    66 XAresult XAEngineItfImpl_CreateLEDDevice(XAEngineItf self,
    62 XAresult XAEngineItfImpl_CreateLEDDevice(XAEngineItf self,
    67                                          XAObjectItf *pDevice,
    63         XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
    68                                          XAuint32 deviceID,
    64         const XAInterfaceID *pInterfaceIds,
    69                                          XAuint32 numInterfaces,
    65         const XAboolean *pInterfaceRequired);
    70                                          const XAInterfaceID *pInterfaceIds,
       
    71                                          const XAboolean *pInterfaceRequired);
       
    72 
    66 
    73 XAresult XAEngineItfImpl_CreateVibraDevice(XAEngineItf self,
    67 XAresult XAEngineItfImpl_CreateVibraDevice(XAEngineItf self,
    74                                            XAObjectItf *pDevice,
    68         XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
    75                                            XAuint32 deviceID,
    69         const XAInterfaceID *pInterfaceIds,
    76                                            XAuint32 numInterfaces,
    70         const XAboolean *pInterfaceRequired);
    77                                            const XAInterfaceID *pInterfaceIds,
       
    78                                            const XAboolean *pInterfaceRequired);
       
    79 
    71 
    80 XAresult XAEngineItfImpl_CreateMediaPlayer(XAEngineItf self,
    72 XAresult XAEngineItfImpl_CreateMediaPlayer(XAEngineItf self,
    81                                            XAObjectItf *pPlayer,
    73         XAObjectItf *pPlayer, XADataSource *pDataSrc, XADataSource *pBankSrc,
    82                                            XADataSource *pDataSrc,
    74         XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
    83                                            XADataSource *pBankSrc,
    75         XADataSink *pVibra, XADataSink *pLEDArray, XAuint32 numInterfaces,
    84                                            XADataSink *pAudioSnk,
    76         const XAInterfaceID *pInterfaceIds,
    85                                            XADataSink *pImageVideoSnk,
    77         const XAboolean *pInterfaceRequired);
    86                                            XADataSink *pVibra,
       
    87                                            XADataSink *pLEDArray,
       
    88                                            XAuint32 numInterfaces,
       
    89                                            const XAInterfaceID *pInterfaceIds,
       
    90                                            const XAboolean *pInterfaceRequired);
       
    91 
    78 
    92 XAresult XAEngineItfImpl_CreateMediaRecorder(XAEngineItf self,
    79 XAresult XAEngineItfImpl_CreateMediaRecorder(XAEngineItf self,
    93                                              XAObjectItf *pRecorder,
    80         XAObjectItf *pRecorder, XADataSource *pAudioSrc,
    94                                              XADataSource *pAudioSrc,
    81         XADataSource *pImageVideoSrc, XADataSink *pDataSnk,
    95                                              XADataSource *pImageVideoSrc,
    82         XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
    96                                              XADataSink *pDataSnk,
    83         const XAboolean *pInterfaceRequired);
    97                                              XAuint32 numInterfaces,
       
    98                                              const XAInterfaceID *pInterfaceIds,
       
    99                                              const XAboolean *pInterfaceRequired);
       
   100 
    84 
   101 XAresult XAEngineItfImpl_CreateOutputMix(XAEngineItf self,
    85 XAresult XAEngineItfImpl_CreateOutputMix(XAEngineItf self, XAObjectItf *pMix,
   102                                          XAObjectItf *pMix,
    86         XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
   103                                          XAuint32 numInterfaces,
    87         const XAboolean *pInterfaceRequired);
   104                                          const XAInterfaceID *pInterfaceIds,
       
   105                                          const XAboolean *pInterfaceRequired);
       
   106 
    88 
   107 XAresult XAEngineItfImpl_CreateMetadataExtractor(XAEngineItf self,
    89 XAresult XAEngineItfImpl_CreateMetadataExtractor(XAEngineItf self,
   108                                                  XAObjectItf *pMetadataExtractor,
    90         XAObjectItf *pMetadataExtractor, XADataSource *pDataSource,
   109                                                  XADataSource *pDataSource,
    91         XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
   110                                                  XAuint32 numInterfaces,
    92         const XAboolean *pInterfaceRequired);
   111                                                  const XAInterfaceID *pInterfaceIds,
       
   112                                                  const XAboolean *pInterfaceRequired);
       
   113 
    93 
   114 XAresult XAEngineItfImpl_CreateExtensionObject(XAEngineItf self,
    94 XAresult XAEngineItfImpl_CreateExtensionObject(XAEngineItf self,
   115                                                XAObjectItf *pObject,
    95         XAObjectItf *pObject, void *pParameters, XAuint32 objectID,
   116                                                void *pParameters,
    96         XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
   117                                                XAuint32 objectID,
    97         const XAboolean *pInterfaceRequired);
   118                                                XAuint32 numInterfaces,
       
   119                                                const XAInterfaceID *pInterfaceIds,
       
   120                                                const XAboolean *pInterfaceRequired);
       
   121 
    98 
   122 XAresult XAEngineItfImpl_GetImplementationInfo(XAEngineItf self,
    99 XAresult XAEngineItfImpl_GetImplementationInfo(XAEngineItf self,
   123                                                XAuint32 *pMajor,
   100         XAuint32 *pMajor, XAuint32 *pMinor, XAuint32 *pStep,
   124                                                XAuint32 *pMinor,
   101         const XAchar *pImplementationText);
   125                                                XAuint32 *pStep,
       
   126                                                const XAchar *pImplementationText);
       
   127 
   102 
   128 XAresult XAEngineItfImpl_QuerySupportedProfiles(XAEngineItf self,
   103 XAresult XAEngineItfImpl_QuerySupportedProfiles(XAEngineItf self,
   129                                                 XAint16 *pProfilesSupported);
   104         XAint16 *pProfilesSupported);
   130 
   105 
   131 XAresult XAEngineItfImpl_QueryNumSupportedInterfaces(XAEngineItf self,
   106 XAresult XAEngineItfImpl_QueryNumSupportedInterfaces(XAEngineItf self,
   132                                                      XAuint32 objectID,
   107         XAuint32 objectID, XAuint32 *pNumSupportedInterfaces);
   133                                                      XAuint32 *pNumSupportedInterfaces);
       
   134 
   108 
   135 XAresult XAEngineItfImpl_QuerySupportedInterfaces(XAEngineItf self,
   109 XAresult XAEngineItfImpl_QuerySupportedInterfaces(XAEngineItf self,
   136                                                   XAuint32 objectID,
   110         XAuint32 objectID, XAuint32 index, XAInterfaceID *pInterfaceId);
   137                                                   XAuint32 index,
       
   138                                                   XAInterfaceID *pInterfaceId);
       
   139 
   111 
   140 XAresult XAEngineItfImpl_QueryLEDCapabilities(XAEngineItf self,
   112 XAresult XAEngineItfImpl_QueryLEDCapabilities(XAEngineItf self,
   141                                               XAuint32 *pIndex,
   113         XAuint32 *pIndex, XAuint32 *pLEDDeviceID,
   142                                               XAuint32 *pLEDDeviceID,
   114         XALEDDescriptor *pDescriptor);
   143                                               XALEDDescriptor *pDescriptor);
       
   144 
   115 
   145 XAresult XAEngineItfImpl_QueryVibraCapabilities(XAEngineItf self,
   116 XAresult XAEngineItfImpl_QueryVibraCapabilities(XAEngineItf self,
   146                                                 XAuint32 *pIndex,
   117         XAuint32 *pIndex, XAuint32 *pVibraDeviceID,
   147                                                 XAuint32 *pVibraDeviceID,
   118         XAVibraDescriptor *pDescriptor);
   148                                                 XAVibraDescriptor *pDescriptor);
       
   149 
   119 
   150 XAresult XAEngineItfImpl_QueryNumSupportedExtensions(XAEngineItf self,
   120 XAresult XAEngineItfImpl_QueryNumSupportedExtensions(XAEngineItf self,
   151                                                      XAuint32 *pNumExtensions);
   121         XAuint32 *pNumExtensions);
   152 
   122 
   153 XAresult XAEngineItfImpl_QuerySupportedExtension(XAEngineItf self,
   123 XAresult XAEngineItfImpl_QuerySupportedExtension(XAEngineItf self,
   154                                                  XAuint32 index,
   124         XAuint32 index, XAchar *pExtensionName, XAint16 *pNameLength);
   155                                                  XAchar *pExtensionName,
       
   156                                                  XAint16 *pNameLength);
       
   157 
   125 
   158 XAresult XAEngineItfImpl_IsExtensionSupported(XAEngineItf self,
   126 XAresult XAEngineItfImpl_IsExtensionSupported(XAEngineItf self,
   159                                               const XAchar *pExtensionName,
   127         const XAchar *pExtensionName, XAboolean *pSupported);
   160                                               XAboolean *pSupported);
       
   161 
   128 
   162 /* XAEngineItfImpl -specific methods */
   129 /* XAEngineItfImpl -specific methods */
   163 XAEngineItfImpl* XAEngineItfImpl_Create(FrameworkMap* fwkmapper, XACapabilities* capabilities);
   130 XAEngineItfImpl* XAEngineItfImpl_Create(FrameworkMap* fwkmapper,
       
   131         XACapabilities* capabilities);
   164 void XAEngineItfImpl_Free(XAEngineItfImpl *self);
   132 void XAEngineItfImpl_Free(XAEngineItfImpl *self);
   165 
   133 
   166 #endif /* XAENGINEITF_H */
   134 #endif /* XAENGINEITF_H */