## IdeDiagnosticProvider IdeDiagnosticProvider |

## Functions

void | ide_diagnostic_provider_load ()
void | ide_diagnostic_provider_unload ()
void | ide_diagnostic_provider_emit_invalidated ()
void | ide_diagnostic_provider_diagnose_async ()
IdeDiagnostics * | ide_diagnostic_provider_diagnose_finish ()

## Signals

void | invalidated | Run Last

## Types and Values

#define | IDE_TYPE_DIAGNOSTIC_PROVIDER
struct | IdeDiagnosticProviderInterface
| IdeDiagnosticProvider

## Object Hierarchy

        GInterface
        ╰── IdeDiagnosticProvider

## Prerequisites

IdeDiagnosticProvider requires IdeObject.

## Known Implementations

IdeDiagnosticProvider is implemented by IdeLspDiagnosticProvider.

## Description

## Functions

### ide_diagnostic_provider_load ()

    void
    ide_diagnostic_provider_load (IdeDiagnosticProvider *self);

Loads the provider, discovering any necessary resources.

#### Parameters

self | a IdeDiagnosticProvider |

Since: 3.32

### ide_diagnostic_provider_unload ()

    void
    ide_diagnostic_provider_unload (IdeDiagnosticProvider *self);

Unloads the provider and any allocated resources.

#### Parameters

self | a IdeDiagnosticProvider |

Since: 3.32

### ide_diagnostic_provider_emit_invalidated ()

    void
    ide_diagnostic_provider_emit_invalidated
                                   (IdeDiagnosticProvider *self);

### ide_diagnostic_provider_diagnose_async ()

    void
    ide_diagnostic_provider_diagnose_async
                                   (IdeDiagnosticProvider *self,
                                    GFile *file,
                                    GBytes *contents,
                                    const gchar *lang_id,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

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

`callback` is executed upon completion, and the caller should call `ide_diagnostic_provider_diagnose_finish()` to get the result.

#### Parameters

self | a IdeDiagnosticProvider |
file | a GFile |
contents | the content for the buffer. | [nullable]
lang_id | the language id for the buffer. | [nullable]
cancellable | a GCancellable or `NULL`. | [nullable]
callback | a callback to execute upon completion |
user_data | closure data for `callback` |

Since: 3.32

### ide_diagnostic_provider_diagnose_finish ()

    IdeDiagnostics *
    ide_diagnostic_provider_diagnose_finish
                                   (IdeDiagnosticProvider *self,
                                    GAsyncResult *result,
                                    GError **error);

Completes an asynchronous request to diagnose a file.

#### Parameters

self | a IdeDiagnosticProvider |

#### Returns

an IdeDiagnostics or `NULL` and `error` is set.

[transfer full]

Since: 3.32

## Types and Values

### IDE_TYPE_DIAGNOSTIC_PROVIDER

    #define IDE_TYPE_DIAGNOSTIC_PROVIDER (ide_diagnostic_provider_get_type())

### struct IdeDiagnosticProviderInterface

    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);
    };

### IdeDiagnosticProvider

    typedef struct _IdeDiagnosticProvider IdeDiagnosticProvider;

## Signal Details

### The `“invalidated”` signal

    void
    user_function (IdeDiagnosticProvider *idediagnosticprovider,
                   gpointer               user_data)

Flags: Run Last