Fixed binary search: no more infinite loops when vendor is unknown.
[tangerine.git] / workbench / libs / muimaster / classes / notify.h
blob602bd65282de1904e3c36a0c7442f2f30f8e7af0
1 #ifndef _MUI_CLASSES_NOTIFY_H
2 #define _MUI_CLASSES_NOTIFY_H
4 /*
5 Copyright © 2002-2003, The AROS Development Team. All rights reserved.
6 $Id$
7 */
9 struct MUI_NotifyData
11 struct MUI_GlobalInfo *mnd_GlobalInfo;
12 IPTR mnd_UserData;
13 ULONG mnd_ObjectID;
15 /* private starts here */
16 struct MinList *mnd_NotifyList; /* priv1 */
17 Object *mnd_ParentObject;/* priv2 */
18 STRPTR mnd_HelpNode;/* priv3 */
19 LONG mnd_HelpLine;/* priv4 */
22 /*** Name *******************************************************************/
23 #define MUIC_Notify "Notify.mui"
25 /*** Identifier base (for Zune extensions) **********************************/
26 #define MUIB_Notify (MUIB_ZUNE | 0x00001d00)
28 /*** Methods ****************************************************************/
29 #define MUIM_CallHook (MUIB_MUI|0x0042b96b) /* MUI: V4 */
30 #define MUIM_Export (MUIB_MUI|0x00420f1c) /* MUI: V12 */
31 #define MUIM_FindUData (MUIB_MUI|0x0042c196) /* MUI: V8 */
32 #define MUIM_GetConfigItem (MUIB_MUI|0x00423edb) /* MUI: V11 */
33 #define MUIM_GetUData (MUIB_MUI|0x0042ed0c) /* MUI: V8 */
34 #define MUIM_Import (MUIB_MUI|0x0042d012) /* MUI: V12 */
35 #define MUIM_KillNotify (MUIB_MUI|0x0042d240) /* MUI: V4 */
36 #define MUIM_KillNotifyObj (MUIB_MUI|0x0042b145) /* MUI: V16 */
37 #define MUIM_MultiSet (MUIB_MUI|0x0042d356) /* MUI: V7 */
38 #define MUIM_NoNotifySet (MUIB_MUI|0x0042216f) /* MUI: V9 */
39 #define MUIM_Notify (MUIB_MUI|0x0042c9cb) /* MUI: V4 */
40 #define MUIM_Set (MUIB_MUI|0x0042549a) /* MUI: V4 */
41 #define MUIM_SetAsString (MUIB_MUI|0x00422590) /* MUI: V4 */
42 #define MUIM_SetUData (MUIB_MUI|0x0042c920) /* MUI: V8 */
43 #define MUIM_SetUDataOnce (MUIB_MUI|0x0042ca19) /* MUI: V11 */
44 #define MUIM_WriteLong (MUIB_MUI|0x00428d86) /* MUI: V6 */
45 #define MUIM_WriteString (MUIB_MUI|0x00424bf4) /* MUI: V6 */
46 struct MUIP_CallHook {STACKED ULONG MethodID; STACKED struct Hook *Hook; STACKED ULONG param1; /* more might follow */};
47 struct MUIP_Export {STACKED ULONG MethodID; STACKED Object *dataspace;};
48 struct MUIP_FindUData {STACKED ULONG MethodID; STACKED ULONG udata;};
49 struct MUIP_GetConfigItem {STACKED ULONG MethodID; STACKED ULONG id; STACKED APTR *storage;};
50 struct MUIP_GetUData {STACKED ULONG MethodID; STACKED ULONG udata; STACKED ULONG attr; STACKED APTR *storage;};
51 struct MUIP_Import {STACKED ULONG MethodID; STACKED Object *dataspace;};
52 struct MUIP_KillNotify {STACKED ULONG MethodID; STACKED ULONG TrigAttr;};
53 struct MUIP_KillNotifyObj {STACKED ULONG MethodID; STACKED ULONG TrigAttr; STACKED Object *dest;};
54 struct MUIP_MultiSet {STACKED ULONG MethodID; STACKED ULONG attr; STACKED ULONG val; STACKED APTR obj; /* more might follow */};
55 struct MUIP_NoNotifySet {STACKED ULONG MethodID; STACKED ULONG attr; STACKED ULONG val; /* more might follow */};
56 struct MUIP_Notify {STACKED ULONG MethodID; STACKED ULONG TrigAttr; STACKED ULONG TrigVal; STACKED APTR DestObj; STACKED ULONG FollowParams; /* more might follow */};
57 struct MUIP_Set {STACKED ULONG MethodID; STACKED ULONG attr; STACKED ULONG val;};
58 struct MUIP_SetAsString {STACKED ULONG MethodID; STACKED ULONG attr; STACKED char *format; STACKED ULONG val; /* more might follow */};
59 struct MUIP_SetUData {STACKED ULONG MethodID; STACKED ULONG udata; STACKED ULONG attr; STACKED ULONG val;};
60 struct MUIP_SetUDataOnce {STACKED ULONG MethodID; STACKED ULONG udata; STACKED ULONG attr; STACKED ULONG val;};
61 struct MUIP_WriteLong {STACKED ULONG MethodID; STACKED ULONG val; STACKED ULONG *memory;};
62 struct MUIP_WriteString {STACKED ULONG MethodID; STACKED char *str; STACKED char *memory;};
64 #define MUIM_ConnectParent (MUIB_Notify | 0x00000000) /* Zune: V1 */
65 #define MUIM_DisconnectParent (MUIB_Notify | 0x00000001) /* Zune: V1 */
66 struct MUIP_ConnectParent {STACKED ULONG MethodID; STACKED Object *parent;};
67 struct MUIP_DisconnectParent {STACKED ULONG MethodID;};
69 /*** Attributes *************************************************************/
70 #define MUIA_ApplicationObject (MUIB_MUI|0x0042d3ee) /* MUI: V4 ..g Object * */
71 #define MUIA_AppMessage (MUIB_MUI|0x00421955) /* MUI: V5 ..g struct AppMessage * */
72 #define MUIA_HelpLine (MUIB_MUI|0x0042a825) /* MUI: V4 isg LONG */
73 #define MUIA_HelpNode (MUIB_MUI|0x00420b85) /* MUI: V4 isg STRPTR */
74 #define MUIA_NoNotify (MUIB_MUI|0x004237f9) /* MUI: V7 .s. BOOL */
75 #define MUIA_ObjectID (MUIB_MUI|0x0042d76e) /* MUI: V11 isg ULONG */
76 #define MUIA_Parent (MUIB_MUI|0x0042e35f) /* MUI: V11 ..g Object * */
77 #define MUIA_Revision (MUIB_MUI|0x00427eaa) /* MUI: V4 ..g LONG */
78 #define MUIA_UserData (MUIB_MUI|0x00420313) /* MUI: V4 isg ULONG */
79 #define MUIA_Version (MUIB_MUI|0x00422301) /* MUI: V4 ..g LONG */
81 /* Special values for MUIM_Notify */
82 #define MUIV_TriggerValue 0x49893131UL
83 #define MUIV_NotTriggerValue 0x49893133UL
84 #define MUIV_EveryTime 0x49893131UL /* as TrigVal */
86 enum
88 MUIV_Notify_Self = 1,
89 MUIV_Notify_Window,
90 MUIV_Notify_Application,
91 MUIV_Notify_Parent,
94 extern const struct __MUIBuiltinClass _MUI_Notify_desc; /* PRIV */
96 /* Private stuff */
98 #define _parent(obj) (muiNotifyData(obj)->mnd_ParentObject) /* Shortcut */
101 #endif /* _MUI_CLASSES_NOTIFY_H */