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);
 
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);
 
sw_client_service_request_avatar ()
void                sw_client_service_request_avatar    (SwClientService *service);
 
SwClientServiceUpdateStatusCallback ()
void                (*SwClientServiceUpdateStatusCallback)
                                                        (SwClientService *service,
                                                         const GError *error,
                                                         gpointer userdata);
 
sw_client_service_credentials_updated ()
void                sw_client_service_credentials_updated
                                                        (SwClientService *service);
 
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);