### Interface

# Ide DiagnosticProvider

#### Description

    interface Ide.DiagnosticProvider : Ide.Object

No description available.

#### Prerequisite

In order to implement DiagnosticProvider, your type must inherit from `IdeObject`.

#### Implementations

- IdeDiagnosticTool
- IdeLspDiagnosticProvider

#### Instance methods

###### ide_diagnostic_provider_diagnose_async

Requests the provider diagnose `file` using `contents` as the contents of the file.

Available since: 3.32

###### ide_diagnostic_provider_diagnose_finish

Completes an asynchronous request to diagnose a file.

Available since: 3.32

###### ide_diagnostic_provider_emit_invalidated

No description available.

###### ide_diagnostic_provider_load

Loads the provider, discovering any necessary resources.

Available since: 3.32

###### ide_diagnostic_provider_unload

Unloads the provider and any allocated resources.

Available since: 3.32

#### Signals

###### Ide.DiagnosticProvider::invalidated

No description available.

#### Interface structure

    struct IdeDiagnosticProviderInterface {
      GTypeInterface parent_iface;
      void (* load) (
        IdeDiagnosticProvider* self
      );
      void (* unload) (
        IdeDiagnosticProvider* self
      );
      void (* diagnose_async) (
        IdeDiagnosticProvider* self,
        GFile* file,
        GBytes* contents,
        const gchar* lang_id,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      IdeDiagnostics* (* diagnose_finish) (
        IdeDiagnosticProvider* self,
        GAsyncResult* result,
        GError** error
      );

    }

###### Interface members

`parent_iface` |
    GTypeInterface
| No description available.
`load` |
    void (* load) (
        IdeDiagnosticProvider* self
      )
| No description available.
`unload` |
    void (* unload) (
        IdeDiagnosticProvider* self
      )
| No description available.
`diagnose_async` |
    void (* diagnose_async) (
        IdeDiagnosticProvider* self,
        GFile* file,
        GBytes* contents,
        const gchar* lang_id,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`diagnose_finish` |
    IdeDiagnostics* (* diagnose_finish) (
        IdeDiagnosticProvider* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.

#### Virtual methods

###### Ide.DiagnosticProvider.diagnose_async

Requests the provider diagnose `file` using `contents` as the contents of the file.

###### Ide.DiagnosticProvider.diagnose_finish

Completes an asynchronous request to diagnose a file.

###### Ide.DiagnosticProvider.load

Loads the provider, discovering any necessary resources.

###### Ide.DiagnosticProvider.unload

Unloads the provider and any allocated resources.