Annotation of libwww/Library/src/HTEvent.c, revision 2.2
2.1 eric 1: /* HTEvntrg.c
2: ** EVENT DISPATCHER
3: **
4: ** (c) COPYRIGHT MIT 1996.
5: ** Please first read the full copyright statement in the file COPYRIGH.
2.2 ! frystyk 6: ** @(#) $Id: HTEvent.c,v 2.1 1996/05/15 23:13:57 eric Exp $
2.1 eric 7: **
8: ** The event dispatcher allows applications to register their own event
9: ** models. They may register the standard HTEventrg methods from
10: ** HTEventrg.c, of implement their functionality with their on methods.
11: **
12: ** Authors:
13: ** EGP Eric Gordon Prud'hommeuax
14: ** Bugs
15: **
16: */
17:
18: /* Implementation dependent include files */
19: #include "sysdep.h"
2.2 ! frystyk 20: #include "WWWUtil.h"
2.1 eric 21: #include "HTReqMan.h"
22: #include "HTEvent.h" /* Implemented here */
23:
2.2 ! frystyk 24: PRIVATE HTEvent_registerCallback * RegisterCBF = NULL;
! 25: PRIVATE HTEvent_unregisterCallback * UnregisterCBF = NULL;
2.1 eric 26:
27: PUBLIC void HTEvent_setRegisterCallback(HTEvent_registerCallback * registerCBF)
28: {
2.2 ! frystyk 29: if (CORE_TRACE) HTTrace("Event....... registering %p\n", registerCBF);
2.1 eric 30: RegisterCBF = registerCBF;
31: }
32:
33: PUBLIC void HTEvent_setUnregisterCallback(HTEvent_unregisterCallback * unregisterCBF)
34: {
2.2 ! frystyk 35: if (CORE_TRACE) HTTrace("Event....... registering %p\n", unregisterCBF);
2.1 eric 36: UnregisterCBF = unregisterCBF;
37: }
38:
39:
40: PUBLIC int HTEvent_register (SOCKET s, HTRequest * rq, SockOps ops,
41: HTEventCallback *cbf, HTPriority p)
42: {
2.2 ! frystyk 43: if (!RegisterCBF) {
! 44: if (CORE_TRACE) HTTrace("Event....... No handler registered\n");
2.1 eric 45: return -1;
2.2 ! frystyk 46: }
2.1 eric 47: return (*RegisterCBF)(s, rq, ops, cbf, p);
48: }
49:
50: PUBLIC int HTEvent_unregister (SOCKET s, SockOps ops)
51: {
2.2 ! frystyk 52: if (!UnregisterCBF) {
! 53: if (CORE_TRACE) HTTrace("Event....... No handler registered\n");
2.1 eric 54: return -1;
2.2 ! frystyk 55: }
2.1 eric 56: return (*UnregisterCBF)(s, ops);
57: }
58:
Webmaster