123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- /**
- * Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved.
- *
- * @file al_service.h
- *
- * The interface to init, uninit and manipulate service.
- *
- * @brief Gives the functionalities for quering as well as manipulating
- * the database on service related data.
- *
- * @note .
- */
- #ifndef __AL_SERVICE_DBMERGE_H__
- #define __AL_SERVICE_DBMERGE_H__
- #include "al_basictypes.h"
- #include "al_database.h"
- #ifdef __cplusplus
- extern "C"{
- #endif
- /****************************************************
- * Enumeration definition
- ****************************************************//**
- * @addtogroup EnumDef Enumeration definition
- * @{
- ********************************************************/
- /**
- * @brief Enumeration of DVB service attribute.
- */
- typedef enum
- {
- AL_SRV_DATTRIB_FAV1 = 1 << 1, /**< fave 1 bit*/
- AL_SRV_DATTRIB_FAV2 = 1 << 2, /**< fave 2 bit*/
- AL_SRV_DATTRIB_FAV3 = 1 << 3, /**< fave 3 bit*/
- AL_SRV_DATTRIB_FAV4 = 1 << 4, /**< fave 4 bit*/
- AL_SRV_DATTRIB_FAV5 = 1 << 5, /**< fave 5 bit */
- AL_SRV_DATTRIB_FAV6 = 1 << 6, /**< fave 6 bit*/
- AL_SRV_DATTRIB_FAV7 = 1 << 7, /**< fave 7 bit*/
- AL_SRV_DATTRIB_FAV8 = 1 << 8, /**< fave 8 bit*/
- AL_SRV_DATTRIB_MOVE = 1 << 9, /**< move bit*/
- AL_SRV_DATTRIB_SKIP = 1 << 10, /**< skip bit*/
- AL_SRV_DATTRIB_DEL = 1 << 11, /**< delete bit*/
- AL_SRV_DATTRIB_UNSTABLE = 1 << 12, /**< unstable bit*/
- AL_SRV_DATTRIB_LOCK = 1 << 13, /**< parental lock bit*/
- AL_SRV_DATTRIB_SCAMBLE = 1 << 14, /**< scramble bit*/
- AL_SRV_DATTRIB_NOTRUN = 1 << 15, /**< */
- AL_SRV_DATTRIB_TMPSRV = 1 << 16, /**< temp service type */
- AL_SRV_DATTRIB_MPEG4TYPE = 1 << 17, /**< mpeg4 type */
- AL_SRV_DATTRIB_VIDEOAVC = 1 << 18, /**< avc type */
- AL_SRV_DATTRIB_NOTVISIBLE = 1 << 19, /**< not visible */
- AL_SRV_DATTRIB_NOTSELETECTABLE = 1 << 20, /**< not selectable type */
- AL_SRV_DATTRIB_FREECA = 1 << 21, /**< free CA type */
- AL_SRV_DATTRIB_NAMEMODIFIED = 1 << 22, /**< program name modified by user */
- AL_SRV_DATTRIB_NITMATCH = 1 <<23, /**< network id matched */
- AL_SRV_DATTRIB_ONIDMATCH = 1 << 24, /**< origine network matched */
- AL_SRV_DATTRIB_PROGNAMEMATCH = 1 << 25, /**< program name matched */
- AL_SRV_DATTRIB_CIPLUSUSED = 1 << 26, /**< only ci plus direct tune and play used */
- AL_SRV_DATTRIB_MAX = 1 << 31,
- } AL_Serv_EDigitalAttrib_t;
- /**
- * @brief Enumeration of Analog service attribute.
- */
- typedef enum
- {
- AL_SRV_AATTRIB_FAV1 = 1 << 1, /**< fave 1 bit*/
- AL_SRV_AATTRIB_FAV2 = 1 << 2, /**< fave 2 bit*/
- AL_SRV_AATTRIB_FAV3 = 1 << 3, /**< fave 3 bit*/
- AL_SRV_AATTRIB_FAV4 = 1 << 4, /**< fave 4 bit*/
- AL_SRV_AATTRIB_FAV5 = 1 << 5, /**< fave 5 bit */
- AL_SRV_AATTRIB_FAV6 = 1 << 6, /**< fave 6 bit*/
- AL_SRV_AATTRIB_FAV7 = 1 << 7, /**< fave 7 bit*/
- AL_SRV_AATTRIB_FAV8 = 1 << 8, /**< fave 8 bit*/
- AL_SRV_AATTRIB_INUSE = 1 << 9, /**< inuse bit*/
- AL_SRV_AATTRIB_SKIP = 1 << 10, /**< skip bit*/
- AL_SRV_AATTRIB_DEL = 1 << 11, /**< delete bit*/
- AL_SRV_AATTRIB_LOCK = 1 << 12, /**< parental lock bit*/
- AL_SRV_AATTRIB_AFC = 1 << 13, /**< AFC bit*/
- AL_SRV_AATTRIB_TVTYPE = 1 << 14,
- AL_SRV_AVATTRIB_VALID = 1 << 15,
- AL_SRV_AATTRIB_MAX = 1 << 31,
- } AL_Serv_EAnalogAttrib_t;
- /**
- * @brief Enumeration of search field.
- */
- typedef enum
- {
- AL_SRV_SEARCHFIELD_TSID = 1 << 1,
- AL_SRV_SEARCHFIELD_SRVID = 1 << 2,
- AL_SRV_SEARCHFIELD_ORIGNETID = 1 << 3,
- AL_SRV_SEARCHFIELD_PROGNO = 1 << 4,
- AL_SRV_SEARCHFIELD_FREQ = 1 << 5,
- AL_SRV_SEARCHFIELD_SYMRATE = 1 << 6,
- AL_SRV_SEARCHFIELD_NETID = 1 << 7,
- } AL_Serv_ESearchField_t;
- /****************************************************
- * Structure definition
- ****************************************************//**
- * @}
- * @defgroup StructDef Structure definition
- * @{
- ********************************************************/
- /**
- * @brief Structure of service attribute filter.
- */
- typedef struct
- {
- AL_DB_EDBType_t eDBType;
- AL_DB_ERecordType_t eRecType;
- AL_Serv_EAnalogAttrib_t eAPositive;
- AL_Serv_EAnalogAttrib_t eANegative;
- AL_Serv_EDigitalAttrib_t eDPositive;
- AL_Serv_EDigitalAttrib_t eDNegative;
- al_uint8 szProgName[DB_DVB_MAX_CHNAME_LEN]; /**< program name*/
- } AL_Serv_AttribFilter_t;
- /**
- * @brief Structure for searching services.
- */
- typedef struct
- {
- AL_DB_EDBType_t eDBType;
- AL_DB_ERecordType_t eRecType;
- AL_Serv_ESearchField_t eSearchField;
- al_uint16 u16ServId;
- al_uint16 u16TsId;
- al_uint16 u16OrigNetId;
- al_uint32 u32ProgNo;
- al_uint32 u32Frequency;
- al_uint32 u32SymbolRate;
- al_uint16 u16NetId;
- /**
- * zhongbaoxing added this element to consider the attrib
- * in AL_Serv_MatchRecBySearchKey @20120204
- */
- AL_Serv_EDigitalAttrib_t eIncludeAttrib;
- } AL_Serv_SearchKey_t;
- #ifdef CONFIG_ISDB_SYSTEM
- typedef enum
- {
- ATVDB_AIR = 0,
- ATVDB_CABLE,
- }APP_AtvDb_Type;
- void APP_Database_SwitchATVDB(APP_AtvDb_Type type);
- void APP_Database_SetCareIsValid(al_bool care);
- #endif
- #ifdef CONFIG_SUPPORT_ATV_SCAN_NTSCM_PALM_N
- typedef enum
- {
- ATVDB_AIR = 0,
- ATVDB_CABLE,
- }APP_AtvDb_Type;
- void APP_Database_SwitchATVDB(APP_AtvDb_Type type);
- void APP_Database_SetCareIsValid(al_bool care);
- #endif
- /****************************************************
- * API definition - Internal Operation
- ****************************************************//**
- * @}
- * @addtogroup InterAPI Internal Interface
- * @{
- ********************************************************/
- /**
- * @brief Initialize service component.
- *
- * The implementation may perform appropriate service initialisation when this
- * call is made, if required.
- *
- * @note
- * 1.This API must be called before any service-related function is called; <br>
- * 2.Must be called once successfully, and still return success when called again.
- *
- * @param eDBType [in]select one or more database to initialize service component.
- *
- * @return
- * #AL_SUCCESS indicates success,
- * On failure, #AL_FAILURE is returned.
- */
- AL_Return_t AI_Service_Init(
- AL_DB_EDBType_t eDBType);
- /**
- * @brief Terminate service commponent.
- *
- * The implementation may perform appropriate service termination when this
- * call is made, if required.
- *
- * @note
- * 1.This API must be called after any service-related function is called, <br>
- * 2.Must be called once successfully, and still return success when called again.
- *
- * @param eDBType [in]Select one or more database to terminate service component.
- *
- * @return
- * #AL_SUCCESS indicates success,
- * On failure, #AL_FAILURE is returned.
- *
- */
- AL_Return_t AI_Service_Term(
- AL_DB_EDBType_t eDBType);
- /****************************************************
- * API definition - Service Operation
- ****************************************************//**
- * @}
- * @addtogroup COMAPI Component APIs
- * @{
- ********************************************************/
- /**
- * @brief Match service by specified attribute flag.
- *
- * @note Refers to the prototype #AL_DB_RecordMatchFunc.
- *
- * @param param [in]Service attributes filter, type: #AL_Serv_AttribFilter_t.
- * @param pRec [in]Servie Info.
- *
- * @return
- * #AL_SUCCESS indicates success,
- * On failure, #AL_FAILURE is returned.
- */
- al_bool AL_Serv_MatchRecByAttribute(al_void *param, al_void const*pRec);
- /**
- * @brief Match service by specified search field.
- *
- * @note Refers to the prototype #AL_DB_RecordMatchFunc.
- *
- * @param param [in]Search key, type: #AL_Serv_SearchKey_t.
- * @param pRec [in]Service detail.
- *
- * @return
- * #AL_SUCCESS indicates success,
- * On failure, #AL_FAILURE is returned.
- */
- al_bool AL_Serv_MatchRecBySearchKey(al_void *param, al_void const*pRec);
- #ifdef SUPPORT_GHANA_LCN
- AL_Return_t AL_Serv_BackupUserServsLCN( al_uint8 country );
- #endif
- AL_Return_t AL_Serv_StoreUserServs(AL_DB_EDBType_t eDBType);
- AL_Return_t AL_Serv_RetrieveUserServs(AL_DB_EDBType_t eDBType);
- /****************************************************//**
- * @}
- ********************************************************/
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif /* __AL_SERVICE_H__ */
|