khronosfws/openmax_al/src/engine/xaengineitf.c
author hgs
Tue, 21 Sep 2010 11:38:43 -0500
changeset 53 eabc8c503852
parent 43 9894ed580e4a
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
25
hgs
parents: 21
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents: 21
diff changeset
     3
 * All rights reserved.
hgs
parents: 21
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents: 21
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
hgs
parents: 21
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents: 21
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents: 21
diff changeset
     8
 *
hgs
parents: 21
diff changeset
     9
 * Initial Contributors:
hgs
parents: 21
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents: 21
diff changeset
    11
 *
hgs
parents: 21
diff changeset
    12
 * Contributors:
hgs
parents: 21
diff changeset
    13
 *
hgs
parents: 21
diff changeset
    14
 * Description: Engine Interface Implementation
hgs
parents: 21
diff changeset
    15
 *
hgs
parents: 21
diff changeset
    16
 */
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include <stdio.h>
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include <stdlib.h>
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include "xaengineitf.h"
19
hgs
parents: 12
diff changeset
    21
#include "xaobjects.h"
hgs
parents: 12
diff changeset
    22
#include "xacapabilitiesmgr.h"
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
/*static XAchar implementationText[] = "Implementation does not conform to AL Spec";*/
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
19
hgs
parents: 12
diff changeset
    25
/**
hgs
parents: 12
diff changeset
    26
 * XAEngineItfImpl* GetImpl(XAEngineItf self)
hgs
parents: 12
diff changeset
    27
 * Description: Validate interface pointer and cast it to implementation pointer.
hgs
parents: 12
diff changeset
    28
 **/
hgs
parents: 12
diff changeset
    29
static XAEngineItfImpl* GetImpl(XAEngineItf self)
hgs
parents: 12
diff changeset
    30
    {
25
hgs
parents: 21
diff changeset
    31
    if (self)
19
hgs
parents: 12
diff changeset
    32
        {
25
hgs
parents: 21
diff changeset
    33
        XAEngineItfImpl* impl = (XAEngineItfImpl*) (*self);
hgs
parents: 21
diff changeset
    34
        if (impl && (impl == impl->self))
hgs
parents: 21
diff changeset
    35
            {
19
hgs
parents: 12
diff changeset
    36
            return impl;
25
hgs
parents: 21
diff changeset
    37
            }
19
hgs
parents: 12
diff changeset
    38
        }
25
hgs
parents: 21
diff changeset
    39
    return NULL;
19
hgs
parents: 12
diff changeset
    40
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
/**
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
 * Base interface XAEngineItf implementation
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
 */
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
XAresult XAEngineItfImpl_CreateCameraDevice(XAEngineItf self,
25
hgs
parents: 21
diff changeset
    45
        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
hgs
parents: 21
diff changeset
    46
        const XAInterfaceID *pInterfaceIds,
hgs
parents: 21
diff changeset
    47
        const XAboolean *pInterfaceRequired)
hgs
parents: 21
diff changeset
    48
    {
21
hgs
parents: 19
diff changeset
    49
    return XA_RESULT_FEATURE_UNSUPPORTED;
25
hgs
parents: 21
diff changeset
    50
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
XAresult XAEngineItfImpl_CreateRadioDevice(XAEngineItf self,
25
hgs
parents: 21
diff changeset
    53
        XAObjectItf *pDevice, XAuint32 numInterfaces,
hgs
parents: 21
diff changeset
    54
        const XAInterfaceID *pInterfaceIds,
hgs
parents: 21
diff changeset
    55
        const XAboolean *pInterfaceRequired)
hgs
parents: 21
diff changeset
    56
    {
53
hgs
parents: 43
diff changeset
    57
    return XARadioDeviceImpl_CreateRadioDevice(
25
hgs
parents: 21
diff changeset
    58
    pDevice, numInterfaces, pInterfaceIds, pInterfaceRequired);
hgs
parents: 21
diff changeset
    59
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
XAresult XAEngineItfImpl_CreateLEDDevice(XAEngineItf self,
25
hgs
parents: 21
diff changeset
    62
        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
hgs
parents: 21
diff changeset
    63
        const XAInterfaceID *pInterfaceIds,
hgs
parents: 21
diff changeset
    64
        const XAboolean *pInterfaceRequired)
hgs
parents: 21
diff changeset
    65
    {
33
hgs
parents: 25
diff changeset
    66
    return XA_RESULT_FEATURE_UNSUPPORTED;
25
hgs
parents: 21
diff changeset
    67
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
XAresult XAEngineItfImpl_CreateVibraDevice(XAEngineItf self,
25
hgs
parents: 21
diff changeset
    70
        XAObjectItf *pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
hgs
parents: 21
diff changeset
    71
        const XAInterfaceID *pInterfaceIds,
hgs
parents: 21
diff changeset
    72
        const XAboolean *pInterfaceRequired)
hgs
parents: 21
diff changeset
    73
    {
33
hgs
parents: 25
diff changeset
    74
    return XA_RESULT_FEATURE_UNSUPPORTED;
25
hgs
parents: 21
diff changeset
    75
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
XAresult XAEngineItfImpl_CreateMediaPlayer(XAEngineItf self,
25
hgs
parents: 21
diff changeset
    78
        XAObjectItf *pPlayer, XADataSource *pDataSrc, XADataSource *pBankSrc,
hgs
parents: 21
diff changeset
    79
        XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
hgs
parents: 21
diff changeset
    80
        XADataSink *pVibra, XADataSink *pLEDArray, XAuint32 numInterfaces,
hgs
parents: 21
diff changeset
    81
        const XAInterfaceID *pInterfaceIds,
hgs
parents: 21
diff changeset
    82
        const XAboolean *pInterfaceRequired)
hgs
parents: 21
diff changeset
    83
    {
19
hgs
parents: 12
diff changeset
    84
    XAEngineItfImpl* impl = GetImpl(self);
53
hgs
parents: 43
diff changeset
    85
    if (!impl )
hgs
parents: 43
diff changeset
    86
        {
hgs
parents: 43
diff changeset
    87
        /* invalid parameter */
hgs
parents: 43
diff changeset
    88
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
hgs
parents: 43
diff changeset
    89
        DEBUG_API("<-XAEngineItfImpl_CreateMediaPlayer");
hgs
parents: 43
diff changeset
    90
        return XA_RESULT_PARAMETER_INVALID;
hgs
parents: 43
diff changeset
    91
        }    
25
hgs
parents: 21
diff changeset
    92
    return XAMediaPlayerImpl_CreateMediaPlayer(impl->mapper,
hgs
parents: 21
diff changeset
    93
            impl->capabilities, pPlayer, pDataSrc, pBankSrc, pAudioSnk,
hgs
parents: 21
diff changeset
    94
            pImageVideoSnk, pVibra, pLEDArray, numInterfaces, pInterfaceIds,
hgs
parents: 21
diff changeset
    95
            pInterfaceRequired);
hgs
parents: 21
diff changeset
    96
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
XAresult XAEngineItfImpl_CreateMediaRecorder(XAEngineItf self,
25
hgs
parents: 21
diff changeset
    99
        XAObjectItf * pRecorder, XADataSource * pAudioSrc,
hgs
parents: 21
diff changeset
   100
        XADataSource * pImageVideoSrc, XADataSink * pDataSnk,
hgs
parents: 21
diff changeset
   101
        XAuint32 numInterfaces, const XAInterfaceID * pInterfaceIds,
hgs
parents: 21
diff changeset
   102
        const XAboolean * pInterfaceRequired)
hgs
parents: 21
diff changeset
   103
    {
19
hgs
parents: 12
diff changeset
   104
    XAEngineItfImpl* impl = GetImpl(self);
53
hgs
parents: 43
diff changeset
   105
    if (!impl )
hgs
parents: 43
diff changeset
   106
        {
hgs
parents: 43
diff changeset
   107
        /* invalid parameter */
hgs
parents: 43
diff changeset
   108
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
hgs
parents: 43
diff changeset
   109
        DEBUG_API("<-XAEngineItfImpl_CreateMediaRecorder");
hgs
parents: 43
diff changeset
   110
        return XA_RESULT_PARAMETER_INVALID;
hgs
parents: 43
diff changeset
   111
        }    
hgs
parents: 43
diff changeset
   112
19
hgs
parents: 12
diff changeset
   113
    return XAMediaRecorderImpl_CreateMediaRecorder(impl->mapper,
25
hgs
parents: 21
diff changeset
   114
            impl->capabilities, pRecorder, pAudioSrc, pImageVideoSrc,
hgs
parents: 21
diff changeset
   115
            pDataSnk, numInterfaces, pInterfaceIds, pInterfaceRequired);
hgs
parents: 21
diff changeset
   116
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   117
25
hgs
parents: 21
diff changeset
   118
XAresult XAEngineItfImpl_CreateOutputMix(XAEngineItf self, XAObjectItf *pMix,
hgs
parents: 21
diff changeset
   119
        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
hgs
parents: 21
diff changeset
   120
        const XAboolean *pInterfaceRequired)
hgs
parents: 21
diff changeset
   121
    {
33
hgs
parents: 25
diff changeset
   122
    return XA_RESULT_FEATURE_UNSUPPORTED;
25
hgs
parents: 21
diff changeset
   123
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
XAresult XAEngineItfImpl_CreateMetadataExtractor(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   126
        XAObjectItf *pMetadataExtractor, XADataSource *pDataSource,
hgs
parents: 21
diff changeset
   127
        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
hgs
parents: 21
diff changeset
   128
        const XAboolean *pInterfaceRequired)
hgs
parents: 21
diff changeset
   129
    {
19
hgs
parents: 12
diff changeset
   130
    XAEngineItfImpl* impl = GetImpl(self);
53
hgs
parents: 43
diff changeset
   131
    if (!impl )
hgs
parents: 43
diff changeset
   132
        {
hgs
parents: 43
diff changeset
   133
        /* invalid parameter */
hgs
parents: 43
diff changeset
   134
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
hgs
parents: 43
diff changeset
   135
        DEBUG_API("<-XAEngineItfImpl_CreateMetadataExtractor");
hgs
parents: 43
diff changeset
   136
        return XA_RESULT_PARAMETER_INVALID;
hgs
parents: 43
diff changeset
   137
        }
19
hgs
parents: 12
diff changeset
   138
    return XAMetadataExtractorImpl_Create(impl->mapper, impl->capabilities,
25
hgs
parents: 21
diff changeset
   139
            pMetadataExtractor, pDataSource, numInterfaces, pInterfaceIds,
hgs
parents: 21
diff changeset
   140
            pInterfaceRequired);
hgs
parents: 21
diff changeset
   141
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
XAresult XAEngineItfImpl_CreateExtensionObject(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   144
        XAObjectItf *pObject, void *pParameters, XAuint32 objectID,
hgs
parents: 21
diff changeset
   145
        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
hgs
parents: 21
diff changeset
   146
        const XAboolean *pInterfaceRequired)
hgs
parents: 21
diff changeset
   147
    {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
    DEBUG_API("->XAEngineItfImpl_CreateExtensionObject");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
    /* no supported extensions */
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
    DEBUG_API("<-XAEngineItfImpl_CreateExtensionObject - XA_RESULT_FEATURE_UNSUPPORTED");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
    return XA_RESULT_FEATURE_UNSUPPORTED;
25
hgs
parents: 21
diff changeset
   152
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
XAresult XAEngineItfImpl_GetImplementationInfo(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   155
        XAuint32 *pMajor, XAuint32 *pMinor, XAuint32 *pStep,
hgs
parents: 21
diff changeset
   156
        const XAchar *pImplementationText)
hgs
parents: 21
diff changeset
   157
    {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
    DEBUG_API("->XAEngineItfImpl_GetImplementationInfo");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
25
hgs
parents: 21
diff changeset
   160
    if (!pMajor || !pMinor || !pStep)
hgs
parents: 21
diff changeset
   161
        {
33
hgs
parents: 25
diff changeset
   162
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
hgs
parents: 25
diff changeset
   163
        DEBUG_API("<-XAEngineItfImpl_GetImplementationInfo");
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
        return XA_RESULT_PARAMETER_INVALID;
25
hgs
parents: 21
diff changeset
   165
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
    /* OpenMAX AL API ver 1.0.1 */
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
    *pMajor = 1;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
    *pMinor = 0;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
    *pStep = 1;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
    /*pImplementationText = (XAchar *) implementationText;*/
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
    DEBUG_API("<-XAEngineItfImpl_GetImplementationInfo");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
    return XA_RESULT_SUCCESS;
25
hgs
parents: 21
diff changeset
   174
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
XAresult XAEngineItfImpl_QuerySupportedProfiles(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   177
        XAint16 *pProfilesSupported)
hgs
parents: 21
diff changeset
   178
    {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    DEBUG_API("->XAEngineItfImpl_QuerySupportedProfiles");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
25
hgs
parents: 21
diff changeset
   181
    if (!pProfilesSupported)
hgs
parents: 21
diff changeset
   182
        {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
        DEBUG_API("<-XAEngineItfImpl_QuerySupportedProfiles");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
        return XA_RESULT_PARAMETER_INVALID;
25
hgs
parents: 21
diff changeset
   186
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
    /* NOTE: enable +MIDI when/if XMF issues solved
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
     *        XA_PROFILES_MEDIA_PLAYER |
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
     *        XA_PROFILES_MEDIA_PLAYER_RECORDER |
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
     *        XA_PROFILES_PLUS_MIDI;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
     */
25
hgs
parents: 21
diff changeset
   192
    *pProfilesSupported = XA_PROFILES_MEDIA_PLAYER
hgs
parents: 21
diff changeset
   193
            | XA_PROFILES_MEDIA_PLAYER_RECORDER;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
    DEBUG_API("<-XAEngineItfImpl_QuerySupportedProfiles");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
    return XA_RESULT_SUCCESS;
25
hgs
parents: 21
diff changeset
   197
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
XAresult XAEngineItfImpl_QueryNumSupportedInterfaces(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   200
        XAuint32 objectID, XAuint32 *pNumSupportedInterfaces)
hgs
parents: 21
diff changeset
   201
    {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    XAresult res = XA_RESULT_SUCCESS;
53
hgs
parents: 43
diff changeset
   203
    XAEngineItfImpl* impl = GetImpl(self);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
    DEBUG_API("->XAEngineItfImpl_QueryNumSupportedInterfaces");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
53
hgs
parents: 43
diff changeset
   206
    if (!impl || !pNumSupportedInterfaces)
25
hgs
parents: 21
diff changeset
   207
        {
33
hgs
parents: 25
diff changeset
   208
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
hgs
parents: 25
diff changeset
   209
        DEBUG_API("<-XAEngineItfImpl_QueryNumSupportedInterfaces");
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
        return XA_RESULT_PARAMETER_INVALID;
25
hgs
parents: 21
diff changeset
   211
        }
53
hgs
parents: 43
diff changeset
   212
    
25
hgs
parents: 21
diff changeset
   213
    *pNumSupportedInterfaces = 0;
hgs
parents: 21
diff changeset
   214
    switch (objectID)
hgs
parents: 21
diff changeset
   215
        {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
        case XA_OBJECTID_ENGINE:
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
            res = XAEngineImpl_QueryNumSupportedInterfaces(
25
hgs
parents: 21
diff changeset
   218
                    pNumSupportedInterfaces);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
        case XA_OBJECTID_MEDIAPLAYER:
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
            res = XAMediaPlayerImpl_QueryNumSupportedInterfaces(
25
hgs
parents: 21
diff changeset
   222
                    pNumSupportedInterfaces);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
        case XA_OBJECTID_MEDIARECORDER:
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
            res = XAMediaRecorderImpl_QueryNumSupportedInterfaces(
25
hgs
parents: 21
diff changeset
   226
                    pNumSupportedInterfaces);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
        case XA_OBJECTID_RADIODEVICE:
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
            res = XARadioDeviceImpl_QueryNumSupportedInterfaces(
25
hgs
parents: 21
diff changeset
   230
                    pNumSupportedInterfaces);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
        case XA_OBJECTID_METADATAEXTRACTOR:
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
            res = XAMetadataExtractorImpl_QueryNumSupportedInterfaces(
25
hgs
parents: 21
diff changeset
   234
                    pNumSupportedInterfaces);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
        default:
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
            res = XA_RESULT_FEATURE_UNSUPPORTED;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
            break;
25
hgs
parents: 21
diff changeset
   239
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
    DEBUG_API_A1("<-XAEngineItfImpl_QueryNumSupportedInterfaces %lu",res);
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
    return res;
25
hgs
parents: 21
diff changeset
   243
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
XAresult XAEngineItfImpl_QuerySupportedInterfaces(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   246
        XAuint32 objectID, XAuint32 index, XAInterfaceID *pInterfaceId)
hgs
parents: 21
diff changeset
   247
    {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
    XAresult res = XA_RESULT_SUCCESS;
53
hgs
parents: 43
diff changeset
   249
    XAEngineItfImpl* impl = GetImpl(self);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
    DEBUG_API("->XAEngineItfImpl_QuerySupportedInterfaces");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
53
hgs
parents: 43
diff changeset
   252
    if (!impl || !pInterfaceId)
25
hgs
parents: 21
diff changeset
   253
        {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
        DEBUG_API("<-XAEngineItfImpl_QuerySupportedInterfaces");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
        return XA_RESULT_PARAMETER_INVALID;
25
hgs
parents: 21
diff changeset
   257
        }
53
hgs
parents: 43
diff changeset
   258
    
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
    *pInterfaceId = XA_IID_NULL;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
    switch (objectID)
25
hgs
parents: 21
diff changeset
   261
        {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
        case XA_OBJECTID_ENGINE:
25
hgs
parents: 21
diff changeset
   263
            res = XAEngineImpl_QuerySupportedInterfaces(index, pInterfaceId);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
        case XA_OBJECTID_MEDIAPLAYER:
25
hgs
parents: 21
diff changeset
   266
            res = XAMediaPlayerImpl_QuerySupportedInterfaces(index,
hgs
parents: 21
diff changeset
   267
                    pInterfaceId);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
        case XA_OBJECTID_MEDIARECORDER:
25
hgs
parents: 21
diff changeset
   270
            res = XAMediaRecorderImpl_QuerySupportedInterfaces(index,
hgs
parents: 21
diff changeset
   271
                    pInterfaceId);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
        case XA_OBJECTID_RADIODEVICE:
25
hgs
parents: 21
diff changeset
   274
            res = XARadioDeviceImpl_QuerySupportedInterfaces(index,
hgs
parents: 21
diff changeset
   275
                    pInterfaceId);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
        case XA_OBJECTID_METADATAEXTRACTOR:
25
hgs
parents: 21
diff changeset
   278
            res = XAMetadataExtractorImpl_QuerySupportedInterfaces(index,
hgs
parents: 21
diff changeset
   279
                    pInterfaceId);
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
            break;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
        default:
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
            res = XA_RESULT_FEATURE_UNSUPPORTED;
53
hgs
parents: 43
diff changeset
   283
            break;
25
hgs
parents: 21
diff changeset
   284
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
    DEBUG_API_A1("<-XAEngineItfImpl_QuerySupportedInterfaces %lu", res);
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
    return res;
25
hgs
parents: 21
diff changeset
   288
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
XAresult XAEngineItfImpl_QueryLEDCapabilities(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   291
        XAuint32 *pIndex, XAuint32 *pLEDDeviceID,
hgs
parents: 21
diff changeset
   292
        XALEDDescriptor *pDescriptor)
hgs
parents: 21
diff changeset
   293
    {
33
hgs
parents: 25
diff changeset
   294
    XAresult res = XA_RESULT_SUCCESS;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
    DEBUG_API("->XAEngineItfImpl_QueryLEDCapabilities");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
25
hgs
parents: 21
diff changeset
   297
    if (!pDescriptor)
hgs
parents: 21
diff changeset
   298
        { /*query number of devices*/
hgs
parents: 21
diff changeset
   299
        if (!pIndex)
hgs
parents: 21
diff changeset
   300
            {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
            DEBUG_API("<-XAEngineItfImpl_QueryLEDCapabilities");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
            return XA_RESULT_PARAMETER_INVALID;
25
hgs
parents: 21
diff changeset
   304
            }
33
hgs
parents: 25
diff changeset
   305
        else
hgs
parents: 25
diff changeset
   306
            {
hgs
parents: 25
diff changeset
   307
            /* Number of devices */
hgs
parents: 25
diff changeset
   308
            *pIndex = 0;
hgs
parents: 25
diff changeset
   309
            }
25
hgs
parents: 21
diff changeset
   310
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
    else
25
hgs
parents: 21
diff changeset
   312
        {
33
hgs
parents: 25
diff changeset
   313
        // return NotSupported below
hgs
parents: 25
diff changeset
   314
        res = XA_RESULT_FEATURE_UNSUPPORTED;
hgs
parents: 25
diff changeset
   315
        }
hgs
parents: 25
diff changeset
   316
    DEBUG_API("<-XAEngineItfImpl_QueryLEDCapabilities");
hgs
parents: 25
diff changeset
   317
    return res;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
    }
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
XAresult XAEngineItfImpl_QueryVibraCapabilities(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   321
        XAuint32 *pIndex, XAuint32 *pVibraDeviceID,
hgs
parents: 21
diff changeset
   322
        XAVibraDescriptor *pDescriptor)
hgs
parents: 21
diff changeset
   323
    {
33
hgs
parents: 25
diff changeset
   324
    XAresult res = XA_RESULT_SUCCESS;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   325
    DEBUG_API("->XAEngineItfImpl_QueryVibraCapabilities");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   326
25
hgs
parents: 21
diff changeset
   327
    if (!pDescriptor)
hgs
parents: 21
diff changeset
   328
        { /*query number of devices*/
hgs
parents: 21
diff changeset
   329
        if (!pIndex)
hgs
parents: 21
diff changeset
   330
            {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
            DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
            DEBUG_API("<-XAEngineItfImpl_QueryVibraCapabilities");
33
hgs
parents: 25
diff changeset
   333
            res = XA_RESULT_PARAMETER_INVALID;
25
hgs
parents: 21
diff changeset
   334
            }
33
hgs
parents: 25
diff changeset
   335
        else
hgs
parents: 25
diff changeset
   336
            {
hgs
parents: 25
diff changeset
   337
            /* Number of devices */
hgs
parents: 25
diff changeset
   338
            *pIndex = 0;
hgs
parents: 25
diff changeset
   339
            }
25
hgs
parents: 21
diff changeset
   340
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
    else
25
hgs
parents: 21
diff changeset
   342
        {
33
hgs
parents: 25
diff changeset
   343
        // return NotSupported below
hgs
parents: 25
diff changeset
   344
        res = XA_RESULT_FEATURE_UNSUPPORTED;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
        }
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
    DEBUG_API("<-XAEngineItfImpl_QueryVibraCapabilities");
33
hgs
parents: 25
diff changeset
   348
    return res;
25
hgs
parents: 21
diff changeset
   349
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
XAresult XAEngineItfImpl_QueryNumSupportedExtensions(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   352
        XAuint32 *pNumExtensions)
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
    {
25
hgs
parents: 21
diff changeset
   354
    DEBUG_API("->XAEngineItfImpl_QuerySupportedExtension");
hgs
parents: 21
diff changeset
   355
    if (pNumExtensions == NULL)
hgs
parents: 21
diff changeset
   356
        {
hgs
parents: 21
diff changeset
   357
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
hgs
parents: 21
diff changeset
   358
        DEBUG_API("<-XAEngineItfImpl_QuerySupportedExtension");
hgs
parents: 21
diff changeset
   359
        return XA_RESULT_PARAMETER_INVALID;
hgs
parents: 21
diff changeset
   360
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
    /* no supported extensions */
25
hgs
parents: 21
diff changeset
   362
    *pNumExtensions = 0;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
    DEBUG_API("<-XAEngineItfImpl_QuerySupportedExtension");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
    return XA_RESULT_SUCCESS;
25
hgs
parents: 21
diff changeset
   365
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
XAresult XAEngineItfImpl_QuerySupportedExtension(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   368
        XAuint32 index, XAchar *pExtensionName, XAint16 *pNameLength)
hgs
parents: 21
diff changeset
   369
    {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
    DEBUG_API("->XAEngineItfImpl_QuerySupportedExtension");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
    /* no supported extensions => index is always wrong */
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
    DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
    DEBUG_API("<-XAEngineItfImpl_QuerySupportedExtension");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
    return XA_RESULT_PARAMETER_INVALID;
25
hgs
parents: 21
diff changeset
   375
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
XAresult XAEngineItfImpl_IsExtensionSupported(XAEngineItf self,
25
hgs
parents: 21
diff changeset
   378
        const XAchar *pExtensionName, XAboolean *pSupported)
hgs
parents: 21
diff changeset
   379
    {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
    DEBUG_API("->XAEngineItfImpl_IsExtensionSupported");
25
hgs
parents: 21
diff changeset
   381
    if (pSupported == NULL)
hgs
parents: 21
diff changeset
   382
        {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
        DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
        DEBUG_API("<-XAEngineItfImpl_IsExtensionSupported");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
        return XA_RESULT_PARAMETER_INVALID;
25
hgs
parents: 21
diff changeset
   386
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
    /* no supported extensions */
25
hgs
parents: 21
diff changeset
   388
    *pSupported = XA_BOOLEAN_FALSE;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
    DEBUG_API("<-XAEngineItfImpl_IsExtensionSupported");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
    return XA_RESULT_SUCCESS;
25
hgs
parents: 21
diff changeset
   391
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
/**
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
 * XAEngineItfImpl -specific methods
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
 **/
25
hgs
parents: 21
diff changeset
   396
XAEngineItfImpl* XAEngineItfImpl_Create(FrameworkMap* fwkmapper,
hgs
parents: 21
diff changeset
   397
        XACapabilities* capabilities)
hgs
parents: 21
diff changeset
   398
    {
hgs
parents: 21
diff changeset
   399
    XAEngineItfImpl* self = (XAEngineItfImpl*) calloc(1,
hgs
parents: 21
diff changeset
   400
            sizeof(XAEngineItfImpl));
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
    DEBUG_API("->XAEngineItfImpl_Create");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
25
hgs
parents: 21
diff changeset
   403
    if (self)
hgs
parents: 21
diff changeset
   404
        {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
        /* init itf default implementation */
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
        self->itf.CreateCameraDevice = XAEngineItfImpl_CreateCameraDevice;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
        self->itf.CreateRadioDevice = XAEngineItfImpl_CreateRadioDevice;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
        self->itf.CreateLEDDevice = XAEngineItfImpl_CreateLEDDevice;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
        self->itf.CreateVibraDevice = XAEngineItfImpl_CreateVibraDevice;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
        self->itf.CreateMediaPlayer = XAEngineItfImpl_CreateMediaPlayer;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
        self->itf.CreateMediaRecorder = XAEngineItfImpl_CreateMediaRecorder;
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
        self->itf.CreateOutputMix = XAEngineItfImpl_CreateOutputMix;
25
hgs
parents: 21
diff changeset
   413
        self->itf.CreateMetadataExtractor
hgs
parents: 21
diff changeset
   414
                = XAEngineItfImpl_CreateMetadataExtractor;
hgs
parents: 21
diff changeset
   415
        self->itf.CreateExtensionObject
hgs
parents: 21
diff changeset
   416
                = XAEngineItfImpl_CreateExtensionObject;
hgs
parents: 21
diff changeset
   417
        self->itf.GetImplementationInfo
hgs
parents: 21
diff changeset
   418
                = XAEngineItfImpl_GetImplementationInfo;
hgs
parents: 21
diff changeset
   419
        self->itf.QuerySupportedProfiles
hgs
parents: 21
diff changeset
   420
                = XAEngineItfImpl_QuerySupportedProfiles;
hgs
parents: 21
diff changeset
   421
        self->itf.QueryNumSupportedInterfaces
hgs
parents: 21
diff changeset
   422
                = XAEngineItfImpl_QueryNumSupportedInterfaces;
hgs
parents: 21
diff changeset
   423
        self->itf.QuerySupportedInterfaces
hgs
parents: 21
diff changeset
   424
                = XAEngineItfImpl_QuerySupportedInterfaces;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   425
        self->itf.QueryLEDCapabilities = XAEngineItfImpl_QueryLEDCapabilities;
25
hgs
parents: 21
diff changeset
   426
        self->itf.QueryVibraCapabilities
hgs
parents: 21
diff changeset
   427
                = XAEngineItfImpl_QueryVibraCapabilities;
hgs
parents: 21
diff changeset
   428
        self->itf.QueryNumSupportedExtensions
hgs
parents: 21
diff changeset
   429
                = XAEngineItfImpl_QueryNumSupportedExtensions;
hgs
parents: 21
diff changeset
   430
        self->itf.QuerySupportedExtension
hgs
parents: 21
diff changeset
   431
                = XAEngineItfImpl_QuerySupportedExtension;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   432
        self->itf.IsExtensionSupported = XAEngineItfImpl_IsExtensionSupported;
19
hgs
parents: 12
diff changeset
   433
        self->mapper = fwkmapper;
hgs
parents: 12
diff changeset
   434
        self->capabilities = capabilities;
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
        self->self = self;
25
hgs
parents: 21
diff changeset
   436
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   437
    DEBUG_API("<-XAEngineItfImpl_Create");
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
    return self;
25
hgs
parents: 21
diff changeset
   439
    }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
void XAEngineItfImpl_Free(XAEngineItfImpl* self)
25
hgs
parents: 21
diff changeset
   442
    {
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
    DEBUG_API("->XAEngineItfImpl_Free");
25
hgs
parents: 21
diff changeset
   444
    if(self)
hgs
parents: 21
diff changeset
   445
        {
hgs
parents: 21
diff changeset
   446
        free(self);
hgs
parents: 21
diff changeset
   447
        }
12
5a06f39ad45b Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   448
    DEBUG_API("<-XAEngineItfImpl_Free");
25
hgs
parents: 21
diff changeset
   449
    }