2 #ifndef __BSE_PROCEDURE_H__
3 #define __BSE_PROCEDURE_H__
10 #define BSE_PROCEDURE_TYPE(proc) (G_TYPE_FROM_CLASS (proc))
11 #define BSE_IS_PROCEDURE_CLASS(proc) (G_TYPE_CHECK_CLASS_TYPE ((proc), BSE_TYPE_PROCEDURE))
12 #define BSE_PROCEDURE_NAME(proc) (g_type_name (BSE_PROCEDURE_TYPE (proc)))
16 #define BSE_PROCEDURE_MAX_IN_PARAMS (16)
17 #define BSE_PROCEDURE_MAX_OUT_PARAMS (16)
21 typedef void (*BseProcedureInit) (BseProcedureClass *proc,
22 GParamSpec **in_pspecs,
23 GParamSpec **out_pspecs);
24 typedef Bse::ErrorType (*BseProcedureExec) (BseProcedureClass *procedure,
25 const GValue *in_values,
36 GParamSpec **in_pspecs;
38 GParamSpec **out_pspecs;
40 GTypeClass **class_refs;
44 BseProcedureExec execute;
49 typedef gboolean (*BseProcedureNotify) (gpointer func_data,
50 const gchar *proc_name,
51 Bse::ErrorType exit_status);
52 typedef Bse::ErrorType (*BseProcedureMarshal) (gpointer marshal_data,
53 BseProcedureClass *proc,
54 const GValue *ivalues,
62 Bse::ErrorType bse_procedure_exec (
const gchar *proc_name,
64 Bse::ErrorType bse_procedure_exec_void (
const gchar *proc_name,
66 GType bse_procedure_lookup (
const gchar *proc_name);
68 const GValue *first_value,
69 BseProcedureMarshal marshal,
70 gpointer marshal_data,
71 gboolean skip_ovalues,
73 Bse::ErrorType bse_procedure_marshal (GType proc_type,
74 const GValue *ivalues,
76 BseProcedureMarshal marshal,
77 gpointer marshal_data);
79 const GValue *first_value,
81 GValue ivalues[BSE_PROCEDURE_MAX_IN_PARAMS]);
82 Bse::ErrorType bse_procedure_execvl (BseProcedureClass *proc,
83 GSList *in_value_list,
84 GSList *out_value_list,
85 BseProcedureMarshal marshal,
86 gpointer marshal_data);
90 const gchar* bse_procedure_type_register (
const gchar *name,
Definition: bseprocedure.hh:27
Bse::ErrorType bse_procedure_collect_input_args(BseProcedureClass *proc, const GValue *first_value, va_list var_args, GValue ivalues[BSE_PROCEDURE_MAX_IN_PARAMS])
Definition: bseprocedure.cc:483
Bse::ErrorType bse_procedure_marshal_valist(GType proc_type, const GValue *first_value, BseProcedureMarshal marshal, gpointer marshal_data, gboolean skip_ovalues, va_list var_args)
Definition: bseprocedure.cc:451
Definition: bseplugin.hh:18