gboolean ide_project_miner_mine_finish (IdeProjectMiner *self, GAsyncResult *result, GError **error) { g_return_val_if_fail (IDE_IS_PROJECT_MINER (self), FALSE); g_return_val_if_fail (G_IS_ASYNC_RESULT (result), FALSE); return IDE_PROJECT_MINER_GET_IFACE (self)->mine_finish (self, result, error); }
void ide_project_miner_mine_async (IdeProjectMiner *self, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail (IDE_IS_PROJECT_MINER (self)); g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable)); IDE_PROJECT_MINER_GET_IFACE (self)->mine_async (self, cancellable, callback, user_data); }
static void ide_recent_projects__miner_discovered (IdeRecentProjects *self, IdeProjectInfo *project_info, IdeProjectMiner *miner) { g_assert (IDE_IS_PROJECT_MINER (miner)); g_assert (IDE_IS_RECENT_PROJECTS (self)); g_assert (IDE_IS_PROJECT_INFO (project_info)); ide_recent_projects_added (self, project_info); }
void ide_project_miner_emit_discovered (IdeProjectMiner *self, IdeProjectInfo *project_info) { gpointer *data; g_return_if_fail (IDE_IS_PROJECT_MINER (self)); g_return_if_fail (IDE_IS_PROJECT_INFO (project_info)); data = g_new0 (gpointer, 2); data[0] = g_object_ref (self); data[1] = g_object_ref (project_info); g_timeout_add (0, emit_discovered_cb, data); }
static void ide_recent_projects_add_miner (IdeRecentProjects *self, IdeProjectMiner *miner) { g_assert (IDE_IS_RECENT_PROJECTS (self)); g_assert (IDE_IS_PROJECT_MINER (miner)); g_signal_connect_object (miner, "discovered", G_CALLBACK (ide_recent_projects__miner_discovered), self, G_CONNECT_SWAPPED); g_ptr_array_add (self->miners, g_object_ref (miner)); }
static void foreach_miner_func (PeasExtensionSet *set, PeasPluginInfo *plugin_info, PeasExtension *exten, gpointer user_data) { IdeRecentProjects *self = user_data; g_assert (PEAS_IS_EXTENSION_SET (set)); g_assert (plugin_info != NULL); g_assert (IDE_IS_PROJECT_MINER (exten)); g_assert (IDE_IS_RECENT_PROJECTS (self)); ide_recent_projects_add_miner (self, IDE_PROJECT_MINER (exten)); }
static void ide_recent_projects__miner_mine_cb (GObject *object, GAsyncResult *result, gpointer user_data) { IdeRecentProjects *self; g_autoptr(GTask) task = user_data; IdeProjectMiner *miner = (IdeProjectMiner *)object; g_assert (G_IS_TASK (task)); g_assert (IDE_IS_PROJECT_MINER (miner)); self = g_task_get_source_object (task); g_assert (IDE_IS_RECENT_PROJECTS (self)); ide_project_miner_mine_finish (miner, result, NULL); if (--self->active == 0) g_task_return_boolean (task, TRUE); }