123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492 |
- /*****************************************************************************
- ** al_event.h: AL Layer Event Header File
- **
- ** Description: Gives the functionalities for quering as well as manipulating
- ** the events data related to certail service.
- **
- ** Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved
- **
- ** Author : anlzhao
- **
- ** $Id: al_event.h 1910 2011-01-24 05:05:35Z anlzhao_c1 $
- *****************************************************************************/
- #ifndef __AL_EVENT_H__
- #define __AL_EVENT_H__
- #include "al_basictypes.h"
- #if defined(CONFIG_DTV_SUPPORT) || defined(CONFIG_ATV_SUPPORT)
- #include "al_database.h"
- #endif
- #ifdef CONFIG_DTV_SUPPORT
- #include "dvb_epg.h"
- #endif
- #include "al_time.h"
- /*
- ** Marco define
- */
- #ifdef __cplusplus
- extern "C"{
- #endif
- #ifdef CONFIG_DTV_SUPPORT
- #define AL_EVENT_SHORTNAME_LEN (MAX_DATA_SIZE) /*!< \brief text length of event_name_char */
- #define AL_EVENT_TEXT_LEN (MAX_DATA_SIZE) /*!< \brief text length short event text_char */
- #define AL_EVENT_EXTEND_LEN (MAX_DATA_SIZE) /*!< \brief text length of extended event text_char */
- #define AL_EVENT_MAX_EVENT_DES (EPG_EXTEND_EVENT_DESC_NUM)
- #define ISO_639_LANGUAGE_CODE (4)
- /* Prototype of AL_Event_t */
- typedef MID_EPG_EventHandle_t AL_Event_t;
- /**
- * \brief event date and time discription
- */
- typedef struct _AL_Event_Time_Descript_t
- {
- AL_Time_t stStartTime; /*!< \brief start date */
- AL_Time_t stEndTime; /*!< \brief end time */
- } AL_Event_Time_Descript_t;
- /* Events details */
- typedef struct
- {
- AL_Event_t event_hdl;
- AL_Event_Time_Descript_t event_time;
- AL_Event_Time_Descript_t event_utc_time;
- al_uint8 event_name_length;
- al_uint8 event_text_length;
- al_uint8 event_rating;
- al_uint8 event_name[AL_EVENT_SHORTNAME_LEN];
- al_uint8 event_text[AL_EVENT_TEXT_LEN];
- al_uint8 event_langcode[ISO_639_LANGUAGE_CODE];
- al_uint16 event_Id;
- al_uint32 event_offset;
- al_uint32 extend_num;
- al_uint8 content_classify; //zhongbaoxing added for NorDig Test 08:42 @20120808
- } AL_Event_Details_t;
- /* extend event Events */
- typedef struct
- {
- al_uint8 item_description[AL_EVENT_EXTEND_LEN];
- al_uint8 extend_text[AL_EVENT_EXTEND_LEN];
- al_uint8 event_langcode[ISO_639_LANGUAGE_CODE];
- al_uint8 extend_text_exsit :4;
- al_uint8 item_description_exsit :4;
- al_uint8 item_description_length;
- al_uint8 extend_text_length;
- } AL_Event_Desciption_t;
- #endif
- /***************************************************************************
- ** FUNCTION : AL_Event_SetCountryCode
- **
- ** DESCRIPTION :
- ** Set country code.
- **
- ** PARAMETERS :
- ** countrycode -country code
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_SetCountryCode(al_int8 *countrycode);
- /***************************************************************************
- ** FUNCTION : AL_Event_SetDTGSupport
- **
- ** DESCRIPTION :
- ** set DTG support flag. This flag may used during parsing EIT process
- **
- ** PARAMETERS :
- ** flag -al_true means set, al_false means unset.
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_SetDTGSupport(al_bool flag);
- /***************************************************************************
- ** FUNCTION : AL_Event_SetDTGSupport
- **
- ** DESCRIPTION :
- ** set DTG support flag. This flag may used during parsing EIT process
- **
- ** PARAMETERS :
- ** flag - al_true means set, al_false means unset.
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- al_bool AL_Event_GetEDTGSupport(al_void);
- /***************************************************************************
- ** FUNCTION : AL_Event_SetPreferLanguageCode
- **
- ** DESCRIPTION :
- ** Set prefer language code for event module. this may be useful for event
- ** to provide the event with prefer language code.
- ** PARAMETERS :
- ** langptr1 - prefer language code
- ** langptr2 - prefer language code
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_SetPreferLanguageCode(void * langptr1, void * langptr2);
- #if defined(CONFIG_DTV_SUPPORT) && !defined(CONFIG_USE_COMPRESSED_EPGMODULE)
- /***************************************************************************
- ** FUNCTION : AL_Event_GetEventRatingByHdl
- **
- ** DESCRIPTION :
- ** API fills details of First 'n' events of given service.
- **
- ** PARAMETERS :
- ** eventhdl - Events handle
- ** Rating - Event parental rating
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetEventRatingByHdl(AL_Event_t eventhdl, al_uint8 *pRating);
- #endif
- #ifdef CONFIG_DTV_SUPPORT
- /***************************************************************************
- ** FUNCTION : AL_Event_Stop
- **
- ** DESCRIPTION :
- ** Stop the event component, collecting of EIT stops.
- **
- ** PARAMETERS :
- ** DBType: Specify database on which to stop.
- ** is_exit_task : al_true: exit EPG task, else no exit
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_Stop(AL_DB_EDBType_t DBType, al_bool is_exit_task);
- /***************************************************************************
- ** FUNCTION : AL_Event_LockChannels
- **
- ** DESCRIPTION :
- ** start channels by given network id, ts id and serivce.
- **
- ** PARAMETERS :
- ** DBType -Specify database on which to stop.
- ** net_id - network id
- ** trans_id -ts id
- ** serv_id - service id
- ** chan_num - tells how many channels to open simultaneously
- ** focus_index- tells which channel has higher priority. it's useful when cache
- ** is not enough, events with lower priority will be replaced by higher ones.
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_LockChannels(AL_DB_EDBType_t DBType, al_uint16 *net_id,
- al_uint16 *trans_id, al_uint16 *serv_id, al_uint8 chan_num, al_int32 focus_index);
- /***************************************************************************
- ** FUNCTION : AL_Event_UnLockChannels
- **
- ** DESCRIPTION :
- ** unlock channels by given network id, ts id and serivce. this API will
- ** clear cache that pre-occupied by the channel. Note: Set both
- ** net_id 0XFF and trans_id 0xFF for clear entire cache.
- **
- ** PARAMETERS :
- ** DBType -Specify database on which to stop.
- ** net_id - network id. clear entire cache if set 0xFF
- ** trans_id -ts id. clear entire cache if set 0xFF
- ** serv_id - service id
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_UnLockChannels(AL_DB_EDBType_t DBType, al_uint16 net_id,
- al_uint16 trans_id, al_uint16 serv_id);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetEventHdlByStartTime
- **
- ** DESCRIPTION :
- ** API fills details of First 'n' events of given service.
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_start_time - the start time of the event
- ** duration - duration in minutes
- ** events_req - Events required
- ** eventhdl_list - Event handles to be filled into
- ** events_fnd - Events handle found
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetEventHdlByStartTime(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id,
- AL_Time_t *event_start_time, al_uint32 duration,
- al_uint16 events_req, AL_Event_t *eventhdl_list, al_uint16 *events_fnd);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetNextNumofEvents
- **
- ** DESCRIPTION :
- ** API fills details of Next 'n' events of given service, including current one
- ** indicated by event_hdl
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_ref - Ref Event
- ** events_req - Events required
- ** events_detail - Event data structure to be filled
- ** events_fnd - Events found
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetNextNumofEvents(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id,
- AL_Event_t event_hdl, al_uint16 events_req,
- AL_Event_Details_t *events_detail, al_uint16 *events_fnd);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetPrevNumofEvents
- **
- ** DESCRIPTION :
- ** API fills details of previous 'n' events of given service.
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_ref - Ref Event
- ** events_req - Events required
- ** events_detail - Event data structure to be filled
- ** events_fnd - Events found
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetPrevNumofEvents(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id,
- AL_Event_t event_hdl, al_uint16 events_req,
- AL_Event_Details_t *events_detail, al_uint16 *events_fnd);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetLastNumofEvents
- **
- ** DESCRIPTION :
- ** API fills details of last 'n' events of given service.
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_ref - Ref Event
- ** events_req - Events required
- ** events_detail - Event data structure to be filled
- ** events_fnd - Events found
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetLastNumofEvents(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id,
- al_uint16 events_req, AL_Event_Details_t *events_detail,
- al_uint16 *events_fnd);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetCurrNextEvents
- **
- ** DESCRIPTION :
- ** API fill the details of current/next event of given Service.
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_cur - event structure to hold current event info
- ** event_next - event structure to hold next event info
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetCurrNextEvents(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id,
- AL_Event_Details_t *event_cur, AL_Event_Details_t *event_next);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetCurrNextEventsForCurrRating
- **
- ** DESCRIPTION :
- ** API fill the details of current/next event of given Service.
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_cur - event structure to hold current event info
- ** event_next - event structure to hold next event info
- **
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetCurrNextEventsForCurrRating(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id,
- AL_Event_Details_t *event_cur, AL_Event_Details_t *event_next);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetEventsBetweenTime
- **
- ** DESCRIPTION :
- ** Provide events number between time for a service.
- ** Notice: when event_start_time or event_start_time
- ** is null, it means the user don't care about it. For example,
- ** both event_start_time and event_end_time is set to null,
- ** then, AL_Event_GetTotalEventsBetweentime returns the total
- ** events number of certail service.
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_start_time- Event start time(Not include offset)
- ** event_end_time - Event end time(Not include offset)
- ** offset - offset to get result in event list
- ** num_req - number required to get
- ** got_num - actual number has been got
- ** EventDetaillist - pointer to event list that contain detail information as required
- ** total_num - total number of the event that meet the requirment.
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetEventsBetweenTime(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id,
- AL_Time_t *event_start_time, AL_Time_t *event_end_time,
- al_uint16 offset, al_uint16 num_req, al_uint16 *got_num,
- AL_Event_Details_t *EventDetaillist, al_uint16 *total_num);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetEventsBetweenTime
- **
- ** DESCRIPTION :
- ** Provide events number between time for a service.
- ** Notice: when event_start_time or event_start_time
- ** is null, it means the user don't care about it. For example,
- ** both event_start_time and event_end_time is set to null,
- ** then, AL_Event_GetTotalEventsBetweentime returns the total
- ** events number of certail service.
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_start_time- Event start time(Not include offset)
- ** event_end_time - Event end time(Not include offset)
- ** offset - offset to get result in event list
- ** num_req - number required to get
- ** got_num - actual number has been got
- ** EventDetaillist - pointer to event list that contain detail information as required
- ** total_num - total number of the event that meet the requirment.
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetAllSchduleEventsBetweenTime(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id,
- AL_Time_t *event_start_time, AL_Time_t *event_end_time,
- al_uint16 offset, al_uint16 num_req, al_uint16 *got_num,
- AL_Event_Details_t *EventDetaillist, al_uint16 *total_num);
- /***************************************************************************
- ** FUNCTION : AL_Event_GetEventsDescription
- **
- ** DESCRIPTION :
- ** Provide extend events details by given event.
- ** Notice: when ExtendEvent_t is null, means user only cares
- ** about total number of the extend event. For example,
- **
- ** PARAMETERS :
- ** DBType - Database type(DVB_T/DVB_C etc)
- ** net_id - Network ID
- ** trans_id- Transport Stream ID
- ** serv_id - Service ID
- ** event_hdl - event handle
- ** offset - tells the position to get the extend event
- ** num_req - number required to get
- ** got_num - actual number has been got
- ** ExtendDetail_list_t - pointer to list that contain extend detail information as required
- ** total_num - total number of the event that meet the requirment.
- ** RETURN VALUES : AL_Return_t
- ***************************************************************************/
- AL_Return_t AL_Event_GetEventsDescription(AL_DB_EDBType_t DBType,
- al_uint16 net_id, al_uint16 trans_id, al_uint16 serv_id, AL_Event_t event_hdl,
- al_uint16 offset, al_uint16 req_num, al_uint16 *got_num,
- AL_Event_Desciption_t *ExtendDetail_list_t, al_uint16 *total_num);
- #endif
- /**
- * @brief Get descriptor of the event by event id and tag
- *
- * @param event_hdl - event handle
- * @param tag - descriptor tag
- * @param offset - position to get the descriptor
- * @param pDesc - pointer to the descriptor data
- *
- * @retval AL_SUCCESS means succss. AL_INITIALIZE_ALREADY means already initialised.
- * AL_FAILURE means failed
- */
- #ifdef CONFIG_USE_COMPRESSED_EPGMODULE
- AL_Return_t AL_Event_GetDescriptor(AL_Event_t event_hdl, al_uint16 OrgNetId, al_uint16 TSId,
- al_uint16 SrvId, al_uint8 tag, al_uint16 *offset, void *pDesc);
- #else
- #ifdef CONFIG_DTV_SUPPORT
- AL_Return_t AL_Event_GetDescriptor(AL_Event_t event_hdl,
- al_uint8 tag, al_uint16 *offset, void *pDesc);
- #endif
- #endif
- /**
- * @brief according raw data to get code page and remove codepage data from raw data
- *
- * @param pCodePage, output defualt code page.
- *
- * @param rawchr, point to raw data.
- *
- * @param size, raw data size.
- *
- * @return AL_SUCCESS is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_Event_GetCodePage(al_uint32 *pCodePage, UINT8 *rawchr, INT32 *size);
- /**
- * @brief if string not carry codepage, need to get defualt code page
- *
- * @param pCodePage, output defualt code page.
- *
- * @return AL_SUCCESS is successful, AL_FAILURE otherwise.
- */
- AL_Return_t AL_Event_GetDefaultCodePage(al_uint32 *pCodePage);
- al_uint32 AL_Event_MonUtf16IsBEorLE(UINT8 *rawchr, INT32 *size);
- #ifdef CONFIG_USE_COMPRESSED_EPGMODULE
- #ifdef SUPPORT_CLEAN_EX_DESCRIPTOR
- al_void AL_Event_CleanExDescriptor(al_void);
- al_void AL_Event_ReceiveExDescriptor(al_void);
- #endif
- #ifdef SUPPORT_CLEAN_EPG
- al_void AL_Event_CleanEPG(al_void);
- al_void AL_Event_ReceiveEPG(al_void);
- #endif
- #endif
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #endif /* __AL_EVENT_H__ */
- /*****************************************************************************
- ** $Rev: 1910 $
- **
- *****************************************************************************/
|