static void xmms_bindata_unregister_ipc_commands (void) { xmms_ipc_object_unregister (10); }
/** * @internal Destroy the main object * @param[in] object The object to destroy */ static void xmms_main_destroy (xmms_object_t *object) { xmms_main_t *mainobj = (xmms_main_t *) object; xmms_object_cmd_arg_t arg; xmms_config_property_t *cv; cv = xmms_config_lookup ("core.shutdownpath"); do_scriptdir (xmms_config_property_get_string (cv), "stop"); /* stop output */ xmms_object_cmd_arg_init (&arg); xmms_object_cmd_call (XMMS_OBJECT (mainobj->output), XMMS_IPC_CMD_STOP, &arg); g_usleep (G_USEC_PER_SEC); /* wait for the output thread to end */ xmms_object_unref (mainobj->vis); xmms_object_unref (mainobj->output); xmms_object_unref (xform_obj); xmms_config_save (); xmms_config_shutdown (); xmms_plugin_shutdown (); xmms_ipc_object_unregister (XMMS_IPC_OBJECT_MAIN); xmms_ipc_shutdown (); xmms_log_shutdown (); }
static void xmms_coll_sync_unregister_ipc_commands (void) { xmms_ipc_object_unregister (11); }
static void xmms_output_destroy (xmms_object_t *object) { xmms_output_t *output = (xmms_output_t *)object; output->monitor_volume_running = FALSE; if (output->monitor_volume_thread) { g_thread_join (output->monitor_volume_thread); output->monitor_volume_thread = NULL; } xmms_output_filler_state (output, FILLER_QUIT); g_thread_join (output->filler_thread); if (output->plugin) { xmms_output_plugin_method_destroy (output->plugin, output); xmms_object_unref (output->plugin); } xmms_object_unref (output->playlist); g_mutex_free (output->status_mutex); g_mutex_free (output->playtime_mutex); g_mutex_free (output->filler_mutex); g_cond_free (output->filler_state_cond); xmms_ringbuf_destroy (output->filler_buffer); xmms_ipc_broadcast_unregister ( XMMS_IPC_SIGNAL_OUTPUT_VOLUME_CHANGED); xmms_ipc_broadcast_unregister ( XMMS_IPC_SIGNAL_PLAYBACK_STATUS); xmms_ipc_broadcast_unregister ( XMMS_IPC_SIGNAL_OUTPUT_CURRENTID); xmms_ipc_signal_unregister (XMMS_IPC_SIGNAL_OUTPUT_PLAYTIME); xmms_ipc_object_unregister (XMMS_IPC_OBJECT_OUTPUT); }
static void xmms_medialib_unregister_ipc_commands (void) { xmms_ipc_broadcast_unregister (8); xmms_ipc_broadcast_unregister (9); xmms_ipc_broadcast_unregister (10); xmms_ipc_object_unregister (5); }
static void xmms_mediainfo_reader_stop (xmms_object_t *o) { xmms_mediainfo_reader_t *mir = (xmms_mediainfo_reader_t *) o; g_mutex_lock (mir->mutex); mir->running = FALSE; g_cond_signal (mir->cond); g_mutex_unlock (mir->mutex); xmms_ipc_broadcast_unregister (XMMS_IPC_SIGNAL_MEDIAINFO_READER_STATUS); xmms_ipc_signal_unregister (XMMS_IPC_SIGNAL_MEDIAINFO_READER_UNINDEXED); xmms_ipc_object_unregister (XMMS_IPC_OBJECT_MEDIAINFO_READER); g_thread_join (mir->thread); g_cond_free (mir->cond); g_mutex_free (mir->mutex); }