[gnome-builder/wip/chergert/pipeline-merge] configuration: add supports_device and supports_runtime
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/pipeline-merge] configuration: add supports_device and supports_runtime
- Date: Fri, 10 Feb 2017 03:50:27 +0000 (UTC)
commit 24a637a026b3b8fd76d9bd7987eefdc902e0a643
Author: Christian Hergert <chergert redhat com>
Date: Thu Feb 9 18:33:05 2017 -0800
configuration: add supports_device and supports_runtime
These are can be used to check to see if a configuration supports a
particular device or runtime. Ideally these will be used to filter the
list of available runtimes/devices in the build preferences so you can
only select valid options.
libide/buildsystem/ide-configuration.c | 34 ++++++++++++++++++++++++++++++++
libide/buildsystem/ide-configuration.h | 9 ++++++++
2 files changed, 43 insertions(+), 0 deletions(-)
---
diff --git a/libide/buildsystem/ide-configuration.c b/libide/buildsystem/ide-configuration.c
index b142793..c17cdbf 100644
--- a/libide/buildsystem/ide-configuration.c
+++ b/libide/buildsystem/ide-configuration.c
@@ -1425,3 +1425,37 @@ ide_configuration_get_ready (IdeConfiguration *self)
return priv->device_ready && priv->runtime_ready;
}
+
+gboolean
+ide_configuration_supports_device (IdeConfiguration *self,
+ IdeDevice *device)
+{
+ gboolean ret = TRUE;
+
+ IDE_ENTRY;
+
+ g_return_val_if_fail (IDE_IS_CONFIGURATION (self), FALSE);
+ g_return_val_if_fail (IDE_IS_DEVICE (device), FALSE);
+
+ if (IDE_CONFIGURATION_GET_CLASS (self)->supports_device)
+ ret = IDE_CONFIGURATION_GET_CLASS (self)->supports_device (self, device);
+
+ IDE_RETURN (ret);
+}
+
+gboolean
+ide_configuration_supports_runtime (IdeConfiguration *self,
+ IdeRuntime *runtime)
+{
+ gboolean ret = TRUE;
+
+ IDE_ENTRY;
+
+ g_return_val_if_fail (IDE_IS_CONFIGURATION (self), FALSE);
+ g_return_val_if_fail (IDE_IS_RUNTIME (runtime), FALSE);
+
+ if (IDE_CONFIGURATION_GET_CLASS (self)->supports_runtime)
+ ret = IDE_CONFIGURATION_GET_CLASS (self)->supports_runtime (self, runtime);
+
+ IDE_RETURN (ret);
+}
diff --git a/libide/buildsystem/ide-configuration.h b/libide/buildsystem/ide-configuration.h
index fe6b5e6..f744684 100644
--- a/libide/buildsystem/ide-configuration.h
+++ b/libide/buildsystem/ide-configuration.h
@@ -34,6 +34,11 @@ struct _IdeConfigurationClass
{
IdeObjectClass parent;
+ gboolean (*supports_device) (IdeConfiguration *self,
+ IdeDevice *device);
+ gboolean (*supports_runtime) (IdeConfiguration *self,
+ IdeRuntime *runtime);
+
gpointer _reserved1;
gpointer _reserved2;
gpointer _reserved3;
@@ -103,6 +108,10 @@ guint ide_configuration_get_sequence (IdeConfiguration
const gchar *ide_configuration_get_app_id (IdeConfiguration *self);
void ide_configuration_set_app_id (IdeConfiguration *self,
const gchar *app_id);
+gboolean ide_configuration_supports_device (IdeConfiguration *self,
+ IdeDevice *device);
+gboolean ide_configuration_supports_runtime (IdeConfiguration *self,
+ IdeRuntime *runtime);
const gchar *ide_configuration_get_internal_string (IdeConfiguration *self,
const gchar *key);
void ide_configuration_set_internal_string (IdeConfiguration *self,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]