# MIMEDirVFreeBusy

## Name

MIMEDirVFreeBusy -- iCalendar free/busy object

## Synopsis

    #include <mimedir/mimedir-vfreebusy.h>

                        MIMEDirVFreeBusy;
    enum                MIMEDirVFreeBusyType;

    MIMEDirVFreeBusy*   mimedir_vfreebusy_new               (void);
    MIMEDirVFreeBusy*   mimedir_vfreebusy_new_from_profile  (MIMEDirProfile *profile,
                                                             GError **error);
    gboolean            mimedir_vfreebusy_read_from_profile (MIMEDirVFreeBusy *vfreebusy,
                                                             MIMEDirProfile *profile,
                                                             GError **error);
    gboolean            mimedir_vfreebusy_write_to_channel  (MIMEDirVFreeBusy *vfreebusy,
                                                             GIOChannel *channel,
                                                             GError **error);
    MIMEDirProfile*     mimedir_vfreebusy_write_to_profile  (MIMEDirVFreeBusy *vfreebusy);
    gchar*              mimedir_vfreebusy_write_to_string   (MIMEDirVFreeBusy *vfreebusy);

## Description

## Details

### MIMEDirVFreeBusy

    typedef struct {
    	MIMEDirVComponent parent;

    	MIMEDirVFreeBusyPriv *priv;
    } MIMEDirVFreeBusy;

### enum MIMEDirVFreeBusyType

    typedef enum {
            MIMEDIR_VFREEBUSY_FREE,
            MIMEDIR_VFREEBUSY_BUSY,
            MIMEDIR_VFREEBUSY_BUSY_UNAVAILABLE,
            MIMEDIR_VFREEBUSY_BUSY_TENTATIVE
    } MIMEDirVFreeBusyType;

### mimedir_vfreebusy_new ()

    MIMEDirVFreeBusy*   mimedir_vfreebusy_new               (void);

Creates a new (empty) vFreeBusy object.

Returns : | a new vFreeBusy object

### mimedir_vfreebusy_new_from_profile ()

    MIMEDirVFreeBusy*   mimedir_vfreebusy_new_from_profile  (MIMEDirProfile *profile,
                                                             GError **error);

Create a new vFreeBusy object and fills it with data retrieved from the supplied profile object. If an error occurs during the read, `error` will be set and `NULL` will be returned.

`profile` : | a MIMEDirProfile object
`error` : | error storage location or `NULL`
Returns : | the new vFreeBusy object or `NULL`

### mimedir_vfreebusy_read_from_profile ()

    gboolean            mimedir_vfreebusy_read_from_profile (MIMEDirVFreeBusy *vfreebusy,
                                                             MIMEDirProfile *profile,
                                                             GError **error);

Clears the supplied vFreeBusy object and re-initializes it with data read from the supplied profile. If an error occurs during the read, `error` will be set and `FALSE` will be returned. Otherwise, `TRUE` is returned.

`vfreebusy` : | a vFreeBusy object
`profile` : | a profile object
`error` : | error storage location or `NULL`
Returns : | success indicator

### mimedir_vfreebusy_write_to_channel ()

    gboolean            mimedir_vfreebusy_write_to_channel  (MIMEDirVFreeBusy *vfreebusy,
                                                             GIOChannel *channel,
                                                             GError **error);

Saves the vfreebusy object to the supplied I/O channel. If an error occurs during the write, `error` will be set and `FALSE` will be returned. Otherwise, `TRUE` is returned.

`vfreebusy` : | a vfreebusy
`channel` : | I/O channel to save to
`error` : | error storage location or `NULL`
Returns : | success indicator

### mimedir_vfreebusy_write_to_profile ()

    MIMEDirProfile*     mimedir_vfreebusy_write_to_profile  (MIMEDirVFreeBusy *vfreebusy);

Saves the vfreebusy object to a newly allocated profile object.

`vfreebusy` : | a vfreebusy
Returns : | a new profile

### mimedir_vfreebusy_write_to_string ()

    gchar*              mimedir_vfreebusy_write_to_string   (MIMEDirVFreeBusy *vfreebusy);

Saves the vfreebusy object to a newly allocated memory buffer. You should free the returned buffer with `g_free()`.

`vfreebusy` : | a vfreebusy
Returns : | a newly allocated memory buffer