23 gchar* sfi_glue_base_iface (
void);
24 const gchar** sfi_glue_iface_children (
const gchar *iface_name);
25 SfiGlueIFace* sfi_glue_describe_iface (
const gchar *iface_name);
39 GParamSpec *ret_param;
44 SfiGlueProc* sfi_glue_describe_proc (
const gchar *proc_name);
47 const gchar** sfi_glue_list_proc_names (
void);
48 const gchar** sfi_glue_list_method_names (
const gchar *iface_name);
50 GValue* sfi_glue_call_seq (
const gchar *proc_name,
52 GValue* sfi_glue_call_valist (
const gchar *proc_name,
53 guint8 first_arg_type,
55 void sfi_glue_vcall_void (
const gchar *proc_name,
56 guint8 first_arg_type,
58 SfiBool sfi_glue_vcall_bool (
const gchar *proc_name,
59 guint8 first_arg_type,
61 SfiInt sfi_glue_vcall_int (
const gchar *proc_name,
62 guint8 first_arg_type,
64 SfiNum sfi_glue_vcall_num (
const gchar *proc_name,
65 guint8 first_arg_type,
67 SfiReal sfi_glue_vcall_real (
const gchar *proc_name,
68 guint8 first_arg_type,
70 const gchar* sfi_glue_vcall_string (
const gchar *proc_name,
71 guint8 first_arg_type,
73 const gchar* sfi_glue_vcall_choice (
const gchar *proc_name,
74 guint8 first_arg_type,
76 SfiProxy sfi_glue_vcall_proxy (
const gchar *proc_name,
77 guint8 first_arg_type,
79 SfiSeq* sfi_glue_vcall_seq (
const gchar *proc_name,
80 guint8 first_arg_type,
82 SfiRec* sfi_glue_vcall_rec (
const gchar *proc_name,
83 guint8 first_arg_type,
85 SfiFBlock* sfi_glue_vcall_fblock (
const gchar *proc_name,
86 guint8 first_arg_type,
88 SfiBBlock* sfi_glue_vcall_bblock (
const gchar *proc_name,
89 guint8 first_arg_type,
91 GValue* sfi_glue_client_msg (
const gchar *msg,
99 SfiGlueIFace* (*describe_iface) (SfiGlueContext *context,
101 SfiGlueProc* (*describe_proc) (SfiGlueContext *context,
102 const gchar *proc_name);
103 gchar** (*list_proc_names) (SfiGlueContext *context);
104 gchar** (*list_method_names) (SfiGlueContext *context,
105 const gchar *iface_name);
106 gchar* (*base_iface) (SfiGlueContext *context);
107 gchar** (*iface_children) (SfiGlueContext *context,
108 const gchar *iface_name);
109 GValue* (*exec_proc) (SfiGlueContext *context,
110 const gchar *proc_name,
113 gchar* (*proxy_iface) (SfiGlueContext *context,
115 gboolean (*proxy_is_a) (SfiGlueContext *context,
118 gchar** (*proxy_list_properties) (SfiGlueContext *context,
120 const gchar *first_ancestor,
121 const gchar *last_ancestor);
122 GParamSpec* (*proxy_get_pspec) (SfiGlueContext *context,
124 const gchar *prop_name);
125 SfiSCategory (*proxy_get_pspec_scategory) (SfiGlueContext *context,
127 const gchar *prop_name);
128 void (*proxy_set_property) (SfiGlueContext *context,
131 const GValue *value);
132 GValue* (*proxy_get_property) (SfiGlueContext *context,
135 gboolean (*proxy_watch_release) (SfiGlueContext *context,
137 gboolean (*proxy_request_notify) (SfiGlueContext *context,
140 gboolean enable_notify);
141 void (*proxy_processed_notify) (SfiGlueContext *context,
144 GValue* (*client_msg) (SfiGlueContext *context,
148 SfiRing* (*fetch_events) (SfiGlueContext *context);
149 SfiRing* (*list_poll_fds) (SfiGlueContext *context);
150 void (*destroy) (SfiGlueContext *context);
164 void sfi_glue_context_push (SfiGlueContext *context);
165 SfiGlueContext* sfi_glue_context_current (
void);
166 void sfi_glue_context_pop (
void);
167 SfiRing* sfi_glue_context_list_poll_fds (
void);
168 void sfi_glue_context_process_fd (
void);
169 gboolean sfi_glue_context_pending (
void);
170 void sfi_glue_context_dispatch (
void);
171 SfiSeq* sfi_glue_context_fetch_event (
void);
172 void sfi_glue_context_destroy (SfiGlueContext *context);
177 typedef void (*SfiGlueGcFreeFunc) (
void*);
179 typedef void *SfiGlueGcFreeFunc;
182 void sfi_glue_gc_add (gpointer data,
183 SfiGlueGcFreeFunc free_func);
184 void sfi_glue_gc_remove (gpointer data,
185 SfiGlueGcFreeFunc free_func);
186 void sfi_glue_gc_free_now (gpointer data,
187 SfiGlueGcFreeFunc free_func);
188 void sfi_glue_gc_run (
void);
192 gboolean _sfi_glue_gc_test (gpointer data,
194 SfiGlueIFace* sfi_glue_iface_new (
const gchar *iface_name);
195 SfiGlueProc* sfi_glue_proc_new (
const gchar *proc_name);
198 void sfi_glue_proc_add_ret_param (
SfiGlueProc *proc,
200 gboolean _sfi_glue_proxy_request_notify (SfiProxy proxy,
202 gboolean enable_notify);
206 void _sfi_init_glue (
void);
207 void sfi_glue_context_common_init (SfiGlueContext *context,
209 static inline SfiGlueContext*
210 sfi_glue_fetch_context (
const gchar *floc);
211 static inline SfiGlueContext*
212 sfi_glue_fetch_context (
const gchar *floc)
214 SfiGlueContext *context = sfi_glue_context_current ();
216 g_error (
"%s: SfiGlue function called without context (use sfi_glue_context_push())", floc);
Definition: sfiglue.hh:155
Definition: sfiglue.hh:33
Definition: sfiglue.hh:97
Definition: sfiring.hh:23
Definition: sfiglue.hh:14