BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __SFI_GLUE_PROXY_H__ 00003 #define __SFI_GLUE_PROXY_H__ 00004 00005 #include <sfi/sfiglue.hh> 00006 00007 G_BEGIN_DECLS 00008 00009 00010 /* --- typedefs --- */ 00011 typedef enum /*< skip >*/ 00012 { 00013 SFI_GLUE_EVENT_RELEASE = ('G' << 16) | ('e' << 8) | 'R', 00014 SFI_GLUE_EVENT_NOTIFY = ('G' << 16) | ('e' << 8) | 'N', 00015 SFI_GLUE_EVENT_NOTIFY_CANCEL = ('G' << 16) | ('e' << 8) | 'C' 00016 } SfiGlueEventType; 00017 typedef void (*SfiProxyDestroy) (gpointer data, 00018 SfiProxy destroyed_proxy); 00019 00020 00021 /* --- functions --- */ 00022 const gchar* sfi_glue_proxy_iface (SfiProxy proxy); 00023 gboolean sfi_glue_proxy_is_a (SfiProxy proxy, 00024 const gchar *type); 00025 void sfi_glue_proxy_connect (SfiProxy proxy, 00026 const gchar *signal, 00027 ...) G_GNUC_NULL_TERMINATED; 00028 void sfi_glue_proxy_disconnect (SfiProxy proxy, 00029 const gchar *signal, 00030 ...) G_GNUC_NULL_TERMINATED; 00031 gboolean sfi_glue_proxy_pending (SfiProxy proxy, 00032 const gchar *signal, 00033 GCallback callback, 00034 gpointer data); 00035 void sfi_glue_proxy_set_qdata_full (SfiProxy proxy, 00036 GQuark quark, 00037 gpointer data, 00038 GDestroyNotify destroy); 00039 gpointer sfi_glue_proxy_get_qdata (SfiProxy proxy, 00040 GQuark quark); 00041 gpointer sfi_glue_proxy_steal_qdata (SfiProxy proxy, 00042 GQuark quark); 00043 void sfi_glue_proxy_weak_ref (SfiProxy proxy, 00044 SfiProxyDestroy weak_notify, 00045 gpointer data); 00046 void sfi_glue_proxy_weak_unref (SfiProxy proxy, 00047 SfiProxyDestroy weak_notify, 00048 gpointer data); 00049 void sfi_glue_proxy_set (SfiProxy proxy, 00050 const gchar *prop, 00051 ...) G_GNUC_NULL_TERMINATED; 00052 void sfi_glue_proxy_get (SfiProxy proxy, 00053 const gchar *prop, 00054 ...) G_GNUC_NULL_TERMINATED; 00055 void sfi_glue_proxy_set_property (SfiProxy proxy, 00056 const gchar *prop, 00057 const GValue *value); 00058 const GValue* sfi_glue_proxy_get_property (SfiProxy proxy, 00059 const gchar *prop); 00060 GParamSpec* sfi_glue_proxy_get_pspec (SfiProxy proxy, 00061 const gchar *name); 00062 SfiSCategory sfi_glue_proxy_get_pspec_scategory (SfiProxy proxy, 00063 const gchar *name); 00064 const gchar** sfi_glue_proxy_list_properties (SfiProxy proxy, 00065 const gchar *first_ancestor, 00066 const gchar *last_ancestor, 00067 guint *n_props); 00068 gulong sfi_glue_signal_connect_data (SfiProxy proxy, 00069 const gchar *signal, 00070 gpointer sig_func, 00071 gpointer sig_data, 00072 GClosureNotify sig_data_destroy, 00073 GConnectFlags connect_flags); 00074 #define sfi_glue_signal_connect(p,s,f,d) sfi_glue_signal_connect_data ((p), (s), (f), (d), NULL, 0) 00075 #define sfi_glue_signal_connect_swapped(p,s,f,d) sfi_glue_signal_connect_data ((p), (s), (f), (d), NULL, G_CONNECT_SWAPPED) 00076 gulong sfi_glue_signal_connect_closure (SfiProxy proxy, 00077 const gchar *signal, 00078 GClosure *closure, 00079 gpointer search_data); 00080 void sfi_glue_signal_disconnect (SfiProxy proxy, 00081 gulong connection_id); 00082 00083 00084 /* --- internal --- */ 00085 gboolean _sfi_glue_proxy_watch_release (SfiProxy proxy); 00086 void _sfi_glue_proxy_processed_notify (guint notify_id); 00087 void _sfi_glue_context_clear_proxies (SfiGlueContext *context); 00088 void _sfi_glue_proxy_dispatch_event (SfiSeq *event); 00089 GQuark sfi_glue_proxy_get_signal_quark (const gchar *signal); 00090 void sfi_glue_proxy_cancel_matched_event (SfiSeq *event, 00091 SfiProxy proxy, 00092 GQuark signal_quark); 00093 00094 00095 G_END_DECLS 00096 00097 #endif /* __SFI_GLUE_PROXY_H__ */ 00098 00099 /* vim:set ts=8 sts=2 sw=2: */