1 /* Copyright (C) 2010, Parrot Foundation.
2  * $Id$
3  */
4 
5 #ifndef PARROT_EVENTS_H_GUARD
6 #define PARROT_EVENTS_H_GUARD
7 
8 /* HEADERIZER BEGIN: src/events.c */
9 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
10 
11 PARROT_EXPORT
12 void Parrot_cx_add_handler(PARROT_INTERP, ARGIN(PMC *handler))
13         __attribute__nonnull__(1)
14         __attribute__nonnull__(2);
15 
16 PARROT_EXPORT
17 void Parrot_cx_add_handler_local(PARROT_INTERP, ARGIN(PMC *handler))
18         __attribute__nonnull__(1)
19         __attribute__nonnull__(2);
20 
21 PARROT_EXPORT
22 INTVAL Parrot_cx_count_handlers_local(PARROT_INTERP)
23         __attribute__nonnull__(1);
24 
25 PARROT_EXPORT
26 INTVAL Parrot_cx_count_handlers_typed(PARROT_INTERP,
27     ARGIN(STRING *handler_type))
28         __attribute__nonnull__(1)
29         __attribute__nonnull__(2);
30 
31 PARROT_EXPORT
32 void Parrot_cx_delete_handler_local(PARROT_INTERP)
33         __attribute__nonnull__(1);
34 
35 PARROT_EXPORT
36 void Parrot_cx_delete_handler_typed(PARROT_INTERP,
37     ARGIN(STRING *handler_type))
38         __attribute__nonnull__(1)
39         __attribute__nonnull__(2);
40 
41 PARROT_EXPORT
42 void Parrot_cx_delete_upto_handler_local(PARROT_INTERP, ARGIN(PMC *handler))
43         __attribute__nonnull__(1)
44         __attribute__nonnull__(2);
45 
46 PARROT_EXPORT
47 PARROT_CAN_RETURN_NULL
48 PMC * Parrot_cx_find_handler_for_task(PARROT_INTERP, ARGIN(PMC *task))
49         __attribute__nonnull__(1)
50         __attribute__nonnull__(2);
51 
52 PARROT_EXPORT
53 PARROT_CAN_RETURN_NULL
54 PMC * Parrot_cx_find_handler_local(PARROT_INTERP, ARGIN(PMC *task))
55         __attribute__nonnull__(1)
56         __attribute__nonnull__(2);
57 
58 #define ASSERT_ARGS_Parrot_cx_add_handler __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
59        PARROT_ASSERT_ARG(interp) \
60     , PARROT_ASSERT_ARG(handler))
61 #define ASSERT_ARGS_Parrot_cx_add_handler_local __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
62        PARROT_ASSERT_ARG(interp) \
63     , PARROT_ASSERT_ARG(handler))
64 #define ASSERT_ARGS_Parrot_cx_count_handlers_local \
65      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
66        PARROT_ASSERT_ARG(interp))
67 #define ASSERT_ARGS_Parrot_cx_count_handlers_typed \
68      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
69        PARROT_ASSERT_ARG(interp) \
70     , PARROT_ASSERT_ARG(handler_type))
71 #define ASSERT_ARGS_Parrot_cx_delete_handler_local \
72      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
73        PARROT_ASSERT_ARG(interp))
74 #define ASSERT_ARGS_Parrot_cx_delete_handler_typed \
75      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
76        PARROT_ASSERT_ARG(interp) \
77     , PARROT_ASSERT_ARG(handler_type))
78 #define ASSERT_ARGS_Parrot_cx_delete_upto_handler_local \
79      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
80        PARROT_ASSERT_ARG(interp) \
81     , PARROT_ASSERT_ARG(handler))
82 #define ASSERT_ARGS_Parrot_cx_find_handler_for_task \
83      __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
84        PARROT_ASSERT_ARG(interp) \
85     , PARROT_ASSERT_ARG(task))
86 #define ASSERT_ARGS_Parrot_cx_find_handler_local __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
87        PARROT_ASSERT_ARG(interp) \
88     , PARROT_ASSERT_ARG(task))
89 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
90 /* HEADERIZER END: src/events.c */
91 
92 #endif /* PARROT_EVENTS_H_GUARD */
93 
94 /*
95  * Local variables:
96  *   c-file-style: "parrot"
97  * End:
98  * vim: expandtab shiftwidth=4 cinoptions='\:2=2' :
99  */
100