/*****************************************************************************
** ai_prog_reminder.h: AL Layer Program Reminder Internal Interface
**
** Description: This file is only used by AL modules and the application
** can't access it directly
**
** Copyright(c) 2011 Sunmedia Technologies - All Rights Reserved
**
** Author : anlzhao
**
** $Id: ai_datasaving.h 1901 2011-01-22 05:47:03Z liang.wu_c1 $
*****************************************************************************/

#ifndef AI_PR_REMIDNER_H_
#define AI_PR_REMIDNER_H_

#include "al_basictypes.h"

/* NVM Message Queue Size , NVMSTORE_URGENT_Q_SIZE should be set 0 coz this Data saving task
* is not supposed to deal with urgent msg by the current timing-oriented mechanism.
*/
#define SLEEP_FOR_PE_FINISH_TIME			200

#ifdef __cplusplus
extern "C" {
#endif

/************************************************************************
 ** name			:AI_PR_HandleTrigger()
 **
 ** description		: Handle the remider status after the trigger.
 **
 ** input parameters	:id - Schedular id
 **
 ** output parameters	:None
 **
 ** return type		: AL_Return_t
 ************************************************************************/
AL_Return_t AI_PR_HandleTrigger( AL_SCH_sched_id_t id );

/************************************************************************
 ** name			:AI_PR_HandleAction()
 **
 ** description		: Handle the whether reminder should be kept or removed.
 **
 ** input parameters	:id - Schedular id
 **
 ** output parameters	:None.
 **
 ** return type		: AL_Return_t
 ************************************************************************/
AL_Return_t AI_PR_HandleAction( AL_SCH_sched_id_t id );

/************************************************************************
 ** name				: AI_PR_HandleSrvDelete()
 **
 ** description		: This API modifies the scheduled event with new information
 **
 ** input parameters	: handle - specify which service is to remove from reminder
 **
 ** output parameters	: none
 **
 ** return type		: AL_Return_t
 ************************************************************************/
AL_Return_t AI_PR_HandleSrvDelete(AL_RecHandle_t handle);

/*****************************************************************************
** FUNCTION : AI_PR_Term
**
** DESCRIPTION :
**				This function is used to terminate program reminder module.
**
** PARAMETERS :
**				None
**
** RETURN VALUES:
**				al_true is storing is in process
**				al_false if storing is not in process
*****************************************************************************/
AL_Return_t AI_PR_Term(al_void);

#ifdef __cplusplus
}
#endif

#endif /* AI_DATASAVING_H_INCLUDED */

/*****************************************************************************
** $Rev: 1901 $
**
*****************************************************************************/

