Commit 6cda9e15 authored by Jean-Paul Saman's avatar Jean-Paul Saman

BAT: Make dvbpsi_NewBat() and dvbpsi_DeleteBAT() functions.

Make dvbpsi_NewBat() and dvbpsi_DeleteBAT() functions.
parent 85086925
......@@ -160,6 +160,7 @@ void dvbpsi_DetachBAT(dvbpsi_t *p_dvbpsi, uint8_t i_table_id, uint16_t i_extensi
void dvbpsi_InitBAT(dvbpsi_bat_t* p_bat, uint16_t i_bouquet_id, uint8_t i_version,
bool b_current_next)
{
assert(p_bat);
p_bat->i_bouquet_id = i_bouquet_id;
p_bat->i_version = i_version;
p_bat->b_current_next = b_current_next;
......@@ -167,6 +168,20 @@ void dvbpsi_InitBAT(dvbpsi_bat_t* p_bat, uint16_t i_bouquet_id, uint8_t i_versio
p_bat->p_first_descriptor = NULL;
}
/*****************************************************************************
* dvbpsi_NewBAT
*****************************************************************************
* Allocate and initialize a dvbpsi_bat_t structure.
*****************************************************************************/
dvbpsi_bat_t *dvbpsi_NewBAT(uint16_t i_bouquet_id, uint8_t i_version,
bool b_current_next)
{
dvbpsi_bat_t *p_bat = (dvbpsi_bat_t*)malloc(sizeof(dvbpsi_bat_t));
if(p_bat != NULL)
dvbpsi_InitBAT(p_bat, i_bouquet_id, i_version, b_current_next);
return p_bat;
}
/*****************************************************************************
* dvbpsi_EmptyBAT
*****************************************************************************
......@@ -189,6 +204,18 @@ void dvbpsi_EmptyBAT(dvbpsi_bat_t* p_bat)
p_bat->p_first_ts = NULL;
}
/*****************************************************************************
* dvbpsi_DeleteBAT
*****************************************************************************
* Empty and Delere a dvbpsi_bat_t structure.
*****************************************************************************/
void dvbpsi_DeleteBAT(dvbpsi_bat_t *p_bat)
{
if (p_bat)
dvbpsi_EmptyBAT(p_bat);
free(p_bat);
}
/*****************************************************************************
* dvbpsi_BATAddTS
*****************************************************************************
......
......@@ -162,20 +162,16 @@ void dvbpsi_InitBAT(dvbpsi_bat_t *p_bat, uint16_t i_bouquet_id, uint8_t i_versio
bool b_current_next);
/*!
* \def dvbpsi_NewBAT(p_bat, i_bouquet_id, i_version, b_current_next)
* \def dvbpsi_bat_t *dvbpsi_NewBAT(uint16_t i_bouquet_id, uint8_t i_version,
* bool b_current_next)
* \brief Allocate and initialize a new dvbpsi_bat_t structure.
* \param p_bat pointer to the BAT structure
* \param i_bouquet_id bouquet ID
* \param i_version BAT version
* \param b_current_next current next indicator
* \return nothing.
* \return p_bat pointer to the BAT structure
*/
#define dvbpsi_NewBAT(p_bat, i_bouquet_id, i_version, b_current_next) \
do { \
p_bat = (dvbpsi_bat_t*)malloc(sizeof(dvbpsi_bat_t)); \
if(p_bat != NULL) \
dvbpsi_InitBAT(p_bat, i_bouquet_id, i_version, b_current_next); \
} while(0);
dvbpsi_bat_t *dvbpsi_NewBAT(uint16_t i_bouquet_id, uint8_t i_version,
bool b_current_next);
/*****************************************************************************
* dvbpsi_EmptyBAT/dvbpsi_DeleteBAT
......@@ -189,16 +185,12 @@ do { \
void dvbpsi_EmptyBAT(dvbpsi_bat_t *p_bat);
/*!
* \def dvbpsi_DeleteBAT(p_bat)
* \def dvbpsi_DeleteBAT(dvbpis_bat_t *p_bat)
* \brief Clean and free a dvbpsi_bat_t structure.
* \param p_bat pointer to the BAT structure
* \return nothing.
*/
#define dvbpsi_DeleteBAT(p_bat) \
do { \
dvbpsi_EmptyBAT(p_bat); \
free(p_bat); \
} while(0);
void dvbpsi_DeleteBAT(dvbpsi_bat_t *p_bat);
/*****************************************************************************
* dvbpsi_GenBATSections
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment