ticket-2618-patches-20031207
[openafs.git] / src / WINNT / afssvrmgr / dispatch.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 #ifndef DISPATCH_H
11 #define DISPATCH_H
12
13 #include "messages.h"
14
15
16 /*
17  * DEFINITIONS ________________________________________________________________
18  *
19  */
20
21 typedef enum
22    {
23    WHEN_CELL_OPENED,
24    WHEN_OBJECT_CHANGES, // (supply PVOID=lpiObject)
25    WHEN_SVRS_CHANGE,    // (supply PVOID=lpiCell)
26    WHEN_SETS_CHANGE,    // (supply PVOID=lpiServer or lpiAgg)
27    WHEN_AGGS_CHANGE,    // (supply PVOID=lpiServer)
28    WHEN_SVCS_CHANGE     // (supply PVOID=lpiServer)
29    } NOTIFYWHEN;
30
31 typedef struct
32    {
33    HWND hwndTarget;
34    NOTIFYEVENT evt;
35    NOTIFYPARAMS Params;
36    } NOTIFYSTRUCT, *LPNOTIFYSTRUCT;
37
38 #define evtAlertsChanged  (NOTIFYEVENT)(evtUser)
39 #define evtScoutBegin     (NOTIFYEVENT)(evtUser+1) // lpEvt = (LPIDENT)lpiServer
40 #define evtScoutEnd       (NOTIFYEVENT)(evtUser+2) // lpEvt = (LPIDENT)lpiServer
41
42
43 /*
44  * PROTOTYPES _________________________________________________________________
45  *
46  */
47
48 void CreateNotificationDispatch (void);
49
50 void PostNotification (NOTIFYEVENT evt, LPIDENT lpi1);
51
52 void NotifyMe (NOTIFYWHEN when, LPIDENT lpObject, HWND hWnd, LPARAM lpUser);
53 void DontNotifyMe (NOTIFYWHEN when, LPIDENT lpObject, HWND hWnd);
54 void DontNotifyMeEver (HWND hWnd);
55
56 void DispatchNotification_OnPump (void);
57
58
59 #endif
60