/** * ide_build_system_new_finish: * * Complete an asynchronous call to ide_build_system_new_async(). * * Returns: (transfer full): An #IdeBuildSystem if successful; otherwise * %NULL and @error is set. */ IdeBuildSystem * ide_build_system_new_finish (GAsyncResult *result, GError **error) { IdeObject *ret; g_return_val_if_fail (G_IS_ASYNC_RESULT (result), NULL); ret = ide_object_new_finish (result, error); return ret ? IDE_BUILD_SYSTEM (ret) : NULL; }
static void ide_autotools_build_system_get_local_makefile_async (IdeAutotoolsBuildSystem *self, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { IdeContext *context; g_autoptr(IdeConfiguration) configuration = NULL; g_autoptr(GTask) task = NULL; g_autoptr(IdeBuilder) builder = NULL; g_autoptr(GFile) build_directory = NULL; g_autoptr(GFile) makefile = NULL; GError *error = NULL; g_return_if_fail (IDE_IS_AUTOTOOLS_BUILD_SYSTEM (self)); g_return_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable)); task = g_task_new (self, cancellable, callback, user_data); context = ide_object_get_context (IDE_OBJECT (self)); configuration = ide_configuration_new (context, "autotools-bootstrap", "local", "host"); builder = ide_autotools_build_system_get_builder (IDE_BUILD_SYSTEM (self), configuration, &error); if (builder == NULL) { g_task_return_error (task, error); return; } build_directory = ide_autotools_builder_get_build_directory (IDE_AUTOTOOLS_BUILDER (builder)); makefile = g_file_get_child (build_directory, "Makefile"); g_task_return_pointer (task, g_object_ref (makefile), g_object_unref); }