132 lines
4.5 KiB
C
132 lines
4.5 KiB
C
/*
|
|
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
* SCR_Ntfy.h
|
|
* Scripts, Beaudet Christophe
|
|
*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
*
|
|
*/
|
|
|
|
#ifndef __SCR_Ntfy_h__Types
|
|
#define __SCR_Ntfy_h__Types
|
|
|
|
#ifndef __Only_Types__
|
|
#define __SCR_Ntfy_h__Undef
|
|
#define __Only_Types__
|
|
#endif /* !__Only_Types__ */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Includes.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
#include "SCR_File.h"
|
|
|
|
#ifdef __SCR_Ntfy_h__Undef
|
|
#undef __Only_Types__
|
|
#undef __SCR_Ntfy_h__Undef
|
|
#endif /* __SCR_Ntfy_h__Undef */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Constants.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
/*
|
|
* To export code.
|
|
*/
|
|
#undef CPA_EXPORT
|
|
#if defined(CPA_WANTS_IMPORT)
|
|
#define CPA_EXPORT __declspec(dllimport)
|
|
#elif defined(CPA_WANTS_EXPORT)
|
|
#define CPA_EXPORT __declspec(dllexport)
|
|
#else /* CPA_WANTS_IMPORT */
|
|
#define CPA_EXPORT
|
|
#endif /* CPA_WANTS_IMPORT */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Types.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
/*
|
|
* To describe an action to the high level saver.
|
|
*/
|
|
typedef enum SCR_tde_Ntfy_Action_
|
|
{
|
|
SCR_EA_Ntfy_AddSection, /* To add a new section in a file */
|
|
SCR_EA_Ntfy_DeleteSection, /* To delete an existing section */
|
|
SCR_EA_Ntfy_ModifySection, /* To modify a section */
|
|
SCR_EA_Ntfy_RebuildSection, /* To delete and rewrite a section */
|
|
SCR_EA_Ntfy_Dummy, /* When a notification has been done */
|
|
SCR_EA_Ntfy_AddOrModifySection, /* Modify section if exists, add else */
|
|
SCR_EA_Ntfy_AddOrRebuildSection, /* Rebuild section if exists, add else */
|
|
SCR_EA_Ntfy_DeleteIfExists, /* Delete section if it exits */
|
|
} SCR_tde_Ntfy_Action;
|
|
|
|
/*
|
|
* Type that describes a callback for saver.
|
|
*/
|
|
typedef void (* SCR_tdpfn_Ntfy_Callback)(SCR_tdst_File_Description *, char *, void *, SCR_tde_Ntfy_Action);
|
|
|
|
/*
|
|
* Structure that describes a notify saving action.
|
|
*/
|
|
typedef struct SCR_tdst_Ntfy_Description_
|
|
{
|
|
SCR_tdst_DyAr_Header stHeader; /* Header of element */
|
|
char a_szSectionName[_MAX_PATH]; /* Notification string */
|
|
SCR_tdpfn_Ntfy_Callback pfn_vCallback; /* Associated callback */
|
|
void *p_vData; /* Additional data */
|
|
SCR_tde_Ntfy_Action eAction; /* Notification action */
|
|
} SCR_tdst_Ntfy_Description;
|
|
|
|
#endif /* !__SCR_Ntfy_h__Types */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Global variables.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
#if !defined(__SCR_Ntfy_h__Globals) && !defined(__Only_Types__)
|
|
#define __SCR_Ntfy_h__Globals
|
|
|
|
extern SCR_tdst_DyAr_Description SCR_g_st_Ntfy_Array;
|
|
|
|
#endif /* !__SCR_Ntfy_h__Globals && !__Only_Types__ */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Macros.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
#if !defined(__SCR_Ntfy_h__Macros) && !defined(__Only_Types__)
|
|
#define __SCR_Ntfy_h__Macros
|
|
|
|
#endif /* !__SCR_Ntfy_h__Macros && !__Only_Types__ */
|
|
|
|
/*
|
|
*=================================================================================================
|
|
* Protos.
|
|
*=================================================================================================
|
|
*/
|
|
|
|
#if !defined(__SCR_Ntfy_h__Protos) && !defined(__Only_Types__)
|
|
#define __SCR_Ntfy_h__Protos
|
|
|
|
extern void fn_v_Ntfy_InitModule(void);
|
|
extern void fn_v_Ntfy_CloseModule(void);
|
|
|
|
extern void fn_v_Ntfy_Add(char *, SCR_tdpfn_Ntfy_Callback, void *, SCR_tde_Ntfy_Action);
|
|
extern void fn_v_Ntfy_Delete(SCR_tdst_Ntfy_Description *);
|
|
extern SCR_tdst_Ntfy_Description *fnp_st_Ntfy_Search(char *);
|
|
|
|
extern void fn_v_Ntfy_ReduceMemory(void);
|
|
extern void fn_v_Ntfy_DeleteWithMemLevel(unsigned char, unsigned char);
|
|
|
|
#endif /* !__SCR_Ntfy_h__Protos && !__Only_Types__ */
|