## IdeVcs IdeVcs |

## Functions

IdeBufferChangeMonitor * | ide_vcs_get_buffer_change_monitor ()
GFile * | ide_vcs_get_working_directory ()
void | ide_vcs_new_async ()
IdeVcs * | ide_vcs_new_finish ()
gboolean | ide_vcs_is_ignored ()
gint | ide_vcs_get_priority ()

## Properties

IdeContext * | context | Write / Construct Only

## Types and Values

#define | IDE_TYPE_VCS
struct | IdeVcsInterface
| IdeVcs

## Object Hierarchy

        GInterface
        ╰── IdeVcs

## Prerequisites

IdeVcs requires IdeObject.

## Known Implementations

IdeVcs is implemented by IdeDirectoryVcs.

## Description

## Functions

### ide_vcs_get_buffer_change_monitor ()

    IdeBufferChangeMonitor *
    ide_vcs_get_buffer_change_monitor (IdeVcs *self,
                                       IdeBuffer *buffer);

Gets an IdeBufferChangeMonitor for the buffer provided. If the IdeVcs implementation does not support change monitoring, or cannot for the current file, then `NULL` is returned.

#### Returns

An IdeBufferChangeMonitor or `NULL`.

[transfer full][nullable]

### ide_vcs_get_working_directory ()

    GFile *
    ide_vcs_get_working_directory (IdeVcs *self);

Retrieves the working directory for the context. This is the root of where the project files exist.

#### Parameters

self | An IdeVcs. |

#### Returns

A GFile.

[transfer none]

### ide_vcs_new_async ()

    void
    ide_vcs_new_async (IdeContext *context,
                       int io_priority,
                       GCancellable *cancellable,
                       GAsyncReadyCallback callback,
                       gpointer user_data);

### ide_vcs_new_finish ()

    IdeVcs *
    ide_vcs_new_finish (GAsyncResult *result,
                        GError **error);

Completes a call to `ide_vcs_new_async()`.

#### Returns

An IdeVcs.

[transfer full]

### ide_vcs_is_ignored ()

    gboolean
    ide_vcs_is_ignored (IdeVcs *self,
                        GFile *file,
                        GError **error);

### ide_vcs_get_priority ()

    gint
    ide_vcs_get_priority (IdeVcs *self);

## Types and Values

### IDE_TYPE_VCS

    #define IDE_TYPE_VCS (ide_vcs_get_type())

### struct IdeVcsInterface

    struct IdeVcsInterface {
      GTypeInterface            parent_interface;

      GFile                  *(*get_working_directory)     (IdeVcs     *self);
      IdeBufferChangeMonitor *(*get_buffer_change_monitor) (IdeVcs     *self,
                                                            IdeBuffer  *buffer);
      gboolean                (*is_ignored)                (IdeVcs     *self,
                                                            GFile      *file,
                                                            GError    **error);
      gint                    (*get_priority)              (IdeVcs     *self);
    };

### IdeVcs

    typedef struct _IdeVcs IdeVcs;

## Property Details

### The `“context”` property

      “context”                  IdeContext *

Context.

Flags: Write / Construct Only