### Class

# Foundry DiagnosticTool

#### Description [src]

    class Foundry.DiagnosticTool : Foundry.DiagnosticProvider
      implements Json.Serializable {
      /* No available fields */
    }

Simplified base class for working with diagnostic tooling which provide a structured format.

#### Ancestors

- FoundryDiagnosticProvider
- FoundryContextual
- GObject

#### Implements

- JsonSerializable

#### Functions

###### foundry_diagnostic_tool_error_quark

No description available.

#### Instance methods

###### foundry_diagnostic_tool_dup_argv

No description available.

###### foundry_diagnostic_tool_dup_environ

No description available.

###### foundry_diagnostic_tool_set_argv

No description available.

###### foundry_diagnostic_tool_set_environ

No description available.

##### Methods inherited from FoundryDiagnosticProvider (4)

###### foundry_diagnostic_provider_diagnose

Processes `file` to extract diagnostics.

###### foundry_diagnostic_provider_dup_name

Gets a name for the provider that is expected to be displayed to users such as “Flatpak”.

###### foundry_diagnostic_provider_dup_plugin_info

No description available.

###### foundry_diagnostic_provider_list_all

Lists all diagnostics known to the provider for the project.

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.DiagnosticTool:argv

No description available.

###### Foundry.DiagnosticTool:environ

No description available.

##### Properties inherited from FoundryDiagnosticProvider (1)

###### Foundry.DiagnosticProvider:plugin-info

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 FoundryDiagnosticToolClass {
      FoundryDiagnosticProviderClass parent_class;
      DexFuture* (* prepare) (
        FoundryDiagnosticTool* self,
        FoundryProcessLauncher* launcher,
        const char* const* argv,
        const char* const* environ,
        const char* language
      );
      DexFuture* (* dup_bytes_for_stdin) (
        FoundryDiagnosticTool* self,
        GFile* file,
        GBytes* contents,
        const char* language
      );
      DexFuture* (* extract_from_stdout) (
        FoundryDiagnosticTool* self,
        GFile* file,
        GBytes* contents,
        const char* language,
        GBytes* stdout_bytes
      );

    }

No description available.

###### Class members

`parent_class: FoundryDiagnosticProviderClass`

  No description available.

`prepare: DexFuture* (* prepare) ( FoundryDiagnosticTool* self, FoundryProcessLauncher* launcher, const char* const* argv, const char* const* environ, const char* language )`

  No description available.

`dup_bytes_for_stdin: DexFuture* (* dup_bytes_for_stdin) ( FoundryDiagnosticTool* self, GFile* file, GBytes* contents, const char* language )`

  No description available.

`extract_from_stdout: DexFuture* (* extract_from_stdout) ( FoundryDiagnosticTool* self, GFile* file, GBytes* contents, const char* language, GBytes* stdout_bytes )`

  No description available.

#### Virtual methods

###### Foundry.DiagnosticToolClass.dup_bytes_for_stdin

No description available.

###### Foundry.DiagnosticToolClass.extract_from_stdout

No description available.

###### Foundry.DiagnosticToolClass.prepare

No description available.