BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
sfiglueproxy.hh
Go to the documentation of this file.
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: */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines