WockyRoster

## WockyRoster WockyRoster — TODO |

## Synopsis

    #define             WOCKY_ROSTER_ERROR
    struct              WockyRosterClass;
    enum                WockyRosterError;
    enum                WockyRosterSubscriptionFlags;
    void                wocky_roster_add_contact_async      (WockyRoster *self,
                                                             const gchar *jid,
                                                             const gchar *name,
                                                             const gchar * const *groups,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            wocky_roster_add_contact_finish     (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);
    void                wocky_roster_change_contact_name_async
                                                            (WockyRoster *self,
                                                             WockyBareContact *contact,
                                                             const gchar *name,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            wocky_roster_change_contact_name_finish
                                                            (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);
    void                wocky_roster_contact_add_group_async
                                                            (WockyRoster *self,
                                                             WockyBareContact *contact,
                                                             const gchar *group,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            wocky_roster_contact_add_group_finish
                                                            (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);
    void                wocky_roster_contact_remove_group_async
                                                            (WockyRoster *self,
                                                             WockyBareContact *contact,
                                                             const gchar *group,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            wocky_roster_contact_remove_group_finish
                                                            (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);
    GQuark              wocky_roster_error_quark            (void);
    void                wocky_roster_fetch_roster_async     (WockyRoster *self,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            wocky_roster_fetch_roster_finish    (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);
    GSList *            wocky_roster_get_all_contacts       (WockyRoster *self);
    WockyBareContact *  wocky_roster_get_contact            (WockyRoster *self,
                                                             const gchar *jid);
    WockyRoster *       wocky_roster_new                    (WockySession *session);
    void                wocky_roster_remove_contact_async   (WockyRoster *self,
                                                             WockyBareContact *contact,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);
    gboolean            wocky_roster_remove_contact_finish  (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);
    const gchar *       wocky_roster_subscription_to_string (WockyRosterSubscriptionFlags subscription);

## Description

TODO

## Details

### WOCKY_ROSTER_ERROR

    #define WOCKY_ROSTER_ERROR (wocky_roster_error_quark ())

Get access to the error quark of the roster.

### struct WockyRosterClass

    struct WockyRosterClass {
    };

The class of a WockyRoster.

### enum WockyRosterError

    typedef enum {
      WOCKY_ROSTER_ERROR_INVALID_STANZA,
      WOCKY_ROSTER_ERROR_NOT_IN_ROSTER,
    } WockyRosterError;

The WockyRosterError specific errors.

`WOCKY_ROSTER_ERROR_INVALID_STANZA` | received an invalid roster stanza from the server
`WOCKY_ROSTER_ERROR_NOT_IN_ROSTER` | the contact is not in the roster

### enum WockyRosterSubscriptionFlags

    typedef enum
    {
      WOCKY_ROSTER_SUBSCRIPTION_TYPE_NONE = 0,
      WOCKY_ROSTER_SUBSCRIPTION_TYPE_TO   = 1 << 0,
      WOCKY_ROSTER_SUBSCRIPTION_TYPE_FROM = 1 << 1,
      WOCKY_ROSTER_SUBSCRIPTION_TYPE_BOTH =
        WOCKY_ROSTER_SUBSCRIPTION_TYPE_TO | WOCKY_ROSTER_SUBSCRIPTION_TYPE_FROM,
      /*< private >*/
      LAST_WOCKY_ROSTER_SUBSCRIPTION_TYPE = WOCKY_ROSTER_SUBSCRIPTION_TYPE_BOTH
    } WockyRosterSubscriptionFlags;

Flags to document the subscription information between contacts.

`WOCKY_ROSTER_SUBSCRIPTION_TYPE_NONE` | the user does not have a subscription to the contact's presence information, and the contact does not have a subscription to the user's presence information
`WOCKY_ROSTER_SUBSCRIPTION_TYPE_TO` | the user has a subscription to the contact's presence information, but the contact does not have a subscription to the user's presence information
`WOCKY_ROSTER_SUBSCRIPTION_TYPE_FROM` | the contact has a subscription to the user's presence information, but the user does not have a subscription to the contact's presence information
`WOCKY_ROSTER_SUBSCRIPTION_TYPE_BOTH` | both the user and the contact have subscriptions to each other's presence information

### wocky_roster_add_contact_async ()

    void                wocky_roster_add_contact_async      (WockyRoster *self,
                                                             const gchar *jid,
                                                             const gchar *name,
                                                             const gchar * const *groups,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

### wocky_roster_add_contact_finish ()

    gboolean            wocky_roster_add_contact_finish     (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);

### wocky_roster_change_contact_name_async ()

    void                wocky_roster_change_contact_name_async
                                                            (WockyRoster *self,
                                                             WockyBareContact *contact,
                                                             const gchar *name,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

### wocky_roster_change_contact_name_finish ()

    gboolean            wocky_roster_change_contact_name_finish
                                                            (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);

### wocky_roster_contact_add_group_async ()

    void                wocky_roster_contact_add_group_async
                                                            (WockyRoster *self,
                                                             WockyBareContact *contact,
                                                             const gchar *group,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

### wocky_roster_contact_add_group_finish ()

    gboolean            wocky_roster_contact_add_group_finish
                                                            (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);

### wocky_roster_contact_remove_group_async ()

    void                wocky_roster_contact_remove_group_async
                                                            (WockyRoster *self,
                                                             WockyBareContact *contact,
                                                             const gchar *group,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

### wocky_roster_contact_remove_group_finish ()

    gboolean            wocky_roster_contact_remove_group_finish
                                                            (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);

### wocky_roster_error_quark ()

    GQuark              wocky_roster_error_quark            (void);

Get the error quark used by the roster.

Returns : | the quark for roster errors.

### wocky_roster_fetch_roster_async ()

    void                wocky_roster_fetch_roster_async     (WockyRoster *self,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

### wocky_roster_fetch_roster_finish ()

    gboolean            wocky_roster_fetch_roster_finish    (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);

### wocky_roster_get_all_contacts ()

    GSList *            wocky_roster_get_all_contacts       (WockyRoster *self);

### wocky_roster_get_contact ()

    WockyBareContact *  wocky_roster_get_contact            (WockyRoster *self,
                                                             const gchar *jid);

### wocky_roster_new ()

    WockyRoster *       wocky_roster_new                    (WockySession *session);

### wocky_roster_remove_contact_async ()

    void                wocky_roster_remove_contact_async   (WockyRoster *self,
                                                             WockyBareContact *contact,
                                                             GCancellable *cancellable,
                                                             GAsyncReadyCallback callback,
                                                             gpointer user_data);

### wocky_roster_remove_contact_finish ()

    gboolean            wocky_roster_remove_contact_finish  (WockyRoster *self,
                                                             GAsyncResult *result,
                                                             GError **error);

### wocky_roster_subscription_to_string ()

    const gchar *       wocky_roster_subscription_to_string (WockyRosterSubscriptionFlags subscription);