Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / libs / datatypes / getdttriggermethods.c
blobd0d96678ee9e69030674d38ebc1a38e60d229493
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc:
6 Lang: English
7 */
8 #define USE_BOOPSI_STUBS
9 #include <proto/intuition.h>
10 #include <intuition/classusr.h>
11 #include <datatypes/datatypesclass.h>
12 #include <clib/boopsistubs.h>
13 #include "datatypes_intern.h"
15 /*****************************************************************************
17 NAME */
18 #include <proto/datatypes.h>
20 AROS_LH1(struct DTMethod *, GetDTTriggerMethods,
22 /* SYNOPSIS */
23 AROS_LHA(Object *, object, A0),
25 /* LOCATION */
26 struct Library *, DataTypesBase, 18, DataTypes)
28 /* FUNCTION
30 Get a list of the trigger methods an object supports.
32 INPUTS
34 object -- pointer to a data type object
36 RESULT
38 A pointer to a STM_DONE terminated DTMethod list. This list in only valid
39 until the object is disposed of.
41 NOTES
43 Some trigger methods requires an argument (calling these with a NULL
44 argument is wrong). Use GetDTTriggerMethodDataFlags() to obtain the
45 type of the requested argument.
47 EXAMPLE
49 To call the specific method, do the following:
51 DoMethod(object, DTM_TRIGGER, myMethod);
53 BUGS
55 SEE ALSO
57 GetDTMethods()
59 INTERNALS
61 HISTORY
63 *****************************************************************************/
65 AROS_LIBFUNC_INIT
67 struct DTMethod *dtm = NULL;
68 struct opGet opGet;
70 if(object == NULL)
71 return NULL;
73 opGet.MethodID = OM_GET;
74 opGet.opg_AttrID = DTA_TriggerMethods;
75 opGet.opg_Storage = (IPTR *)&dtm;
77 if(!DoMethodA(object, (Msg)&opGet))
78 dtm = NULL;
80 return dtm;
82 AROS_LIBFUNC_EXIT
83 } /* GetDTTriggerMethods */