const gchar * ide_configuration_get_display_name (IdeConfiguration *self) { g_return_val_if_fail (IDE_IS_CONFIGURATION (self), NULL); return self->display_name; }
void ide_configuration_set_runtime_id (IdeConfiguration *self, const gchar *runtime_id) { g_return_if_fail (IDE_IS_CONFIGURATION (self)); g_return_if_fail (runtime_id != NULL); if (g_strcmp0 (runtime_id, self->runtime_id) != 0) { IdeRuntimeManager *runtime_manager; IdeContext *context; g_free (self->runtime_id); self->runtime_id = g_strdup (runtime_id); ide_configuration_set_dirty (self, TRUE); g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_RUNTIME_ID]); g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_RUNTIME]); context = ide_object_get_context (IDE_OBJECT (self)); runtime_manager = ide_context_get_runtime_manager (context); ide_configuration_runtime_manager_items_changed (self, 0, 0, 0, runtime_manager); } }
gboolean ide_configuration_get_dirty (IdeConfiguration *self) { g_return_val_if_fail (IDE_IS_CONFIGURATION (self), FALSE); return self->dirty; }
/** * ide_configuration_get_environment: * * Returns: (transfer none): An #IdeEnvironment. */ IdeEnvironment * ide_configuration_get_environment (IdeConfiguration *self) { g_return_val_if_fail (IDE_IS_CONFIGURATION (self), NULL); return self->environment; }
const gchar * ide_configuration_get_runtime_id (IdeConfiguration *self) { g_return_val_if_fail (IDE_IS_CONFIGURATION (self), NULL); return self->runtime_id; }
const gchar * ide_configuration_get_config_opts (IdeConfiguration *self) { g_return_val_if_fail (IDE_IS_CONFIGURATION (self), NULL); return self->config_opts; }
/** * ide_configuration_duplicate: * @self: An #IdeConfiguration * * Copies the configuration into a new configuration. * * Returns: (transfer full): An #IdeConfiguration. */ IdeConfiguration * ide_configuration_duplicate (IdeConfiguration *self) { static gint next_counter = 2; IdeConfiguration *copy; IdeContext *context; g_autofree gchar *id = NULL; g_autofree gchar *name = NULL; g_return_val_if_fail (IDE_IS_CONFIGURATION (self), NULL); context = ide_object_get_context (IDE_OBJECT (self)); id = g_strdup_printf ("%s %d", self->id, next_counter++); name = g_strdup_printf ("%s Copy", self->display_name); copy = g_object_new (IDE_TYPE_CONFIGURATION, "config-opts", self->config_opts, "context", context, "device-id", self->device_id, "display-name", name, "id", id, "prefix", self->prefix, "runtime-id", self->runtime_id, NULL); copy->environment = ide_environment_copy (self->environment); return copy; }
static void ide_runtime_real_prepare_configuration (IdeRuntime *self, IdeConfiguration *configuration) { IdeRuntimePrivate *priv = ide_runtime_get_instance_private (self); g_autofree gchar *install_path = NULL; IdeContext *context; IdeProject *project; const gchar *project_name; g_assert (IDE_IS_RUNTIME (self)); g_assert (IDE_IS_CONFIGURATION (configuration)); context = ide_object_get_context (IDE_OBJECT (self)); project = ide_context_get_project (context); project_name = ide_project_get_name (project); install_path = g_build_filename (g_get_user_cache_dir (), "gnome-builder", "install", project_name, priv->id, NULL); ide_configuration_set_prefix (configuration, install_path); }
gint ide_configuration_get_parallelism (IdeConfiguration *self) { g_return_val_if_fail (IDE_IS_CONFIGURATION (self), -1); return self->parallelism; }
/** * ide_configuration_get_sequence: * @self: An #IdeConfiguration * * This returns a sequence number for the configuration. This is useful * for build systems that want to clear the "dirty" bit on the configuration * so that they need not bootstrap a second time. This should be done by * checking the sequence number before executing the bootstrap, and only * cleared if the sequence number matches after performing the bootstrap. * This indicates no changes have been made to the configuration in the * mean time. * * Returns: A monotonic sequence number. */ guint ide_configuration_get_sequence (IdeConfiguration *self) { g_return_val_if_fail (IDE_IS_CONFIGURATION (self), 0); return self->sequence; }
const gchar * ide_configuration_getenv (IdeConfiguration *self, const gchar *key) { g_return_val_if_fail (IDE_IS_CONFIGURATION (self), NULL); g_return_val_if_fail (key != NULL, NULL); return ide_environment_getenv (self->environment, key); }
void ide_runtime_prepare_configuration (IdeRuntime *self, IdeConfiguration *configuration) { g_return_if_fail (IDE_IS_RUNTIME (self)); g_return_if_fail (IDE_IS_CONFIGURATION (configuration)); IDE_RUNTIME_GET_CLASS (self)->prepare_configuration (self, configuration); }
/** * ide_build_system_get_builder: * @system: The #IdeBuildSystem to perform the build. * @configuration: An #IdeConfiguration. * * This function returns an #IdeBuilder that can be used to perform a * build of the project using the configuration specified. * * See ide_builder_build_async() for more information. * * Returns: (transfer full): An #IdeBuilder or %NULL and @error is set. */ IdeBuilder * ide_build_system_get_builder (IdeBuildSystem *system, IdeConfiguration *configuration, GError **error) { g_return_val_if_fail (IDE_IS_BUILD_SYSTEM (system), NULL); g_return_val_if_fail (IDE_IS_CONFIGURATION (configuration), NULL); return IDE_BUILD_SYSTEM_GET_IFACE (system)->get_builder (system, configuration, error); }
void ide_configuration_setenv (IdeConfiguration *self, const gchar *key, const gchar *value) { g_return_if_fail (IDE_IS_CONFIGURATION (self)); g_return_if_fail (key != NULL); ide_environment_setenv (self->environment, key, value); }
static void ide_configuration_environment_changed (IdeConfiguration *self, guint position, guint added, guint removed, IdeEnvironment *environment) { g_assert (IDE_IS_CONFIGURATION (self)); g_assert (IDE_IS_ENVIRONMENT (environment)); ide_configuration_set_dirty (self, TRUE); }
static void ide_builder_set_configuration (IdeBuilder *self, IdeConfiguration *configuration) { IdeBuilderPrivate *priv = ide_builder_get_instance_private (self); g_assert (IDE_IS_BUILDER (self)); g_assert (!configuration || IDE_IS_CONFIGURATION (configuration)); if (g_set_object (&priv->configuration, configuration)) g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CONFIGURATION]); }
/** * ide_configuration_get_device: * @self: An #IdeConfiguration * * Gets the device for the configuration. * * Returns: (transfer none) (nullable): An #IdeDevice. */ IdeDevice * ide_configuration_get_device (IdeConfiguration *self) { IdeDeviceManager *device_manager; IdeContext *context; g_return_val_if_fail (IDE_IS_CONFIGURATION (self), NULL); context = ide_object_get_context (IDE_OBJECT (self)); device_manager = ide_context_get_device_manager (context); return ide_device_manager_get_device (device_manager, self->device_id); }
/** * ide_configuration_get_runtime: * @self: An #IdeConfiguration * * Gets the runtime for the configuration. * * Returns: (transfer none) (nullable): An #IdeRuntime */ IdeRuntime * ide_configuration_get_runtime (IdeConfiguration *self) { IdeRuntimeManager *runtime_manager; IdeContext *context; g_return_val_if_fail (IDE_IS_CONFIGURATION (self), NULL); context = ide_object_get_context (IDE_OBJECT (self)); runtime_manager = ide_context_get_runtime_manager (context); return ide_runtime_manager_get_runtime (runtime_manager, self->runtime_id); }
void ide_configuration_set_parallelism (IdeConfiguration *self, gint parallelism) { g_return_if_fail (IDE_IS_CONFIGURATION (self)); g_return_if_fail (parallelism >= -1); if (parallelism != self->parallelism) { self->parallelism = parallelism; g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_PARALLELISM]); } }
void ide_configuration_set_prefix (IdeConfiguration *self, const gchar *prefix) { g_return_if_fail (IDE_IS_CONFIGURATION (self)); if (g_strcmp0 (prefix, self->prefix) != 0) { g_free (self->prefix); self->prefix = g_strdup (prefix); g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_PREFIX]); ide_configuration_set_dirty (self, TRUE); } }
void ide_configuration_set_config_opts (IdeConfiguration *self, const gchar *config_opts) { g_return_if_fail (IDE_IS_CONFIGURATION (self)); if (g_strcmp0 (config_opts, self->config_opts) != 0) { g_free (self->config_opts); self->config_opts = g_strdup (config_opts); g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_CONFIG_OPTS]); ide_configuration_set_dirty (self, TRUE); } }
static void ide_configuration_set_id (IdeConfiguration *self, const gchar *id) { g_return_if_fail (IDE_IS_CONFIGURATION (self)); g_return_if_fail (id != NULL); if (g_strcmp0 (id, self->id) != 0) { g_free (self->id); self->id = g_strdup (id); g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_ID]); } }
void ide_configuration_set_device (IdeConfiguration *self, IdeDevice *device) { const gchar *device_id = "local"; g_return_if_fail (IDE_IS_CONFIGURATION (self)); g_return_if_fail (!device || IDE_IS_DEVICE (device)); if (device != NULL) device_id = ide_device_get_id (device); ide_configuration_set_device_id (self, device_id); }
void ide_configuration_set_display_name (IdeConfiguration *self, const gchar *display_name) { g_return_if_fail (IDE_IS_CONFIGURATION (self)); if (g_strcmp0 (display_name, self->display_name) != 0) { g_free (self->display_name); self->display_name = g_strdup (display_name); g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_DISPLAY_NAME]); g_signal_emit (self, signals [CHANGED], 0); } }
void ide_configuration_set_runtime (IdeConfiguration *self, IdeRuntime *runtime) { const gchar *runtime_id = "host"; g_return_if_fail (IDE_IS_CONFIGURATION (self)); g_return_if_fail (!runtime || IDE_IS_RUNTIME (runtime)); if (runtime != NULL) runtime_id = ide_runtime_get_id (runtime); ide_configuration_set_runtime_id (self, runtime_id); }
void ide_configuration_set_debug (IdeConfiguration *self, gboolean debug) { g_return_if_fail (IDE_IS_CONFIGURATION (self)); debug = !!debug; if (debug != self->debug) { self->debug = debug; g_object_notify_by_pspec (G_OBJECT (self), properties [PROP_DEBUG]); ide_configuration_set_dirty (self, TRUE); } }
static IdeBuilder * ide_build_system_real_get_builder (IdeBuildSystem *self, IdeConfiguration *configuration, GError **error) { g_assert (IDE_IS_BUILD_SYSTEM (self)); g_assert (IDE_IS_CONFIGURATION (configuration)); g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, _("%s() is not supported on %s build system."), G_STRFUNC, g_type_name (G_TYPE_FROM_INSTANCE (self))); return NULL; }
static void ide_configuration_runtime_manager_items_changed (IdeConfiguration *self, guint position, guint added, guint removed, IdeRuntimeManager *runtime_manager) { IdeRuntime *runtime; g_assert (IDE_IS_CONFIGURATION (self)); g_assert (IDE_IS_RUNTIME_MANAGER (runtime_manager)); runtime = ide_runtime_manager_get_runtime (runtime_manager, self->runtime_id); if (runtime != NULL) ide_runtime_prepare_configuration (runtime, self); }
static void ide_configuration_device_manager_items_changed (IdeConfiguration *self, guint position, guint added, guint removed, IdeDeviceManager *device_manager) { IdeDevice *device; g_assert (IDE_IS_CONFIGURATION (self)); g_assert (IDE_IS_DEVICE_MANAGER (device_manager)); device = ide_device_manager_get_device (device_manager, self->device_id); if (device != NULL) ide_device_prepare_configuration (device, self); }
static IdeBuilder * ide_autotools_build_system_get_builder (IdeBuildSystem *build_system, IdeConfiguration *configuration, GError **error) { IdeBuilder *ret; IdeContext *context; g_assert (IDE_IS_AUTOTOOLS_BUILD_SYSTEM (build_system)); g_assert (IDE_IS_CONFIGURATION (configuration)); context = ide_object_get_context (IDE_OBJECT (build_system)); ret = g_object_new (IDE_TYPE_AUTOTOOLS_BUILDER, "context", context, "configuration", configuration, NULL); return ret; }