## SwClientService

SwClientService

## Synopsis

                        SwClientService;
                        SwClientServiceClass;
    #define             IS_CONFIGURED
    #define             CAN_VERIFY_CREDENTIALS
    #define             CREDENTIALS_VALID
    #define             CREDENTIALS_INVALID
    #define             CAN_UPDATE_STATUS
    #define             CAN_REQUEST_AVATAR
    #define             CAN_GEOTAG
    void                (*SwClientServiceGetCapabilitiesCallback)
                                                            (SwClientService *service,
                                                             const char **caps,
                                                             const GError *error,
                                                             gpointer userdata);
    void                sw_client_service_get_static_capabilities
                                                            (SwClientService *service,
                                                             SwClientServiceGetCapabilitiesCallback cb,
                                                             gpointer userdata);
    void                sw_client_service_get_dynamic_capabilities
                                                            (SwClientService *service,
                                                             SwClientServiceGetCapabilitiesCallback cb,
                                                             gpointer userdata);
    void                sw_client_service_request_avatar    (SwClientService *service);
    void                (*SwClientServiceUpdateStatusCallback)
                                                            (SwClientService *service,
                                                             const GError *error,
                                                             gpointer userdata);
    void                sw_client_service_credentials_updated
                                                            (SwClientService *service);
    void                sw_client_service_update_status     (SwClientService *service,
                                                             SwClientServiceUpdateStatusCallback cb,
                                                             const gchar *status_msg,
                                                             gpointer userdata);
    void                sw_client_service_update_status_with_fields
                                                            (SwClientService *service,
                                                             SwClientServiceUpdateStatusCallback cb,
                                                             const gchar *status_msg,
                                                             GHashTable *fields,
                                                             gpointer userdata);
    void                (*SwClientServiceQueryOpenViewCallback)
                                                            (SwClientService *query,
                                                             SwClientItemView *item_view,
                                                             gpointer userdata);
    void                sw_client_service_query_open_view   (SwClientService *service,
                                                             const gchar *query,
                                                             GHashTable *params,
                                                             SwClientServiceQueryOpenViewCallback cb,
                                                             gpointer userdata);
    void                sw_client_service_banishable_hide_item
                                                            (SwClientService *service,
                                                             const gchar *uid);
    const char *        sw_client_service_get_name          (SwClientService *service);
    const char *        sw_client_service_get_display_name  (SwClientService *service);
    gboolean            sw_client_service_has_cap           (const char **caps,
                                                             const char *cap);

## Object Hierarchy

      GObject
       +----SwClientService

## Signals

      "avatar-retrieved"                               : Run First
      "capabilities-changed"                           : Run First
      "status-updated"                                 : Run First
      "user-changed"                                   : Run First

## Description

## Details

### SwClientService

    typedef struct _SwClientService SwClientService;

### SwClientServiceClass

    typedef struct {
      GObjectClass parent_class;
      void (*capabilities_changed) (SwClientService *service, const char **caps);
      void (*user_changed) (SwClientService *service);
      void (*avatar_retrieved) (SwClientService *service, gchar *path);
      void (*status_updated) (SwClientService *service, gboolean success);
    } SwClientServiceClass;

### IS_CONFIGURED

    #define IS_CONFIGURED "is-configured"

### CAN_VERIFY_CREDENTIALS

    #define CAN_VERIFY_CREDENTIALS "can-verify-credentials"

### CREDENTIALS_VALID

    #define CREDENTIALS_VALID "credentials-valid"

### CREDENTIALS_INVALID

    #define CREDENTIALS_INVALID "credentials-invalid"

### CAN_UPDATE_STATUS

    #define CAN_UPDATE_STATUS "can-update-status"

### CAN_REQUEST_AVATAR

    #define CAN_REQUEST_AVATAR "can-request-avatar"

### CAN_GEOTAG

    #define CAN_GEOTAG "can-geotag"

### SwClientServiceGetCapabilitiesCallback ()

    void                (*SwClientServiceGetCapabilitiesCallback)
                                                            (SwClientService *service,
                                                             const char **caps,
                                                             const GError *error,
                                                             gpointer userdata);

`caps` : | . [transfer none][array zero-terminated=1][element-type char*]
`userdata` : | . [closure]

### sw_client_service_get_static_capabilities ()

    void                sw_client_service_get_static_capabilities
                                                            (SwClientService *service,
                                                             SwClientServiceGetCapabilitiesCallback cb,
                                                             gpointer userdata);

`cb` : | . [scope async]
`userdata` : | . [closure]

### sw_client_service_get_dynamic_capabilities ()

    void                sw_client_service_get_dynamic_capabilities
                                                            (SwClientService *service,
                                                             SwClientServiceGetCapabilitiesCallback cb,
                                                             gpointer userdata);

`cb` : | . [scope async]
`userdata` : | . [closure]

### sw_client_service_request_avatar ()

    void                sw_client_service_request_avatar    (SwClientService *service);

### SwClientServiceUpdateStatusCallback ()

    void                (*SwClientServiceUpdateStatusCallback)
                                                            (SwClientService *service,
                                                             const GError *error,
                                                             gpointer userdata);

`userdata` : | . [closure]

### sw_client_service_credentials_updated ()

    void                sw_client_service_credentials_updated
                                                            (SwClientService *service);

### sw_client_service_update_status ()

    void                sw_client_service_update_status     (SwClientService *service,
                                                             SwClientServiceUpdateStatusCallback cb,
                                                             const gchar *status_msg,
                                                             gpointer userdata);

`cb` : | . [scope async]
`userdata` : | . [closure]

### sw_client_service_update_status_with_fields ()

    void                sw_client_service_update_status_with_fields
                                                            (SwClientService *service,
                                                             SwClientServiceUpdateStatusCallback cb,
                                                             const gchar *status_msg,
                                                             GHashTable *fields,
                                                             gpointer userdata);

`cb` : | . [scope async]
`fields` : | . [element-type gchar* gchar*]
`userdata` : | . [closure]

### SwClientServiceQueryOpenViewCallback ()

    void                (*SwClientServiceQueryOpenViewCallback)
                                                            (SwClientService *query,
                                                             SwClientItemView *item_view,
                                                             gpointer userdata);

`item_view` : | . [allow-none]
`userdata` : | . [closure]

### sw_client_service_query_open_view ()

    void                sw_client_service_query_open_view   (SwClientService *service,
                                                             const gchar *query,
                                                             GHashTable *params,
                                                             SwClientServiceQueryOpenViewCallback cb,
                                                             gpointer userdata);

`params` : | . [element-type gchar* gchar*]
`cb` : | . [scope async]
`userdata` : | . [closure]

### sw_client_service_banishable_hide_item ()

    void                sw_client_service_banishable_hide_item
                                                            (SwClientService *service,
                                                             const gchar *uid);

### sw_client_service_get_name ()

    const char *        sw_client_service_get_name          (SwClientService *service);

### sw_client_service_get_display_name ()

    const char *        sw_client_service_get_display_name  (SwClientService *service);

### sw_client_service_has_cap ()

    gboolean            sw_client_service_has_cap           (const char **caps,
                                                             const char *cap);

`caps` : | . [transfer none][array zero-terminated=1][element-type char*]
`cap` : | Returns:

## Signal Details

### The `"avatar-retrieved"` signal

    void                user_function                      (SwClientService *swclientservice,
                                                            gchar           *arg1,
                                                            gpointer         user_data)            : Run First

### The `"capabilities-changed"` signal

    void                user_function                      (SwClientService *swclientservice,
                                                            GStrv            arg1,
                                                            gpointer         user_data)            : Run First

### The `"status-updated"` signal

    void                user_function                      (SwClientService *swclientservice,
                                                            gboolean         arg1,
                                                            gpointer         user_data)            : Run First

### The `"user-changed"` signal

    void                user_function                      (SwClientService *swclientservice,
                                                            gpointer         user_data)            : Run First