ODeV framework  v2
Typedefs | Functions
IApplicationErrorDelegate.h File Reference

Application error manager delegate. More...

#include "ApplicationContext.h"
#include "IErrorFirstResponder.h"
#include "IErrorFirstResponderVtbl.h"
+ Include dependency graph for IApplicationErrorDelegate.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct _IApplicationErrorDelegate IApplicationErrorDelegate
 

Functions

sys_error_code_t IAEDInit (IApplicationErrorDelegate *this, void *pParams)
 
sys_error_code_t IAEDOnStartApplication (IApplicationErrorDelegate *this, ApplicationContext *pxContext)
 
sys_error_code_t IAEDProcessEvent (IApplicationErrorDelegate *this, ApplicationContext *pxContext, SysEvent xEvent)
 
sys_error_code_t IAEDOnNewErrEvent (IApplicationErrorDelegate *this, SysEvent xEvent)
 
boolean_t IAEDIsLastErrorPending (IApplicationErrorDelegate *this)
 
sys_error_code_t IAEDAddFirstResponder (IApplicationErrorDelegate *this, IErrFirstResponder *pFirstResponder, uint8_t nPriority)
 
sys_error_code_t IAEDRemoveFirstResponder (IApplicationErrorDelegate *this, IErrFirstResponder *pFirstResponder)
 
uint8_t IAEDGetMaxFirstResponderPriority (const IApplicationErrorDelegate *this)
 
void IAEDResetCounter (IApplicationErrorDelegate *this)
 

Detailed Description

Application error manager delegate.

Author
STMicroelectronics - ST-Korea - MCD Team
Version
1.2.0
Date
Aug 4, 2017

This interface is implemented by a application specific object that is in charge to manage the error events. The application can implement the SysGetErrorDelegate() function to provide its own IApplicationErrorDelegate.

Attention

© COPYRIGHT 2017 STMicroelectronics

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:

   http://www.st.com/software_license_agreement_liberty_v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Typedef Documentation

◆ IApplicationErrorDelegate

Create type name for _IApplicationErrorDelegate.

Function Documentation

◆ IAEDAddFirstResponder()

sys_error_code_t IAEDAddFirstResponder ( IApplicationErrorDelegate this,
IErrFirstResponder pFirstResponder,
uint8_t  nPriority 
)
inline

Add a first responder object. The first responders are grouped in a priority set. Zero is the highest priority. If an IErrFirstResponder object with the same priority was already added, then it is replaced with the new one.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pFirstResponder[IN] specifies a pointer to the a first responder object. If it is NULL then the IErrFirstResponder with nPriority priority is removed from the application error delegate.
nPriority[IN] specifies the priority of the error first responder. Zero is the highest priority.
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDGetMaxFirstResponderPriority()

uint8_t IAEDGetMaxFirstResponderPriority ( const IApplicationErrorDelegate this)
inline

Get the highest priority allowed for a first responder object.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.
Returns
he highest priority allowed for a first responder object.

◆ IAEDInit()

sys_error_code_t IAEDInit ( IApplicationErrorDelegate this,
void *  pParams 
)
inline

Initialize the driver. This method should be used by a task object during the hardware initialization process.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pParamsspecifies a pointer to a subclass defined initialization parameters.
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDIsLastErrorPending()

boolean_t IAEDIsLastErrorPending ( IApplicationErrorDelegate this)
inline

Used by the AED to notify the system if the last error has been recovered or not.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.
Returns
TRUE if the last error has been recovered, FALSE otherwise

◆ IAEDOnNewErrEvent()

sys_error_code_t IAEDOnNewErrEvent ( IApplicationErrorDelegate this,
SysEvent  xEvent 
)
inline

The INIT task call this method as soon as a new error event is posted by the application. This allows the application error delegate to provide a first respond to critical errors. The application error delegate should notify the first responder objects starting from the highest priority one.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.
xEventxEvent [IN] specifies an error event
Returns
SYS_NO_EROR_CODE if success, an error code otherwise.

◆ IAEDOnStartApplication()

sys_error_code_t IAEDOnStartApplication ( IApplicationErrorDelegate this,
ApplicationContext pxContext 
)
inline

Called by the system just before the control is released to the application tasks.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pxContext[IN] specifies a pointer to the application context.
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDProcessEvent()

sys_error_code_t IAEDProcessEvent ( IApplicationErrorDelegate this,
ApplicationContext pxContext,
SysEvent  xEvent 
)
inline

The INIT task uses this function to deliver an error event to the application error manager delegate object.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pxContext[IN] specifies a pointer to the application context.
xEvent[IN] specifies an error event
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDRemoveFirstResponder()

sys_error_code_t IAEDRemoveFirstResponder ( IApplicationErrorDelegate this,
IErrFirstResponder pFirstResponder 
)
inline

Remove a first responder object rom the application error delegate.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pFirstResponder[IN] specifies a pointer to the a first responder object to be removed.
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDResetCounter()

void IAEDResetCounter ( IApplicationErrorDelegate this)
inline

Reset the counter of the AED. Usually an AED use some kind of timeout to check that all managed tasks are working fine. A task should call this method before a critical operation, that is for example a write operation in FLASH or EEPROM, or a long critical section. For convenience the managed task interface has a function IMTResetAEDCounter() that can be used by a task instead of call directly this function.

Parameters
this[IN] specifies a pointer to an IApplicationErrorDelegate object.