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