BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Defines | Typedefs | Functions
bseprocedure.hh File Reference
#include <bse/bseparam.hh>

Go to the source code of this file.

Classes

struct  BseProcedureClass

Defines

#define BSE_PROCEDURE_TYPE(proc)
#define BSE_IS_PROCEDURE_CLASS(proc)
#define BSE_PROCEDURE_NAME(proc)
#define BSE_PROCEDURE_MAX_IN_PARAMS
#define BSE_PROCEDURE_MAX_OUT_PARAMS

Typedefs

typedef void(* BseProcedureInit )(BseProcedureClass *proc, GParamSpec **in_pspecs, GParamSpec **out_pspecs)
typedef BseErrorType(* BseProcedureExec )(BseProcedureClass *procedure, const GValue *in_values, GValue *out_values)
typedef gboolean(* BseProcedureNotify )(gpointer func_data, const gchar *proc_name, BseErrorType exit_status)
typedef BseErrorType(* BseProcedureMarshal )(gpointer marshal_data, BseProcedureClass *proc, const GValue *ivalues, GValue *ovalues)

Functions

BseErrorType bse_procedure_exec (const gchar *proc_name,...)
BseErrorType bse_procedure_exec_void (const gchar *proc_name,...)
GType bse_procedure_lookup (const gchar *proc_name)
BseErrorType bse_procedure_marshal_valist (GType proc_type, const GValue *first_value, BseProcedureMarshal marshal, gpointer marshal_data, gboolean skip_ovalues, va_list var_args)
BseErrorType bse_procedure_marshal (GType proc_type, const GValue *ivalues, GValue *ovalues, BseProcedureMarshal marshal, gpointer marshal_data)
BseErrorType bse_procedure_collect_input_args (BseProcedureClass *proc, const GValue *first_value, va_list var_args, GValue ivalues[BSE_PROCEDURE_MAX_IN_PARAMS])
BseErrorType bse_procedure_execvl (BseProcedureClass *proc, GSList *in_value_list, GSList *out_value_list, BseProcedureMarshal marshal, gpointer marshal_data)
const gchar * bse_procedure_type_register (const gchar *name, BsePlugin *plugin, GType *ret_type)

Detailed Description


Function Documentation

BseErrorType bse_procedure_collect_input_args ( BseProcedureClass *  proc,
const GValue *  first_value,
va_list  var_args,
GValue  ivalues[BSE_PROCEDURE_MAX_IN_PARAMS] 
)
Parameters:
procvalid BseProcedureClass
first_valuethe first input argument if not to be collected
var_argsva_list to collect input args from
ivaluesuninitialized GValue array with at least proc->n_in_pspecs members
Returns:
BseErrorType value of error if any occoured during collection

Collect input arguments for a procedure call from a va_list. The first value may be supplied as first_value and will then not be collected. ivalues must be at least proc->n_in_pspecs elements long and all elements will be initialized after the function returns (even in error cases). first_value may be the same adress as ivalues, in whic hcase the first argument is entirely ignored and collection simply starts out with the second argument.

BseErrorType bse_procedure_marshal_valist ( GType  proc_type,
const GValue *  first_value,
BseProcedureMarshal  marshal,
gpointer  marshal_data,
gboolean  skip_ovalues,
va_list  var_args 
)
Parameters:
proc_typea type derived from BSE_TYPE_PROCEDURE
first_valuethe first input argument if not to be collected
marshalfunction marshalling the procedure call or NULL
marshal_datadata passed in to marshal
skip_ovalueswhether return value locations should be collected and filled in
var_argsva_list to collect input args from
Returns:
BseErrorType value of error if any occoured

Collect input arguments for a procedure call from a va_list and call the procedure, optionally via marshal. If skip_ovalues is FALSE, the procedure return values will be stored in return value locations also collected from var_args.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines