evtengine.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef _EVT_ENGINE_H
  2. #define _EVT_ENGINE_H
  3. #pragma once
  4. #include "SpBase.h"
  5. #include "slot.h"
  6. #include "trigger.h"
  7. typedef struct slot_trigger_elem_s {
  8. char* slotns;
  9. rvc_slot_t* slotarr;
  10. rvc_trigger_t* triggerarr;
  11. }slot_trigger_elem_t;
  12. typedef struct evt_engine_t evt_engine_t;
  13. typedef void (*evt_engine_timer_func)(int timer_id, void *user_data);
  14. typedef struct evt_engine_callback_t
  15. {
  16. int (*set_timer)(evt_engine_t *engine, int timer_id, int interval, evt_engine_timer_func timer_cb, void *timer_user_data, void *user_data);
  17. int (*kill_timer)(evt_engine_t *engine, int timer_id, void *user_data);
  18. int (*subscribe_log)(evt_engine_t *engine, unsigned long long *sub_id, LogTypeEnum eLogType, const char *szEntity, SeverityLevelEnum eSeverityLevel, ErrorCodeEnum eSysError, DWORD dwUserCode, bool bIgnoreMessage, void *user_data);
  19. int (*unsubscribe_log)(evt_engine_t *engine, unsigned long long sub_id, void *user_data);
  20. int (*subscribe_sysevent)(evt_engine_t *engine, void *user_data);
  21. int (*unsubscribe_sysevent)(evt_engine_t *engine, void *user_data);
  22. int (*get_sysevent)(evt_engine_t *engine, const char *key, CSimpleStringA &strValue, void *user_data);
  23. int (*set_sysevent)(evt_engine_t *engine, const char *key,const char *val, void *user_data);
  24. int (*get_entity_id)(evt_engine_t *engine, const char *entity, void *user_data);
  25. int (*new_timer_id)(evt_engine_t *engine, void *user_data);
  26. void *user_data;
  27. }evt_engine_callback_t;
  28. int evt_engine_create(const evt_engine_callback_t *callback, evt_engine_t **p_engine);
  29. void evt_engine_destroy(evt_engine_t *engine);
  30. int evt_engine_load(evt_engine_t *engine, int nfile, const char **files);
  31. int evt_engine_load(evt_engine_t* engine, int icount, slot_trigger_elem_t* parr);
  32. int evt_engine_unload(evt_engine_t *engine);
  33. int evt_engine_process_log(evt_engine_t *engine,
  34. const CAutoArray<CUUID> &SubIDs,
  35. unsigned long long nLogID,
  36. LogTypeEnum eLogType,
  37. SeverityLevelEnum eLevel,
  38. DWORD dwSysError,
  39. DWORD dwUserCode,
  40. DWORD dwEntityId,
  41. const char *pszEntityName,
  42. const char *pszModuleName,
  43. const char *pszMessage);
  44. int evt_engine_process_sysvar(evt_engine_t *engine,
  45. const char *pszKey,
  46. const char *pszValue,
  47. const char *pszOldValue,
  48. const char *pszEntityName);
  49. int evt_engine_start(evt_engine_t *engine);
  50. int evt_engine_stop(evt_engine_t *engine);
  51. void SetLogType(int nIslog);
  52. #endif // _EVT_ENGINE_H