## IAnjutaVcs IAnjutaVcs — Version control system interface |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libanjuta/interfaces/ianjuta-vcs.h>

    #define             IANJUTA_VCS_ERROR
                        IAnjutaVcs;
                        IAnjutaVcsIface;
    GQuark              ianjuta_vcs_error_quark             (void);
    void                ianjuta_vcs_add                     (IAnjutaVcs *obj,
                                                             const gchar *filename,
                                                             GError **err);
    void                ianjuta_vcs_commit                  (IAnjutaVcs *obj,
                                                             const gchar *filename,
                                                             const gchar *log,
                                                             gboolean recurse,
                                                             GError **err);
    void                ianjuta_vcs_remove                  (IAnjutaVcs *obj,
                                                             const gchar *filename,
                                                             GError **err);
    void                ianjuta_vcs_update                  (IAnjutaVcs *obj,
                                                             const gchar *filename,
                                                             gboolean recurse,
                                                             GError **err);

## Object Hierarchy

      GInterface
       +----IAnjutaVcs

## Prerequisites

IAnjutaVcs requires GObject.

## Description

## Details

### IANJUTA_VCS_ERROR

    #define IANJUTA_VCS_ERROR ianjuta_vcs_error_quark()

### IAnjutaVcs

    typedef struct _IAnjutaVcs IAnjutaVcs;

### IAnjutaVcsIface

    typedef struct {
    	GTypeInterface g_iface;

    	void (*add) (IAnjutaVcs *obj, const gchar* filename, GError **err);
    	void (*commit) (IAnjutaVcs *obj, const gchar* filename,  const gchar* log,  gboolean recurse, GError **err);
    	void (*remove) (IAnjutaVcs *obj, const gchar* filename, GError **err);
    	void (*update) (IAnjutaVcs *obj, const gchar* filename,  gboolean recurse, GError **err);
    } IAnjutaVcsIface;

### ianjuta_vcs_error_quark ()

    GQuark              ianjuta_vcs_error_quark             (void);

Returns : |

### ianjuta_vcs_add ()

    void                ianjuta_vcs_add                     (IAnjutaVcs *obj,
                                                             const gchar *filename,
                                                             GError **err);

Add filename to the cvs repositry.

`obj` : | Self
`filename` : | String with the filename
`err` : | Error propagation and reporting

### ianjuta_vcs_commit ()

    void                ianjuta_vcs_commit                  (IAnjutaVcs *obj,
                                                             const gchar *filename,
                                                             const gchar *log,
                                                             gboolean recurse,
                                                             GError **err);

Commit changes in filename to the cvs repositry.

`obj` : | Self
`filename` : | String with the filename
`log` : | The log message for the commit or ""
`recurse` : | TRUE to recurse into subdirectories
`err` : | Error propagation and reporting

### ianjuta_vcs_remove ()

    void                ianjuta_vcs_remove                  (IAnjutaVcs *obj,
                                                             const gchar *filename,
                                                             GError **err);

`obj` : |
`filename` : |
`err` : |

### ianjuta_vcs_update ()

    void                ianjuta_vcs_update                  (IAnjutaVcs *obj,
                                                             const gchar *filename,
                                                             gboolean recurse,
                                                             GError **err);

Update filename with the cvs repositry.

`obj` : | Self
`filename` : | String with the filename
`recurse` : | TRUE to recurse into subdirectories
`err` : | Error propagation and reporting