wap_events.h
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:1k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. /*
  2.  * wap_events.h - definitions for wapbox events
  3.  *
  4.  * Aarno Syv鋘en
  5.  * Lars Wirzenius
  6.  */
  7. #ifndef WAP_EVENTS_H
  8. #define WAP_EVENTS_H
  9. #include "gwlib/gwlib.h"
  10. #include "wap_addr.h"
  11. typedef struct WAPEvent WAPEvent;
  12. /*
  13.  * Names of WAPEvents.
  14.  */
  15. typedef enum {
  16. #define WAPEVENT(name, prettyname, fields) name,
  17. #include "wap_events.def"
  18. WAPEventNameCount
  19. } WAPEventName;
  20. /*
  21.  * The actual WAPEvent.
  22.  */
  23. struct WAPEvent {
  24. WAPEventName type;
  25. union {
  26. #define WAPEVENT(name, prettyname, fields) struct name { fields } name;
  27. #define OCTSTR(name) Octstr *name;
  28. #define OPTIONAL_OCTSTR(name) Octstr *name; /* May be NULL */
  29. #define INTEGER(name) long name;
  30. #define HTTPHEADER(name) List *name;
  31. #define WTLSPDUS(name) List *name;
  32. #define ADDRTUPLE(name) WAPAddrTuple *name;
  33. #define CAPABILITIES(name) List *name;
  34. #include "wap_events.def"
  35. } u;
  36. };
  37. WAPEvent *wap_event_create(WAPEventName type);
  38. void wap_event_destroy(WAPEvent *event);
  39. void wap_event_destroy_item(void *event);
  40. WAPEvent *wap_event_duplicate(WAPEvent *event);
  41. const char *wap_event_name(WAPEventName type);
  42. void wap_event_dump(WAPEvent *event);
  43. void wap_event_assert(WAPEvent *event);
  44. #endif