### Class

# Foundry Config

#### Description [src]

    abstract class Foundry.Config : Foundry.Contextual
      implements Json.Serializable {
      /* No available fields */
    }

An abstract base class for build configurations.

#### Ancestors

- FoundryContextual
- GObject

#### Implements

- JsonSerializable

#### Instance methods

###### foundry_config_can_default

No description available.

###### foundry_config_change_sdk

Change the SDK for the config and write the config to disk.

since: 1.1

###### foundry_config_dup_build_system

The build system the configuration specifies to be used.

###### foundry_config_dup_builddir

Determines where the project build should occur.

###### foundry_config_dup_config_opts

The config options.

###### foundry_config_dup_default_command

Gets the default command for the config, if any.

###### foundry_config_dup_environ

Gets the environment variables to use for a particular locality.

###### foundry_config_dup_id

No description available.

###### foundry_config_dup_name

Gets the user-visible name for the configuration.

###### foundry_config_dup_provider

Gets the provider which provides this config.

since: 1.1

###### foundry_config_get_active

No description available.

###### foundry_config_resolve_sdk

Tries to locate the preferred SDK for a configuration and device.

###### foundry_config_save

Requests the config save back to disk.

since: 1.1

###### foundry_config_set_id

Sets the identifier of the config.

###### foundry_config_set_name

Set the user-visible name of the config.

###### foundry_config_supports_sdk

Checks if the configuration supports the given SDK.

since: 1.1

##### Methods inherited from FoundryContextual (4)

###### foundry_contextual_acquire

This method provides a checked way to get a `context` for the contextual.

since: 1.1

###### foundry_contextual_dup_context

Gets the `FoundryContext` that `self` is a part of while safely increasing the reference count of the resulting `FoundryContext` by 1.

###### foundry_contextual_inhibit

Creates a new `FoundryInhibitor` that will keep the `FoundryContext` alive and prevent shutdown until `foundry_inhibitor_uninhibit()` is called or the `FoundryInhibitor` is finalized, whichever comes first.

###### foundry_contextual_log

No description available.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from JsonSerializable (8)

###### json_serializable_default_deserialize_property

Calls the default implementation of the `Json.SerializableIface.deserialize_property` virtual function.

###### json_serializable_default_serialize_property

Calls the default implementation of the `Json.SerializableIface.serialize_property` virtual function.

###### json_serializable_deserialize_property

Asks a `JsonSerializable` implementation to deserialize the property contained inside `property_node` and place its value into `value`.

###### json_serializable_find_property

Calls the `Json.SerializableIface.find_property` implementation on the `JsonSerializable` instance, which will return the property description for the given name.

###### json_serializable_get_property

Calls the `Json.SerializableIface.get_property` implementation on the `JsonSerializable` instance, which will get the value of the given property.

###### json_serializable_list_properties

Calls the `Json.SerializableIface.list_properties` implementation on the `JsonSerializable` instance, which will return the list of serializable properties.

###### json_serializable_serialize_property

Asks a `JsonSerializable` implementation to serialize an object property into a JSON node.

###### json_serializable_set_property

Calls the `Json.SerializableIface.set_property` implementation on the `JsonSerializable` instance, which will set the property with the given value.

#### Properties

###### Foundry.Config:active

No description available.

###### Foundry.Config:build-system

No description available.

###### Foundry.Config:can-default

No description available.

###### Foundry.Config:config-opts

No description available.

###### Foundry.Config:id

No description available.

###### Foundry.Config:name

No description available.

###### Foundry.Config:priority

No description available.

###### Foundry.Config:provider

No description available.

##### Properties inherited from FoundryContextual (1)

###### Foundry.Contextual:context

No description available.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct FoundryConfigClass {
      FoundryContextualClass parent_class;
      DexFuture* (* resolve_sdk) (
        FoundryConfig* self,
        FoundryDevice* device
      );
      char** (* dup_environ) (
        FoundryConfig* self,
        FoundryLocality locality
      );
      char* (* dup_build_system) (
        FoundryConfig* self
      );
      gboolean (* can_default) (
        FoundryConfig* self,
        guint* priority
      );
      char* (* dup_builddir) (
        FoundryConfig* self,
        FoundryBuildPipeline* pipeline
      );
      char** (* dup_config_opts) (
        FoundryConfig* self
      );
      FoundryCommand* (* dup_default_command) (
        FoundryConfig* self
      );
      gboolean (* supports_sdk) (
        FoundryConfig* self,
        FoundrySdk* sdk
      );
      DexFuture* (* change_sdk) (
        FoundryConfig* self,
        FoundrySdk* sdk
      );
      DexFuture* (* save) (
        FoundryConfig* self
      );

    }

No description available.

###### Class members

`parent_class: FoundryContextualClass`

  No description available.

`resolve_sdk: DexFuture* (* resolve_sdk) ( FoundryConfig* self, FoundryDevice* device )`

  No description available.

`dup_environ: char** (* dup_environ) ( FoundryConfig* self, FoundryLocality locality )`

  No description available.

`dup_build_system: char* (* dup_build_system) ( FoundryConfig* self )`

  No description available.

`can_default: gboolean (* can_default) ( FoundryConfig* self, guint* priority )`

  No description available.

`dup_builddir: char* (* dup_builddir) ( FoundryConfig* self, FoundryBuildPipeline* pipeline )`

  No description available.

`dup_config_opts: char** (* dup_config_opts) ( FoundryConfig* self )`

  No description available.

`dup_default_command: FoundryCommand* (* dup_default_command) ( FoundryConfig* self )`

  No description available.

`supports_sdk: gboolean (* supports_sdk) ( FoundryConfig* self, FoundrySdk* sdk )`

  No description available.

`change_sdk: DexFuture* (* change_sdk) ( FoundryConfig* self, FoundrySdk* sdk )`

  No description available.

`save: DexFuture* (* save) ( FoundryConfig* self )`

  No description available.

#### Virtual methods

###### Foundry.ConfigClass.can_default

No description available.

###### Foundry.ConfigClass.change_sdk

Change the SDK for the config and write the config to disk.

since: 1.1

###### Foundry.ConfigClass.dup_build_system

The build system the configuration specifies to be used.

###### Foundry.ConfigClass.dup_builddir

Determines where the project build should occur.

###### Foundry.ConfigClass.dup_config_opts

The config options.

###### Foundry.ConfigClass.dup_default_command

Gets the default command for the config, if any.

###### Foundry.ConfigClass.dup_environ

Gets the environment variables to use for a particular locality.

###### Foundry.ConfigClass.resolve_sdk

Tries to locate the preferred SDK for a configuration and device.

###### Foundry.ConfigClass.save

Requests the config save back to disk.

since: 1.1

###### Foundry.ConfigClass.supports_sdk

Checks if the configuration supports the given SDK.

since: 1.1