20 #ifndef __XMMS_OBJECT_H__ 21 #define __XMMS_OBJECT_H__ 29 #define XMMS_OBJECT_MID 0x00455574 68 #define XMMS_OBJECT_CMD_MAX_ARGS 6 77 #define XMMS_OBJECT(p) ((xmms_object_t *)p) 78 #define XMMS_IS_OBJECT(p) (XMMS_OBJECT (p)->id == XMMS_OBJECT_MID) 103 #define xmms_object_ref(obj) do { \ 104 if (obj && XMMS_IS_OBJECT (obj)) { \ 105 g_atomic_int_inc (&(XMMS_OBJECT (obj)->ref)); \ 109 #define xmms_object_unref(obj) do { \ 110 if (obj && XMMS_IS_OBJECT (obj)) { \ 111 __int_xmms_object_unref (XMMS_OBJECT (obj)); \ 115 #define xmms_object_new(objtype,destroyfunc) (objtype *) __int_xmms_object_new (sizeof (objtype), destroyfunc)
void __int_xmms_object_unref(xmms_object_t *object)
xmmsv_t * xmms_convert_and_kill_bin(GString *gs)
gboolean check_string_list(xmmsv_t *list)
Checks that the list only contains string values.
int xmms_bin_to_gstring(xmmsv_t *value, GString **gs)
void xmms_object_cleanup(xmms_object_t *object)
Cleanup all the resources for the object.
void xmms_object_emit(xmms_object_t *object, guint32 signalid, xmmsv_t *data)
Emit a signal and thus call all the handlers that are connected.
void xmms_object_cmd_arg_init(xmms_object_cmd_arg_t *arg)
Initialize a command argument.
void xmms_object_emit_f(xmms_object_t *object, guint32 signalid, xmmsv_type_t type,...)
Emits a signal on the current object.
void xmms_object_cmd_call(xmms_object_t *object, guint cmdid, xmms_object_cmd_arg_t *arg)
Call a command with argument.
void xmms_object_cmd_add(xmms_object_t *object, guint cmdid, const xmms_object_cmd_func_t desc)
Add a command that could be called from the client API to a object.
int dummy_identity(xmmsv_t *value, xmmsv_t **arg)
void(* xmms_object_cmd_func_t)(xmms_object_t *object, xmms_object_cmd_arg_t *arg)
xmmsv_t * xmms_convert_and_kill_list(GList *list)
xmmsv_t * xmms_convert_and_kill_string(gchar *str)
xmmsv_t * xmms_convert_and_kill_dict(GTree *dict)
void xmms_object_connect(xmms_object_t *object, guint32 signalid, xmms_object_handler_t handler, gpointer userdata)
Connect to a signal that is emitted by this object.
void xmms_object_disconnect(xmms_object_t *object, guint32 signalid, xmms_object_handler_t handler, gpointer userdata)
Disconnect from a signal.
G_BEGIN_DECLS struct xmms_error_St xmms_error_t
void(* xmms_object_destroy_func_t)(xmms_object_t *object)
xmms_object_t * __int_xmms_object_new(gint size, xmms_object_destroy_func_t destfunc)
void(* xmms_object_handler_t)(xmms_object_t *object, xmmsv_t *data, gpointer userdata)
xmms_object_destroy_func_t destroy_func