evtengine.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. int islotarrlen;
  11. rvc_trigger_t* triggerarr;
  12. int itriggerarrlen;
  13. }slot_trigger_elem_t;
  14. typedef struct evt_engine_t evt_engine_t;
  15. typedef void (*evt_engine_timer_func)(int timer_id, void *user_data);
  16. typedef struct evt_engine_callback_t
  17. {
  18. 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);
  19. int (*kill_timer)(evt_engine_t *engine, int timer_id, void *user_data);
  20. 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);
  21. int (*unsubscribe_log)(evt_engine_t *engine, unsigned long long sub_id, void *user_data);
  22. int (*subscribe_sysevent)(evt_engine_t *engine, void *user_data);
  23. int (*unsubscribe_sysevent)(evt_engine_t *engine, void *user_data);
  24. int (*get_sysevent)(evt_engine_t *engine, const char *key, CSimpleStringA &strValue, void *user_data);
  25. int (*set_sysevent)(evt_engine_t *engine, const char *key,const char *val, void *user_data);
  26. int (*get_entity_id)(evt_engine_t *engine, const char *entity, void *user_data);
  27. int (*new_timer_id)(evt_engine_t *engine, void *user_data);
  28. void *user_data;
  29. }evt_engine_callback_t;
  30. int evt_engine_create(const evt_engine_callback_t *callback, evt_engine_t **p_engine);
  31. void evt_engine_destroy(evt_engine_t *engine);
  32. int evt_engine_load(evt_engine_t* engine, int* indexarr, int icount, slot_trigger_elem_t* parr, int iarrlen);
  33. int evt_engine_unload(evt_engine_t *engine);
  34. int evt_engine_process_log(evt_engine_t *engine,
  35. const CAutoArray<CUUID> &SubIDs,
  36. unsigned long long nLogID,
  37. LogTypeEnum eLogType,
  38. SeverityLevelEnum eLevel,
  39. DWORD dwSysError,
  40. DWORD dwUserCode,
  41. DWORD dwEntityId,
  42. const char *pszEntityName,
  43. const char *pszModuleName,
  44. const char *pszMessage);
  45. int evt_engine_process_sysvar(evt_engine_t *engine,
  46. const char *pszKey,
  47. const char *pszValue,
  48. const char *pszOldValue,
  49. const char *pszEntityName);
  50. int evt_engine_start(evt_engine_t *engine);
  51. int evt_engine_stop(evt_engine_t *engine);
  52. void SetLogType(int nIslog);
  53. #endif // _EVT_ENGINE_H