TV Out/tv_chipset_api.inl
author Arnaud Lenoir
Fri, 24 Sep 2010 18:13:16 +0100
changeset 25 eee9910c5ec5
parent 0 bb4b476bbb96
permissions -rw-r--r--
FYI - READ ONLY - Updated SHAI_public_APIs-status.xlsx. contact arnaudl@symbian.org for any changes you want.

/*
  tv_chipset_api.inl

  Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
  All rights reserved.

  This program and the accompanying materials are made available 
  under the terms of the Eclipse Public License v1.0 which accompanies 
  this distribution, and is available at 
  http://www.eclipse.org/legal/epl-v10.html

  Initial Contributors:
  Nokia Corporation - initial contribution.

  Contributors:
*/

/** @file

Inline methods of tv chipset driver API

@publishedDeviceAbstraction
*/

/*- Include Files  ----------------------------------------------------------*/

/*- Data Types --------------------------------------------------------------*/

/*- Enumerations ------------------------------------------------------------*/

/** Error codes */
typedef enum  
    {
    /* VERSION */
    DISP_FUNC_DISP_TVAPI_VERSION = 0,

    /* CAPABILITY */
    DISP_FUNC_DISP_GET_TV_CAPABILITIES,
    DISP_FUNC_DISP_GET_SUPPORTED_HDMI_MODE,

    /* CONTROL */
    DISP_FUNC_DISP_SET_TV_CONFIG,
    DISP_FUNC_DISP_RESOLUTION_QUERY,
    DISP_FUNC_DISP_ENABLE_TV_OUT,
    DISP_FUNC_DISP_DISABLE_TV_OUT,
    DISP_FUNC_DISP_IS_TV_OUT_ENABLED,
    DISP_FUNC_DISP_TV_MESSAGE,

    /* LISTENERS AND COPY PROTECTION */
    DISP_FUNC_DISP_CABLE_LISTENER,
    DISP_FUNC_DISP_COPY_PROTECTION_STATUS,
    DISP_FUNC_DISP_COPY_PROTECTION_STATUS_LISTENER,
    DISP_FUNC_DISP_SET_SRM,
    DISP_FUNC_DISP_SET_HDCP_KEY,

    /* CONTENT UPDATE */
    DISP_FUNC_DISP_SET_TV_FINAL_VIEW,
    DISP_FUNC_DISP_TV_FLUSH,

    /* Size of array */
    DISP_FUNC_TV_SIZE_OF_ARRAY,
    } DISPE_TV_FUNCTIONS;

/*- Data Structs ------------------------------------------------------------*/

/*- Constants ---------------------------------------------------------------*/

/*- Functions ---------------------------------------------------------------*/

/*== VERSION ================================================================*/

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline uint32 dispTvApiVersion(API_POINTER api)
    {

    typedef uint32 (*FUNC)();
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_TVAPI_VERSION ];
    return function();

    }

/*== CAPABILITY =============================================================*/

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispGetTvCapabilities(API_POINTER api, DISPS_TV_CAPABILITIES* tvCapabilities)
    {

    typedef DISPE_ERROR (*FUNC)(DISPS_TV_CAPABILITIES* tvCapabilities);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_GET_TV_CAPABILITIES ];
    return function( tvCapabilities );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispGetSupportedHdmiMode(API_POINTER api, uint32 capabilityNumber, DISPS_SUPPORTED_HDMI_MODE* readMode)
    {

    typedef DISPE_ERROR (*FUNC)(uint32 capabilityNumber, DISPS_SUPPORTED_HDMI_MODE* readMode);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_GET_SUPPORTED_HDMI_MODE ];
    return function( capabilityNumber, readMode );

    }

/*== CONTROL ================================================================*/

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispSetTvConfig(API_POINTER api, const DISPS_TV_CONFIG_SETTINGS* tvSettings, DISPT_READY_CB callback)
    {

    typedef DISPE_ERROR (*FUNC)(const DISPS_TV_CONFIG_SETTINGS* tvSettings, DISPT_READY_CB callback);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_SET_TV_CONFIG ];
    return function( tvSettings, callback );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispResolutionQuery(API_POINTER api, const DISPS_TV_CONFIG_SETTINGS* tvSettings, DISPS_TV_RESOLUTION* resolution)
    {

    typedef DISPE_ERROR (*FUNC)(const DISPS_TV_CONFIG_SETTINGS* tvSettings, DISPS_TV_RESOLUTION* resolution);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_RESOLUTION_QUERY ];
    return function( tvSettings, resolution );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispEnableTvOut(API_POINTER api, DISPT_READY_CB callback)
    {

    typedef DISPE_ERROR (*FUNC)(DISPT_READY_CB callback);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_ENABLE_TV_OUT ];
    return function( callback );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispDisableTvOut(API_POINTER api, DISPT_READY_CB callback)
    {

    typedef DISPE_ERROR (*FUNC)(DISPT_READY_CB callback);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_DISABLE_TV_OUT ];
    return function( callback );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline bool8 dispIsTvOutEnabled(API_POINTER api)
    {

    typedef bool8 (*FUNC)();
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_IS_TV_OUT_ENABLED ];
    return function();

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispTvMessage(API_POINTER api, CHIPSET_DRV_NAME receiver, DISPE_DRV_MSG message, uint32 param, DISPT_MSG_CB callback)
    {

    typedef DISPE_ERROR (*FUNC)(CHIPSET_DRV_NAME receiver, DISPE_DRV_MSG message, uint32 param, DISPT_MSG_CB callback);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_TV_MESSAGE ];
    return function( receiver, message, param, callback );

    }

/*== LISTENERS AND COPY PROTECTION ==========================================*/

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispCableListener(API_POINTER api, DISPF_LISTENER_CB callback, bool8 add)
    {

    typedef DISPE_ERROR (*FUNC)(DISPF_LISTENER_CB callback, bool8 add);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_CABLE_LISTENER ];
    return function( callback, add );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline bool8 dispCopyProtectionStatus(API_POINTER api)
    {

    typedef bool8 (*FUNC)();
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_COPY_PROTECTION_STATUS ];
    return function();

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispCopyProtectionStatusListener(API_POINTER api, DISPF_LISTENER_CB copyProtectionChangedCb, bool8 add)
    {

    typedef DISPE_ERROR (*FUNC)(DISPF_LISTENER_CB copyProtectionChangedCb, bool8 add);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_COPY_PROTECTION_STATUS_LISTENER ];
    return function( copyProtectionChangedCb, add );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispSetSrm(API_POINTER api, void* srmData, uint32 srmInBytes)
    {

    typedef DISPE_ERROR (*FUNC)(void* srmData, uint32 srmInBytes);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_SET_SRM ];
    return function( srmData, srmInBytes );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispSetHdcpKey(API_POINTER api, void* hdcpData, uint32 hdcpInBytes)
    {

    typedef DISPE_ERROR (*FUNC)(void* hdcpData, uint32 hdcpInBytes);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_SET_HDCP_KEY ];
    return function( hdcpData, hdcpInBytes );

    }

/*== CONTENT UPDATE =========================================================*/

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispSetTvFinalView(API_POINTER api, const DISPS_FINAL_VIEW* finalView)
    {

    typedef DISPE_ERROR (*FUNC)(const DISPS_FINAL_VIEW* finalView);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_SET_TV_FINAL_VIEW ];
    return function( finalView );

    }

/*---------------------------------------------------------------------------*/
/**
    @see header
*/
inline DISPE_ERROR dispTvFlush(API_POINTER api, const DISPS_UPDATE* changedArea, DISPT_READY_CB callback)
    {

    typedef DISPE_ERROR (*FUNC)(const DISPS_UPDATE* changedArea, DISPT_READY_CB callback);
    FUNC function = ( FUNC ) api[ DISP_FUNC_DISP_TV_FLUSH ];
    return function( changedArea, callback );

    }

/* End of File */