BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
sfiglueproxy.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __SFI_GLUE_PROXY_H__
3 #define __SFI_GLUE_PROXY_H__
4 
5 #include <sfi/sfiglue.hh>
6 
7 G_BEGIN_DECLS
8 
9 
10 /* --- typedefs --- */
11 typedef enum /*< skip >*/
12 {
13  SFI_GLUE_EVENT_RELEASE = ('G' << 16) | ('e' << 8) | 'R',
14  SFI_GLUE_EVENT_NOTIFY = ('G' << 16) | ('e' << 8) | 'N',
15  SFI_GLUE_EVENT_NOTIFY_CANCEL = ('G' << 16) | ('e' << 8) | 'C'
16 } SfiGlueEventType;
17 typedef void (*SfiProxyDestroy) (gpointer data,
18  SfiProxy destroyed_proxy);
19 
20 
21 /* --- functions --- */
22 const gchar* sfi_glue_proxy_iface (SfiProxy proxy);
23 gboolean sfi_glue_proxy_is_a (SfiProxy proxy,
24  const gchar *type);
25 void sfi_glue_proxy_connect (SfiProxy proxy,
26  const gchar *signal,
27  ...) G_GNUC_NULL_TERMINATED;
28 void sfi_glue_proxy_disconnect (SfiProxy proxy,
29  const gchar *signal,
30  ...) G_GNUC_NULL_TERMINATED;
31 gboolean sfi_glue_proxy_pending (SfiProxy proxy,
32  const gchar *signal,
33  GCallback callback,
34  gpointer data);
35 void sfi_glue_proxy_set_qdata_full (SfiProxy proxy,
36  GQuark quark,
37  gpointer data,
38  GDestroyNotify destroy);
39 gpointer sfi_glue_proxy_get_qdata (SfiProxy proxy,
40  GQuark quark);
41 gpointer sfi_glue_proxy_steal_qdata (SfiProxy proxy,
42  GQuark quark);
43 void sfi_glue_proxy_weak_ref (SfiProxy proxy,
44  SfiProxyDestroy weak_notify,
45  gpointer data);
46 void sfi_glue_proxy_weak_unref (SfiProxy proxy,
47  SfiProxyDestroy weak_notify,
48  gpointer data);
49 void sfi_glue_proxy_set (SfiProxy proxy,
50  const gchar *prop,
51  ...) G_GNUC_NULL_TERMINATED;
52 void sfi_glue_proxy_get (SfiProxy proxy,
53  const gchar *prop,
54  ...) G_GNUC_NULL_TERMINATED;
55 void sfi_glue_proxy_set_property (SfiProxy proxy,
56  const gchar *prop,
57  const GValue *value);
58 const GValue* sfi_glue_proxy_get_property (SfiProxy proxy,
59  const gchar *prop);
60 GParamSpec* sfi_glue_proxy_get_pspec (SfiProxy proxy,
61  const gchar *name);
62 SfiSCategory sfi_glue_proxy_get_pspec_scategory (SfiProxy proxy,
63  const gchar *name);
64 const gchar** sfi_glue_proxy_list_properties (SfiProxy proxy,
65  const gchar *first_ancestor,
66  const gchar *last_ancestor,
67  guint *n_props);
68 gulong sfi_glue_signal_connect_data (SfiProxy proxy,
69  const gchar *signal,
70  gpointer sig_func,
71  gpointer sig_data,
72  GClosureNotify sig_data_destroy,
73  GConnectFlags connect_flags);
74 #define sfi_glue_signal_connect(p,s,f,d) sfi_glue_signal_connect_data ((p), (s), (f), (d), NULL, 0)
75 #define sfi_glue_signal_connect_swapped(p,s,f,d) sfi_glue_signal_connect_data ((p), (s), (f), (d), NULL, G_CONNECT_SWAPPED)
76 gulong sfi_glue_signal_connect_closure (SfiProxy proxy,
77  const gchar *signal,
78  GClosure *closure,
79  gpointer search_data);
80 void sfi_glue_signal_disconnect (SfiProxy proxy,
81  gulong connection_id);
82 
83 
84 /* --- internal --- */
85 gboolean _sfi_glue_proxy_watch_release (SfiProxy proxy);
86 void _sfi_glue_proxy_processed_notify (guint notify_id);
87 void _sfi_glue_context_clear_proxies (SfiGlueContext *context);
88 void _sfi_glue_proxy_dispatch_event (SfiSeq *event);
89 GQuark sfi_glue_proxy_get_signal_quark (const gchar *signal);
90 void sfi_glue_proxy_cancel_matched_event (SfiSeq *event,
91  SfiProxy proxy,
92  GQuark signal_quark);
93 
94 
95 G_END_DECLS
96 
97 #endif /* __SFI_GLUE_PROXY_H__ */
98 
99 /* vim:set ts=8 sts=2 sw=2: */