SFI Interface Reference

/opt/src/beast/sfi/sfiglue.h

SYNOPSIS

struct  SfiGlueContextTable;
struct  SfiGlueIFace;
struct  SfiGlueProc;
struct  _SfiGlueContext;
   
gboolean  _sfi_glue_gc_test  (data, free_func);
gboolean  _sfi_glue_proxy_request_notify  (proxy, signal, enable_notify);
void  _sfi_init_glue  ();
gchar*  sfi_glue_base_iface  ();
GValue*  sfi_glue_call_seq  (proc_name, params);
GValue*  sfi_glue_call_valist  (proc_name, first_arg_type, var_args);
GValue*  sfi_glue_client_msg  (msg, value);
void  sfi_glue_context_common_init  (context, vtable);
SfiGlueContext*  sfi_glue_context_current  ();
void  sfi_glue_context_destroy  (context);
void  sfi_glue_context_dispatch  ();
SfiSeq*  sfi_glue_context_fetch_event  ();
SfiRing*  sfi_glue_context_list_poll_fds  ();
gboolean  sfi_glue_context_pending  ();
void  sfi_glue_context_pop  ();
void  sfi_glue_context_process_fd  ();
void  sfi_glue_context_push  (context);
SfiGlueIFace*  sfi_glue_describe_iface  (iface_name);
SfiGlueProc*  sfi_glue_describe_proc  (proc_name);
SfiGlueContext*  sfi_glue_fetch_context  (floc);
void  sfi_glue_gc_add  (data, free_func);
void  sfi_glue_gc_free_now  (data, free_func);
void  sfi_glue_gc_remove  (data, free_func);
void  sfi_glue_gc_run  ();
const gchar**  sfi_glue_iface_children  (iface_name);
SfiGlueIFace*  sfi_glue_iface_new  (iface_name);
SfiGlueIFace*  sfi_glue_iface_ref  (iface);
void  sfi_glue_iface_unref  (iface);
const gchar**  sfi_glue_list_method_names  (iface_name);
const gchar**  sfi_glue_list_proc_names  ();
void  sfi_glue_proc_add_param  (proc, param);
void  sfi_glue_proc_add_ret_param  (proc, param);
SfiGlueProc*  sfi_glue_proc_new  (proc_name);
SfiGlueProc*  sfi_glue_proc_ref  (proc);
void  sfi_glue_proc_unref  (proc);
SfiBBlock*  sfi_glue_vcall_bblock  (proc_name, first_arg_type, ...);
SfiBool  sfi_glue_vcall_bool  (proc_name, first_arg_type, ...);
const gchar*  sfi_glue_vcall_choice  (proc_name, first_arg_type, ...);
SfiFBlock*  sfi_glue_vcall_fblock  (proc_name, first_arg_type, ...);
SfiInt  sfi_glue_vcall_int  (proc_name, first_arg_type, ...);
SfiNum  sfi_glue_vcall_num  (proc_name, first_arg_type, ...);
SfiProxy  sfi_glue_vcall_proxy  (proc_name, first_arg_type, ...);
SfiReal  sfi_glue_vcall_real  (proc_name, first_arg_type, ...);
SfiRec*  sfi_glue_vcall_rec  (proc_name, first_arg_type, ...);
SfiSeq*  sfi_glue_vcall_seq  (proc_name, first_arg_type, ...);
const gchar*  sfi_glue_vcall_string  (proc_name, first_arg_type, ...);
void  sfi_glue_vcall_void  (proc_name, first_arg_type, ...);

DESCRIPTION

SfiGlueContextTable

/opt/src/beast/sfi/sfiglue.h:112
struct SfiGlueContextTable
{
  SfiGlueIFace* (*describe_iface)            (SfiGlueContext*context, const gchar*iface);
  SfiGlueProc*  (*describe_proc)             (SfiGlueContext*context, const gchar*proc_name);
  gchar**       (*list_proc_names)           (SfiGlueContext*context);
  gchar**       (*list_method_names)         (SfiGlueContext*context, const gchar*iface_name);
  gchar*        (*base_iface)                (SfiGlueContext*context);
  gchar**       (*iface_children)            (SfiGlueContext*context, const gchar*iface_name);
  GValue*       (*exec_proc)                 (SfiGlueContext*context, const gchar*proc_name, SfiSeq*params);
  gchar*        (*proxy_iface)               (SfiGlueContext*context, SfiProxy proxy);
  gboolean      (*proxy_is_a)                (SfiGlueContext*context, SfiProxy proxy, const gchar*iface);
  gchar**       (*proxy_list_properties)     (SfiGlueContext*context, SfiProxy proxy, const gchar*first_ancestor, const gchar*last_ancestor);
  GParamSpec*   (*proxy_get_pspec)           (SfiGlueContext*context, SfiProxy proxy, const gchar*prop_name);
  SfiSCategory  (*proxy_get_pspec_scategory) (SfiGlueContext*context, SfiProxy proxy, const gchar*prop_name);
  void          (*proxy_set_property)        (SfiGlueContext*context, SfiProxy proxy, const gchar*prop, const GValue*value);
  GValue*       (*proxy_get_property)        (SfiGlueContext*context, SfiProxy proxy, const gchar*prop);
  gboolean      (*proxy_watch_release)       (SfiGlueContext*context, SfiProxy proxy);
  gboolean      (*proxy_request_notify)      (SfiGlueContext*context, SfiProxy proxy, const gchar*signal, gboolean enable_notify);
  void          (*proxy_processed_notify)    (SfiGlueContext*context, guint notify_id);
  GValue*       (*client_msg)                (SfiGlueContext*context, const gchar*msg, GValue*value);
  SfiRing*      (*fetch_events)              (SfiGlueContext*context);
  SfiRing*      (*list_poll_fds)             (SfiGlueContext*context);
  void          (*destroy)                   (SfiGlueContext*context);
};

SfiGlueIFace

/opt/src/beast/sfi/sfiglue.h:29
struct SfiGlueIFace
{
  guint   ref_count;
  gchar  *type_name;
  guint   n_ifaces;
  gchar **ifaces;
  guint   n_props;
  gchar **props;
};

SfiGlueProc

/opt/src/beast/sfi/sfiglue.h:48
struct SfiGlueProc
{
  guint        ref_count;
  gchar       *name;
  gchar       *help;
  gchar       *authors;
  gchar       *license;
  GParamSpec  *ret_param;
  guint        n_params;
  GParamSpec **params;
};

_SfiGlueContext

/opt/src/beast/sfi/sfiglue.h:171
struct _SfiGlueContext
{
  SfiGlueContextTable table;
  gulong              seq_hook_id;
  GHashTable         *gc_hash;
  SfiUStore          *proxies;
  SfiRing            *pending_events;
};

_sfi_glue_gc_test

/opt/src/beast/sfi/sfiglue.h:202
gboolean  _sfi_glue_gc_test 
(gpointer data,
 gpointer free_func);

_sfi_glue_proxy_request_notify

/opt/src/beast/sfi/sfiglue.h:211
gboolean  _sfi_glue_proxy_request_notify 
(SfiProxy     proxy,
 const gchar *signal,
 gboolean     enable_notify);

_sfi_init_glue

/opt/src/beast/sfi/sfiglue.h:215

sfi_glue_base_iface

/opt/src/beast/sfi/sfiglue.h:38

sfi_glue_call_seq

/opt/src/beast/sfi/sfiglue.h:66
GValue*  sfi_glue_call_seq 
(const gchar *proc_name,
 SfiSeq      *params);

sfi_glue_call_valist

/opt/src/beast/sfi/sfiglue.h:69
GValue*  sfi_glue_call_valist 
(const gchar *proc_name,
 guint8       first_arg_type,
 va_list      var_args);

sfi_glue_client_msg

/opt/src/beast/sfi/sfiglue.h:107
GValue*  sfi_glue_client_msg 
(const gchar *msg,
 GValue      *value);

sfi_glue_context_common_init

/opt/src/beast/sfi/sfiglue.h:217
void  sfi_glue_context_common_init 
(SfiGlueContext            *context,
 const SfiGlueContextTable *vtable);

sfi_glue_context_current

/opt/src/beast/sfi/sfiglue.h:180

sfi_glue_context_destroy

/opt/src/beast/sfi/sfiglue.h:187

sfi_glue_context_dispatch

/opt/src/beast/sfi/sfiglue.h:185

sfi_glue_context_fetch_event

/opt/src/beast/sfi/sfiglue.h:186

sfi_glue_context_list_poll_fds

/opt/src/beast/sfi/sfiglue.h:182

sfi_glue_context_pending

/opt/src/beast/sfi/sfiglue.h:184

sfi_glue_context_pop

/opt/src/beast/sfi/sfiglue.h:181

sfi_glue_context_process_fd

/opt/src/beast/sfi/sfiglue.h:183

sfi_glue_context_push

/opt/src/beast/sfi/sfiglue.h:179

sfi_glue_describe_iface

/opt/src/beast/sfi/sfiglue.h:40

sfi_glue_describe_proc

/opt/src/beast/sfi/sfiglue.h:59

sfi_glue_fetch_context

/opt/src/beast/sfi/sfiglue.h:219

sfi_glue_gc_add

/opt/src/beast/sfi/sfiglue.h:192
void  sfi_glue_gc_add 
(gpointer data,
 gpointer free_func);

sfi_glue_gc_free_now

/opt/src/beast/sfi/sfiglue.h:196
void  sfi_glue_gc_free_now 
(gpointer data,
 gpointer free_func);

sfi_glue_gc_remove

/opt/src/beast/sfi/sfiglue.h:194
void  sfi_glue_gc_remove 
(gpointer data,
 gpointer free_func);

sfi_glue_gc_run

/opt/src/beast/sfi/sfiglue.h:197

sfi_glue_iface_children

/opt/src/beast/sfi/sfiglue.h:39
const gchar**  sfi_glue_iface_children 
(const gchar *iface_name);

sfi_glue_iface_new

/opt/src/beast/sfi/sfiglue.h:203

sfi_glue_iface_ref

/opt/src/beast/sfi/sfiglue.h:41

sfi_glue_iface_unref

/opt/src/beast/sfi/sfiglue.h:42

sfi_glue_list_method_names

/opt/src/beast/sfi/sfiglue.h:63

sfi_glue_list_proc_names

/opt/src/beast/sfi/sfiglue.h:62

sfi_glue_proc_add_param

/opt/src/beast/sfi/sfiglue.h:206

sfi_glue_proc_add_ret_param

/opt/src/beast/sfi/sfiglue.h:208

sfi_glue_proc_new

/opt/src/beast/sfi/sfiglue.h:204

sfi_glue_proc_ref

/opt/src/beast/sfi/sfiglue.h:60

sfi_glue_proc_unref

/opt/src/beast/sfi/sfiglue.h:61

sfi_glue_vcall_bblock

/opt/src/beast/sfi/sfiglue.h:105
SfiBBlock*  sfi_glue_vcall_bblock 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_bool

/opt/src/beast/sfi/sfiglue.h:75
SfiBool  sfi_glue_vcall_bool 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_choice

/opt/src/beast/sfi/sfiglue.h:90
const gchar*  sfi_glue_vcall_choice 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_fblock

/opt/src/beast/sfi/sfiglue.h:102
SfiFBlock*  sfi_glue_vcall_fblock 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_int

/opt/src/beast/sfi/sfiglue.h:78
SfiInt  sfi_glue_vcall_int 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_num

/opt/src/beast/sfi/sfiglue.h:81
SfiNum  sfi_glue_vcall_num 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_proxy

/opt/src/beast/sfi/sfiglue.h:93
SfiProxy  sfi_glue_vcall_proxy 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_real

/opt/src/beast/sfi/sfiglue.h:84
SfiReal  sfi_glue_vcall_real 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_rec

/opt/src/beast/sfi/sfiglue.h:99
SfiRec*  sfi_glue_vcall_rec 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_seq

/opt/src/beast/sfi/sfiglue.h:96
SfiSeq*  sfi_glue_vcall_seq 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_string

/opt/src/beast/sfi/sfiglue.h:87
const gchar*  sfi_glue_vcall_string 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);

sfi_glue_vcall_void

/opt/src/beast/sfi/sfiglue.h:72
void  sfi_glue_vcall_void 
(const gchar *proc_name,
 guint8       first_arg_type,
 ...);