summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2014-02-20 12:49:52 +0100
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2014-02-20 13:49:49 +0100
commit40e2b5dad74b48f12b9004428b51d1bb557502c8 (patch)
treeea076630b7b014e71d429a807528b35842117f91
parent0c74c16b8003bd54fb800a5a80f0b9d814f0057d (diff)
mc-tool: port to TP coding style
This file was a mix of various coding style, including some very weird ones, making it very hard to read. As I'm about to do some changes in it to port to the new vardict tp-glib API I prefer to work on something easier to mentally parse.
-rw-r--r--util/mc-tool.c1991
1 files changed, 1026 insertions, 965 deletions
diff --git a/util/mc-tool.c b/util/mc-tool.c
index 8d41acce..8ac5f9a9 100644
--- a/util/mc-tool.c
+++ b/util/mc-tool.c
@@ -40,279 +40,305 @@ static GMainLoop *main_loop;
static void
show_help (gchar * err)
{
- if (err)
- printf ("Error: %s\n", err);
-
- printf ("Usage:\n"
- " %1$s list\n"
- " %1$s summary\n"
- " %1$s dump\n"
- " %1$s add <manager>/<protocol> <display name> [<param> ...]\n"
- " %1$s update <account name> [<param>|clear:key] ...\n"
- " %1$s display <account name> <display name>\n"
- " %1$s nick <account name> <nick name>\n"
- " %1$s service <account name> <service name>\n"
- " %1$s icon <account name> <icon name>\n"
- " %1$s show <account name>\n"
- " %1$s get <account name> [key...]\n"
- " %1$s enable <account name>\n"
- " %1$s disable <account name>\n"
- " %1$s auto-presence <account name> <presence status> [<message>]\n"
- " %1$s request <account name> <presence status> [<message>]\n"
- " %1$s auto-connect <account name> [(on|off)]\n"
- " %1$s reconnect <account name>\n"
- " %1$s remove <account name>\n"
- " where <param> matches (int|uint|bool|string|path):<key>=<value>\n",
- app_name);
-
- if (err)
- exit (-1);
- else
- exit (0);
+ if (err != NULL)
+ printf ("Error: %s\n", err);
+
+ printf ("Usage:\n"
+ " %1$s list\n"
+ " %1$s summary\n"
+ " %1$s dump\n"
+ " %1$s add <manager>/<protocol> <display name> [<param> ...]\n"
+ " %1$s update <account name> [<param>|clear:key] ...\n"
+ " %1$s display <account name> <display name>\n"
+ " %1$s nick <account name> <nick name>\n"
+ " %1$s service <account name> <service name>\n"
+ " %1$s icon <account name> <icon name>\n"
+ " %1$s show <account name>\n"
+ " %1$s get <account name> [key...]\n"
+ " %1$s enable <account name>\n"
+ " %1$s disable <account name>\n"
+ " %1$s auto-presence <account name> <presence status> [<message>]\n"
+ " %1$s request <account name> <presence status> [<message>]\n"
+ " %1$s auto-connect <account name> [(on|off)]\n"
+ " %1$s reconnect <account name>\n"
+ " %1$s remove <account name>\n"
+ " where <param> matches (int|uint|bool|string|path):<key>=<value>\n",
+ app_name);
+
+ if (err)
+ exit (-1);
+ else
+ exit (0);
}
static
-union command {
- struct common {
- void *callback;
- gchar const *name;
- gchar const *account;
- int ret;
+union command
+{
+ struct common
+ {
+ void *callback;
+ gchar const *name;
+ gchar const *account;
+ int ret;
} common;
- union {
- gboolean (*manager) (TpAccountManager *manager);
- gboolean (*account) (TpAccount *account);
+ union
+ {
+ gboolean (*manager) (TpAccountManager *manager);
+ gboolean (*account) (TpAccount *account);
} ready;
- struct {
- struct common common;
- gchar const *manager, *protocol, *display;
- GHashTable *parameters;
+ struct
+ {
+ struct common common;
+ gchar const *manager, *protocol, *display;
+ GHashTable *parameters;
} add;
- struct {
- struct common common;
- GHashTable *set;
- GPtrArray *unset;
+ struct
+ {
+ struct common common;
+ GHashTable *set;
+ GPtrArray *unset;
} update;
- struct {
- struct common common;
- GPtrArray *args;
+ struct
+ {
+ struct common common;
+ GPtrArray *args;
} get;
- struct {
- struct common common;
- gchar const *name;
+ struct
+ {
+ struct common common;
+ gchar const *name;
} display, nick, icon, service;
- struct {
- struct common common;
- TpConnectionPresenceType type;
- gchar const *status, *message;
+ struct
+ {
+ struct common common;
+ TpConnectionPresenceType type;
+ gchar const *status, *message;
} presence;
- struct {
- struct common common;
- gboolean value;
+ struct
+ {
+ struct common common;
+ gboolean value;
} boolean;
} command;
-struct presence {
- TpConnectionPresenceType type;
- gchar *status;
- gchar *message;
+struct presence
+{
+ TpConnectionPresenceType type;
+ gchar *status;
+ gchar *message;
};
-static const char *strip_prefix (char const *string, char const *prefix)
+static const char *
+strip_prefix (char const *string,
+ char const *prefix)
{
- while (*prefix && *string)
- if (*prefix++ != *string++)
- return 0;
- return *prefix == '\0' ? (char *)string : NULL;
+ while (*prefix && *string)
+ if (*prefix++ != *string++)
+ return 0;
+
+ return *prefix == '\0' ? (char *)string : NULL;
}
-static char *ensure_prefix (char const *string)
+static char *
+ensure_prefix (char const *string)
{
- if (g_str_has_prefix (string, TP_ACCOUNT_OBJECT_PATH_BASE))
- return g_strdup (string);
- return g_strdup_printf ("%s%s", TP_ACCOUNT_OBJECT_PATH_BASE, string);
+ if (g_str_has_prefix (string, TP_ACCOUNT_OBJECT_PATH_BASE))
+ return g_strdup (string);
+
+ return g_strdup_printf ("%s%s", TP_ACCOUNT_OBJECT_PATH_BASE, string);
}
static void
_g_value_free (gpointer data)
{
- GValue *value = (GValue *) data;
- g_value_unset (value);
- g_free (value);
+ GValue *value = (GValue *) data;
+ g_value_unset (value);
+ g_free (value);
}
static GHashTable *
new_params (void)
{
- return g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free, _g_value_free);
+ return g_hash_table_new_full (g_str_hash, g_str_equal, g_free, _g_value_free);
}
static gboolean
set_param (GHashTable *parameters,
- GPtrArray *clear,
- gchar *param_value)
+ GPtrArray *clear,
+ gchar *param_value)
{
- gchar **strv_param_value = NULL;
- gchar **strv_type_key = NULL;
- const gchar *param, *type, *key, *value;
- gboolean ret = 0;
- GValue *gvalue;
+ gchar **strv_param_value = NULL;
+ gchar **strv_type_key = NULL;
+ const gchar *param, *type, *key, *value;
+ gboolean ret = 0;
+ GValue *gvalue;
- if (!param_value)
- return FALSE;
+ if (!param_value)
+ return FALSE;
- strv_type_key = g_strsplit (param_value, ":", 2);
+ strv_type_key = g_strsplit (param_value, ":", 2);
- if (strv_type_key == NULL ||
- strv_type_key[0] == NULL ||
- strv_type_key[1] == NULL ||
- strv_type_key[2] != NULL)
- goto CLEANUP;
+ if (strv_type_key == NULL ||
+ strv_type_key[0] == NULL ||
+ strv_type_key[1] == NULL ||
+ strv_type_key[2] != NULL)
+ goto CLEANUP;
- type = strv_type_key[0];
- param = strv_type_key[1];
+ type = strv_type_key[0];
+ param = strv_type_key[1];
- if (clear)
- {
- if (strcmp (type, "clear") == 0 || strcmp (type, "unset") == 0)
+ if (clear)
+ {
+ if (strcmp (type, "clear") == 0 || strcmp (type, "unset") == 0)
{
- g_ptr_array_add (clear, g_strdup (param));
- ret = TRUE;
- goto CLEANUP;
+ g_ptr_array_add (clear, g_strdup (param));
+ ret = TRUE;
+ goto CLEANUP;
}
- }
+ }
- strv_param_value = g_strsplit (param, "=", 2);
+ strv_param_value = g_strsplit (param, "=", 2);
- if (strv_param_value == NULL ||
- strv_param_value[0] == NULL ||
- strv_param_value[1] == NULL ||
- strv_param_value[2] != NULL)
- goto CLEANUP;
+ if (strv_param_value == NULL ||
+ strv_param_value[0] == NULL ||
+ strv_param_value[1] == NULL ||
+ strv_param_value[2] != NULL)
+ goto CLEANUP;
- key = strv_param_value[0];
- value = strv_param_value[1];
+ key = strv_param_value[0];
+ value = strv_param_value[1];
- gvalue = g_new0 (GValue, 1);
+ gvalue = g_new0 (GValue, 1);
- /* Set the key */
- if (strcmp (type, "int") == 0)
- {
- g_value_init (gvalue, G_TYPE_INT);
- g_value_set_int (gvalue, strtol (value, NULL, 10));
- ret = TRUE;
- }
- else if (strcmp (type, "uint") == 0)
+ /* Set the key */
+ if (strcmp (type, "int") == 0)
{
- g_value_init (gvalue, G_TYPE_UINT);
- g_value_set_uint (gvalue, strtoul (value, NULL, 10));
- ret = TRUE;
+ g_value_init (gvalue, G_TYPE_INT);
+ g_value_set_int (gvalue, strtol (value, NULL, 10));
+ ret = TRUE;
}
- else if (strcmp (type, "bool") == 0 || strcmp (type, "boolean") == 0)
+ else if (strcmp (type, "uint") == 0)
{
- g_value_init (gvalue, G_TYPE_BOOLEAN);
- if (g_ascii_strcasecmp (value, "1") == 0 ||
- g_ascii_strcasecmp (value, "true") == 0 ||
- /* "yes please!" / "yes sir, captain tightpants" */
- g_ascii_strncasecmp (value, "yes", 3) == 0 ||
- g_ascii_strcasecmp (value, "mos def") == 0 ||
- g_ascii_strcasecmp (value, "oui") == 0 ||
- strcmp (value, "ou là là!") == 0)
- {
- g_value_set_boolean (gvalue, TRUE);
- ret = TRUE;
- }
- else if (g_ascii_strcasecmp (value, "0") == 0 ||
- g_ascii_strcasecmp (value, "false") == 0 ||
- g_ascii_strcasecmp (value, "no") == 0 ||
- g_ascii_strcasecmp (value, "nope") == 0 ||
- g_ascii_strcasecmp (value, "non") == 0)
- {
- g_value_set_boolean (gvalue, FALSE);
- ret = TRUE;
- }
+ g_value_init (gvalue, G_TYPE_UINT);
+ g_value_set_uint (gvalue, strtoul (value, NULL, 10));
+ ret = TRUE;
}
- else if (strcmp (type, "string") == 0)
+ else if (strcmp (type, "bool") == 0 || strcmp (type, "boolean") == 0)
{
- g_value_init (gvalue, G_TYPE_STRING);
- g_value_set_string (gvalue, value);
- ret = TRUE;
+ g_value_init (gvalue, G_TYPE_BOOLEAN);
+
+ if (g_ascii_strcasecmp (value, "1") == 0 ||
+ g_ascii_strcasecmp (value, "true") == 0 ||
+ /* "yes please!" / "yes sir, captain tightpants" */
+ g_ascii_strncasecmp (value, "yes", 3) == 0 ||
+ g_ascii_strcasecmp (value, "mos def") == 0 ||
+ g_ascii_strcasecmp (value, "oui") == 0 ||
+ strcmp (value, "ou là là!") == 0)
+ {
+ g_value_set_boolean (gvalue, TRUE);
+ ret = TRUE;
+ }
+ else if (g_ascii_strcasecmp (value, "0") == 0 ||
+ g_ascii_strcasecmp (value, "false") == 0 ||
+ g_ascii_strcasecmp (value, "no") == 0 ||
+ g_ascii_strcasecmp (value, "nope") == 0 ||
+ g_ascii_strcasecmp (value, "non") == 0)
+ {
+ g_value_set_boolean (gvalue, FALSE);
+ ret = TRUE;
+ }
}
- else if (strcmp (type, "path") == 0)
+ else if (strcmp (type, "string") == 0)
{
- g_value_init (gvalue, DBUS_TYPE_G_OBJECT_PATH);
- g_value_set_boxed (gvalue, value);
- ret = TRUE;
+ g_value_init (gvalue, G_TYPE_STRING);
+ g_value_set_string (gvalue, value);
+ ret = TRUE;
}
-
- if (ret)
- g_hash_table_replace (parameters, g_strdup (key), gvalue);
- else
- g_free (gvalue);
+ else if (strcmp (type, "path") == 0)
+ {
+ g_value_init (gvalue, DBUS_TYPE_G_OBJECT_PATH);
+ g_value_set_boxed (gvalue, value);
+ ret = TRUE;
+ }
+
+ if (ret)
+ g_hash_table_replace (parameters, g_strdup (key), gvalue);
+ else
+ g_free (gvalue);
CLEANUP:
- g_strfreev (strv_param_value);
- g_strfreev (strv_type_key);
- return ret;
+ g_strfreev (strv_param_value);
+ g_strfreev (strv_type_key);
+ return ret;
}
static void
show_param (gchar const *key, GValue *value)
{
- gchar const *type;
- gchar *decoded = NULL;
- int width;
+ gchar const *type;
+ gchar *decoded = NULL;
+ int width;
- if (G_VALUE_HOLDS_STRING (value)) {
- type = "string";
- decoded = g_value_dup_string (value);
+ if (G_VALUE_HOLDS_STRING (value))
+ {
+ type = "string";
+ decoded = g_value_dup_string (value);
}
- else if (G_VALUE_HOLDS_UINT (value)) {
- type = "uint";
- decoded = g_strdup_printf ("%u", g_value_get_uint (value));
+ else if (G_VALUE_HOLDS_UINT (value))
+ {
+ type = "uint";
+ decoded = g_strdup_printf ("%u", g_value_get_uint (value));
}
- else if (G_VALUE_HOLDS_INT (value)) {
- type = "int";
- decoded = g_strdup_printf ("%i", g_value_get_int (value));
+ else if (G_VALUE_HOLDS_INT (value))
+ {
+ type = "int";
+ decoded = g_strdup_printf ("%i", g_value_get_int (value));
}
- else if (G_VALUE_HOLDS_BOOLEAN (value)) {
- type = "bool";
- decoded = g_strdup (g_value_get_boolean (value) ? "true" : "false");
+ else if (G_VALUE_HOLDS_BOOLEAN (value))
+ {
+ type = "bool";
+ decoded = g_strdup (g_value_get_boolean (value) ? "true" : "false");
}
- else if (G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH)) {
- type = "path";
- decoded = g_value_dup_boxed (value);
+ else if (G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH))
+ {
+ type = "path";
+ decoded = g_value_dup_boxed (value);
}
- else {
- type = G_VALUE_TYPE_NAME (value);
- decoded = g_strdup_value_contents (value);
+ else
+ {
+ type = G_VALUE_TYPE_NAME (value);
+ decoded = g_strdup_value_contents (value);
}
- width = 11 - strlen (type); if (width < 0) width = 0;
+ width = 11 - strlen (type);
+ if (width < 0)
+ width = 0;
- printf ("%*s (%s) %s = %s\n", width, "", type, key, decoded);
+ printf ("%*s (%s) %s = %s\n", width, "", type, key, decoded);
- g_free (decoded);
+ g_free (decoded);
}
static int
-show (gchar const *what, gchar const *value)
+show (gchar const *what,
+ gchar const *value)
{
- if (value == NULL || value[0] == '\0')
- return 0;
- return printf ("%12s: %s\n", what, value);
+ if (value == NULL || value[0] == '\0')
+ return 0;
+
+ return printf ("%12s: %s\n", what, value);
}
static int
-show_presence (gchar const *what, struct presence *presence)
+show_presence (gchar const *what,
+ struct presence *presence)
{
return printf ("%12s: %s (%d) \"%s\"\n", what, presence->status,
presence->type, presence->message);
@@ -342,339 +368,362 @@ free_presence (struct presence *presence)
static TpConnectionPresenceType
get_presence_type_for_status(char const *status)
{
- if (g_ascii_strcasecmp(status, "unset") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_UNSET;
- if (g_ascii_strcasecmp(status, "unknown") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_UNKNOWN;
- if (g_ascii_strcasecmp(status, "offline") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_OFFLINE;
- if (g_ascii_strcasecmp(status, "available") == 0 ||
- g_ascii_strcasecmp(status, "online") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_AVAILABLE;
- if (g_ascii_strcasecmp(status, "away") == 0 ||
- g_ascii_strcasecmp(status, "brb") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_AWAY;
- if (g_ascii_strcasecmp(status, "xa") == 0 ||
- g_ascii_strcasecmp(status, "extended-away") == 0 ||
- g_ascii_strcasecmp(status, "extendedaway") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY;
- if (g_ascii_strcasecmp(status, "hidden") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_HIDDEN;
- if (g_ascii_strcasecmp(status, "busy") == 0 ||
- g_ascii_strcasecmp(status, "dnd") == 0 ||
- g_ascii_strcasecmp(status, "do_not_disturb") == 0 ||
- g_ascii_strcasecmp(status, "donotdisturb") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_BUSY;
- if (g_ascii_strcasecmp(status, "error") == 0)
- return TP_CONNECTION_PRESENCE_TYPE_ERROR;
-
+ if (g_ascii_strcasecmp(status, "unset") == 0)
+ return TP_CONNECTION_PRESENCE_TYPE_UNSET;
+ if (g_ascii_strcasecmp(status, "unknown") == 0)
return TP_CONNECTION_PRESENCE_TYPE_UNKNOWN;
+ if (g_ascii_strcasecmp(status, "offline") == 0)
+ return TP_CONNECTION_PRESENCE_TYPE_OFFLINE;
+ if (g_ascii_strcasecmp(status, "available") == 0 ||
+ g_ascii_strcasecmp(status, "online") == 0)
+ return TP_CONNECTION_PRESENCE_TYPE_AVAILABLE;
+ if (g_ascii_strcasecmp(status, "away") == 0 ||
+ g_ascii_strcasecmp(status, "brb") == 0)
+ return TP_CONNECTION_PRESENCE_TYPE_AWAY;
+ if (g_ascii_strcasecmp(status, "xa") == 0 ||
+ g_ascii_strcasecmp(status, "extended-away") == 0 ||
+ g_ascii_strcasecmp(status, "extendedaway") == 0)
+ return TP_CONNECTION_PRESENCE_TYPE_EXTENDED_AWAY;
+ if (g_ascii_strcasecmp(status, "hidden") == 0)
+ return TP_CONNECTION_PRESENCE_TYPE_HIDDEN;
+ if (g_ascii_strcasecmp(status, "busy") == 0 ||
+ g_ascii_strcasecmp(status, "dnd") == 0 ||
+ g_ascii_strcasecmp(status, "do_not_disturb") == 0 ||
+ g_ascii_strcasecmp(status, "donotdisturb") == 0)
+ return TP_CONNECTION_PRESENCE_TYPE_BUSY;
+ if (g_ascii_strcasecmp(status, "error") == 0)
+ return TP_CONNECTION_PRESENCE_TYPE_ERROR;
+
+ return TP_CONNECTION_PRESENCE_TYPE_UNKNOWN;
}
static gchar const *
-connection_status_as_string(TpConnectionStatus status)
+connection_status_as_string (TpConnectionStatus status)
{
- switch (status)
+ switch (status)
{
- case TP_CONNECTION_STATUS_CONNECTED: return "CONNECTED";
- case TP_CONNECTION_STATUS_CONNECTING: return "CONNECTING";
- case TP_CONNECTION_STATUS_DISCONNECTED: return "DISCONNECTED";
- default: return "<unknown>";
+ case TP_CONNECTION_STATUS_CONNECTED:
+ return "CONNECTED";
+ case TP_CONNECTION_STATUS_CONNECTING:
+ return "CONNECTING";
+ case TP_CONNECTION_STATUS_DISCONNECTED:
+ return "DISCONNECTED";
+ default:
+ return "<unknown>";
}
}
static gchar const *
-connection_status_reason_as_string(TpConnectionStatusReason reason)
+connection_status_reason_as_string (TpConnectionStatusReason reason)
{
- switch (reason)
+ switch (reason)
{
- case TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED:
- return "NONE";
- case TP_CONNECTION_STATUS_REASON_REQUESTED:
- return "REQUESTED";
- case TP_CONNECTION_STATUS_REASON_NETWORK_ERROR:
- return "NETWORK_ERROR";
- case TP_CONNECTION_STATUS_REASON_AUTHENTICATION_FAILED:
- return "AUTHENTICATION_FAILED";
- case TP_CONNECTION_STATUS_REASON_ENCRYPTION_ERROR:
- return "ENCRYPTION_ERROR";
- case TP_CONNECTION_STATUS_REASON_NAME_IN_USE:
- return "NAME_IN_USE";
- case TP_CONNECTION_STATUS_REASON_CERT_NOT_PROVIDED:
- return "CERT_NOT_PROVIDED";
- case TP_CONNECTION_STATUS_REASON_CERT_UNTRUSTED:
- return "CERT_UNTRUSTED";
- case TP_CONNECTION_STATUS_REASON_CERT_EXPIRED:
- return "CERT_EXPIRED";
- case TP_CONNECTION_STATUS_REASON_CERT_NOT_ACTIVATED:
- return "CERT_NOT_ACTIVATED";
- case TP_CONNECTION_STATUS_REASON_CERT_HOSTNAME_MISMATCH:
- return "CERT_HOSTNAME_MISMATCH";
- case TP_CONNECTION_STATUS_REASON_CERT_FINGERPRINT_MISMATCH:
- return "CERT_FINGERPRINT_MISMATCH";
- case TP_CONNECTION_STATUS_REASON_CERT_SELF_SIGNED:
- return "CERT_SELF_SIGNED";
- case TP_CONNECTION_STATUS_REASON_CERT_OTHER_ERROR:
- return "CERT_OTHER_ERROR";
- default:
- return "<unknown>";
+ case TP_CONNECTION_STATUS_REASON_NONE_SPECIFIED:
+ return "NONE";
+ case TP_CONNECTION_STATUS_REASON_REQUESTED:
+ return "REQUESTED";
+ case TP_CONNECTION_STATUS_REASON_NETWORK_ERROR:
+ return "NETWORK_ERROR";
+ case TP_CONNECTION_STATUS_REASON_AUTHENTICATION_FAILED:
+ return "AUTHENTICATION_FAILED";
+ case TP_CONNECTION_STATUS_REASON_ENCRYPTION_ERROR:
+ return "ENCRYPTION_ERROR";
+ case TP_CONNECTION_STATUS_REASON_NAME_IN_USE:
+ return "NAME_IN_USE";
+ case TP_CONNECTION_STATUS_REASON_CERT_NOT_PROVIDED:
+ return "CERT_NOT_PROVIDED";
+ case TP_CONNECTION_STATUS_REASON_CERT_UNTRUSTED:
+ return "CERT_UNTRUSTED";
+ case TP_CONNECTION_STATUS_REASON_CERT_EXPIRED:
+ return "CERT_EXPIRED";
+ case TP_CONNECTION_STATUS_REASON_CERT_NOT_ACTIVATED:
+ return "CERT_NOT_ACTIVATED";
+ case TP_CONNECTION_STATUS_REASON_CERT_HOSTNAME_MISMATCH:
+ return "CERT_HOSTNAME_MISMATCH";
+ case TP_CONNECTION_STATUS_REASON_CERT_FINGERPRINT_MISMATCH:
+ return "CERT_FINGERPRINT_MISMATCH";
+ case TP_CONNECTION_STATUS_REASON_CERT_SELF_SIGNED:
+ return "CERT_SELF_SIGNED";
+ case TP_CONNECTION_STATUS_REASON_CERT_OTHER_ERROR:
+ return "CERT_OTHER_ERROR";
+ default:
+ return "<unknown>";
}
}
-typedef enum {
- GET_PARAM,
- GET_STRING,
- GET_BOOLEAN,
- GET_PRESENCE,
- GET_PRESENCE_TYPE,
- GET_PRESENCE_STATUS,
- GET_PRESENCE_MESSAGE
+typedef enum
+{
+ GET_PARAM,
+ GET_STRING,
+ GET_BOOLEAN,
+ GET_PRESENCE,
+ GET_PRESENCE_TYPE,
+ GET_PRESENCE_STATUS,
+ GET_PRESENCE_MESSAGE
} GetterType;
-typedef struct _Getter {
- gchar const *name;
- GetterType type;
- gpointer function;
+typedef struct _Getter
+{
+ gchar const *name;
+ GetterType type;
+ gpointer function;
} Getter;
static GData *getter_list;
static void
getter_list_add(gchar const *name,
- GetterType type,
- gpointer function)
+ GetterType type,
+ gpointer function)
{
- GQuark id;
- Getter *getter;
+ GQuark id;
+ Getter *getter;
- id = g_quark_from_static_string(name);
+ id = g_quark_from_static_string (name);
- getter = g_new0(Getter, 1);
- getter->name = name;
- getter->type = type;
- getter->function = function;
+ getter = g_new0 (Getter, 1);
+ getter->name = name;
+ getter->type = type;
+ getter->function = function;
- g_datalist_id_set_data(&getter_list, id, getter);
+ g_datalist_id_set_data (&getter_list, id, getter);
}
static void
-getter_list_init(void)
+getter_list_init (void)
{
- static int init;
-
- if (init) return;
-
- init = 1;
-
- getter_list_add("DisplayName", GET_STRING, tp_account_get_display_name);
- getter_list_add("Icon", GET_STRING, tp_account_get_icon_name);
- getter_list_add("Usable", GET_BOOLEAN, tp_account_is_usable);
- getter_list_add("Enabled", GET_BOOLEAN, tp_account_is_enabled);
- getter_list_add("Nickname", GET_STRING, tp_account_get_nickname);
- getter_list_add("ConnectAutomatically", GET_BOOLEAN,
- tp_account_get_connect_automatically);
- getter_list_add("NormalizedName", GET_STRING, tp_account_get_normalized_name);
-
- getter_list_add("AutomaticPresence",
- GET_PRESENCE, tp_account_get_automatic_presence);
- getter_list_add("AutomaticPresenceType",
- GET_PRESENCE_TYPE, tp_account_get_automatic_presence);
- getter_list_add("AutomaticPresenceStatus",
- GET_PRESENCE_STATUS, tp_account_get_automatic_presence);
- getter_list_add("AutomaticPresenceMessage",
- GET_PRESENCE_MESSAGE, tp_account_get_automatic_presence);
-
- getter_list_add("RequestedPresenceType",
- GET_PRESENCE_TYPE, tp_account_get_requested_presence);
- getter_list_add("RequestedPresenceStatus",
- GET_PRESENCE_STATUS, tp_account_get_requested_presence);
- getter_list_add("RequestedPresenceMessage",
- GET_PRESENCE_MESSAGE, tp_account_get_requested_presence);
-
- getter_list_add("CurrentPresenceType",
- GET_PRESENCE_TYPE, tp_account_get_current_presence);
- getter_list_add("CurrentPresenceStatus",
- GET_PRESENCE_STATUS, tp_account_get_current_presence);
- getter_list_add("CurrentPresenceMessage",
- GET_PRESENCE_MESSAGE, tp_account_get_current_presence);
+ static int init;
+
+ if (init)
+ return;
+
+ init = 1;
+
+ getter_list_add ("DisplayName", GET_STRING, tp_account_get_display_name);
+ getter_list_add ("Icon", GET_STRING, tp_account_get_icon_name);
+ getter_list_add ("Usable", GET_BOOLEAN, tp_account_is_usable);
+ getter_list_add ("Enabled", GET_BOOLEAN, tp_account_is_enabled);
+ getter_list_add ("Nickname", GET_STRING, tp_account_get_nickname);
+ getter_list_add ("ConnectAutomatically", GET_BOOLEAN,
+ tp_account_get_connect_automatically);
+ getter_list_add ("NormalizedName", GET_STRING,
+ tp_account_get_normalized_name);
+
+ getter_list_add ("AutomaticPresence",
+ GET_PRESENCE, tp_account_get_automatic_presence);
+ getter_list_add ("AutomaticPresenceType",
+ GET_PRESENCE_TYPE, tp_account_get_automatic_presence);
+ getter_list_add ("AutomaticPresenceStatus",
+ GET_PRESENCE_STATUS, tp_account_get_automatic_presence);
+ getter_list_add ("AutomaticPresenceMessage",
+ GET_PRESENCE_MESSAGE, tp_account_get_automatic_presence);
+
+ getter_list_add ("RequestedPresenceType",
+ GET_PRESENCE_TYPE, tp_account_get_requested_presence);
+ getter_list_add ("RequestedPresenceStatus",
+ GET_PRESENCE_STATUS, tp_account_get_requested_presence);
+ getter_list_add ("RequestedPresenceMessage",
+ GET_PRESENCE_MESSAGE, tp_account_get_requested_presence);
+
+ getter_list_add ("CurrentPresenceType",
+ GET_PRESENCE_TYPE, tp_account_get_current_presence);
+ getter_list_add ("CurrentPresenceStatus",
+ GET_PRESENCE_STATUS, tp_account_get_current_presence);
+ getter_list_add ("CurrentPresenceMessage",
+ GET_PRESENCE_MESSAGE, tp_account_get_current_presence);
}
static Getter *
-getter_by_name(char *name)
+getter_by_name (char *name)
{
- getter_list_init();
+ getter_list_init ();
- return g_datalist_get_data(&getter_list, name);
+ return g_datalist_get_data (&getter_list, name);
}
/* ====================================================================== */
static gint
compare_accounts (gconstpointer a,
- gconstpointer b)
+ gconstpointer b)
{
- return strcmp (tp_account_get_path_suffix (TP_ACCOUNT (a)),
- tp_account_get_path_suffix (TP_ACCOUNT (b)));
+ return strcmp (tp_account_get_path_suffix (TP_ACCOUNT (a)),
+ tp_account_get_path_suffix (TP_ACCOUNT (b)));
}
static GList *
dup_usable_accounts_sorted (TpAccountManager *manager)
{
- return g_list_sort (tp_account_manager_dup_usable_accounts (manager),
- compare_accounts);
+ return g_list_sort (tp_account_manager_dup_usable_accounts (manager),
+ compare_accounts);
}
static gboolean
command_list (TpAccountManager *manager)
{
- GList *accounts = dup_usable_accounts_sorted (manager);
+ GList *accounts = dup_usable_accounts_sorted (manager);
- if (accounts != NULL) {
- GList *ptr;
+ if (accounts != NULL)
+ {
+ GList *ptr;
- command.common.ret = 0;
+ command.common.ret = 0;
- for (ptr = accounts; ptr != NULL; ptr = ptr->next) {
- puts (tp_account_get_path_suffix (ptr->data));
- }
+ for (ptr = accounts; ptr != NULL; ptr = ptr->next)
+ {
+ puts (tp_account_get_path_suffix (ptr->data));
+ }
- g_list_free_full (accounts, g_object_unref);
+ g_list_free_full (accounts, g_object_unref);
}
- return FALSE; /* stop mainloop */
+ return FALSE; /* stop mainloop */
}
static gboolean
command_summary (TpAccountManager *manager)
{
- GList *accounts, *l;
- guint longest_account = 0;
+ GList *accounts, *l;
+ guint longest_account = 0;
- accounts = tp_account_manager_dup_usable_accounts (manager);
- if (accounts == NULL) {
- return FALSE;
- }
- command.common.ret = 0;
+ accounts = tp_account_manager_dup_usable_accounts (manager);
+ if (accounts == NULL)
+ return FALSE;
- for (l = accounts; l != NULL; l = l->next) {
- TpAccount *account = TP_ACCOUNT (l->data);
+ command.common.ret = 0;
- longest_account = MAX (longest_account,
- strlen (tp_account_get_path_suffix (account)));
+ for (l = accounts; l != NULL; l = l->next)
+ {
+ TpAccount *account = TP_ACCOUNT (l->data);
+
+ longest_account = MAX (longest_account,
+ strlen (tp_account_get_path_suffix (account)));
}
- /* The -6 is so we can line up the "Enabled" header to have the ticks and
- * crosses below the 7th and final character. We're only guaranteed
- * longest_account ≥ 5 in theory (a/b/c is the shortest legal suffix) but
- * in practice it's always going to be ≥ 7.
- */
- g_return_val_if_fail (longest_account >= 7, FALSE);
- printf ("%-*s %s %s\n", longest_account - 6, "Account", "Enabled", "Requested");
- printf ("%-*s %s %s\n", longest_account - 6, "=======", "=======", "=========");
-
- for (l = accounts; l != NULL; l = l->next) {
- TpAccount *account = TP_ACCOUNT (l->data);
- gchar *status;
-
- tp_account_get_requested_presence (account, &status, NULL);
- printf ("%-*s %s %s\n",
- longest_account, tp_account_get_path_suffix (account),
- tp_account_is_enabled (account) ? "✓" : "☐",
- status);
+ /* The -6 is so we can line up the "Enabled" header to have the ticks and
+ * crosses below the 7th and final character. We're only guaranteed
+ * longest_account ≥ 5 in theory (a/b/c is the shortest legal suffix) but
+ * in practice it's always going to be ≥ 7.
+ */
+ g_return_val_if_fail (longest_account >= 7, FALSE);
+ printf ("%-*s %s %s\n", longest_account - 6,
+ "Account", "Enabled", "Requested");
+ printf ("%-*s %s %s\n", longest_account - 6,
+ "=======", "=======", "=========");
+
+ for (l = accounts; l != NULL; l = l->next)
+ {
+ TpAccount *account = TP_ACCOUNT (l->data);
+ gchar *status;
+
+ tp_account_get_requested_presence (account, &status, NULL);
+ printf ("%-*s %s %s\n",
+ longest_account, tp_account_get_path_suffix (account),
+ tp_account_is_enabled (account) ? "✓" : "☐",
+ status);
}
- g_list_free_full (accounts, g_object_unref);
- return FALSE; /* stop mainloop */
+ g_list_free_full (accounts, g_object_unref);
+ return FALSE; /* stop mainloop */
}
static void
callback_for_create_account (GObject *source,
- GAsyncResult *result,
- gpointer user_data)
+ GAsyncResult *result,
+ gpointer user_data)
{
- TpAccountManager *am = TP_ACCOUNT_MANAGER (source);
- TpAccount *account;
- GError *error = NULL;
+ TpAccountManager *am = TP_ACCOUNT_MANAGER (source);
+ TpAccount *account;
+ GError *error = NULL;
- account = tp_account_manager_create_account_finish (am, result, &error);
+ account = tp_account_manager_create_account_finish (am, result, &error);
- if (account != NULL) {
- command.common.ret = 0;
- puts (tp_account_get_path_suffix (account));
+ if (account != NULL)
+ {
+ command.common.ret = 0;
+ puts (tp_account_get_path_suffix (account));
}
- else {
- fprintf (stderr, "%s %s: %s\n", app_name, command.common.name,
- error->message);
+ else
+ {
+ fprintf (stderr, "%s %s: %s\n", app_name, command.common.name,
+ error->message);
}
- g_main_loop_quit (main_loop);
+
+ g_main_loop_quit (main_loop);
}
static gboolean
command_add (TpAccountManager *manager)
{
- GHashTable *properties = tp_asv_new (NULL, NULL);
-
- tp_account_manager_create_account_async (manager,
- command.add.manager,
- command.add.protocol,
- command.add.display,
- command.add.parameters,
- properties,
- callback_for_create_account,
- NULL);
- return TRUE;
+ GHashTable *properties = tp_asv_new (NULL, NULL);
+
+ tp_account_manager_create_account_async (manager,
+ command.add.manager,
+ command.add.protocol,
+ command.add.display,
+ command.add.parameters,
+ properties,
+ callback_for_create_account,
+ NULL);
+
+ return TRUE;
}
static void
callback_for_update_parameters (GObject *source,
- GAsyncResult *result,
- gpointer user_data G_GNUC_UNUSED)
+ GAsyncResult *result,
+ gpointer user_data G_GNUC_UNUSED)
{
- TpAccount *account = TP_ACCOUNT (source);
- gchar **reconnect_required = NULL;
- GError *error = NULL;
+ TpAccount *account = TP_ACCOUNT (source);
+ gchar **reconnect_required = NULL;
+ GError *error = NULL;
- if (tp_account_update_parameters_finish (account, result,
- &reconnect_required, &error)) {
- if (reconnect_required[0] != NULL) {
- gchar *r = g_strjoinv (", ", reconnect_required);
-
- printf ("To apply changes to these parameters:\n");
- printf (" %s\n", r);
- printf ("run:\n");
- printf (" %s reconnect %s\n", app_name,
- tp_account_get_path_suffix (account));
- g_free (r);
- g_strfreev (reconnect_required);
+ if (tp_account_update_parameters_finish (account, result,
+ &reconnect_required, &error))
+ {
+ if (reconnect_required[0] != NULL)
+ {
+ gchar *r = g_strjoinv (", ", reconnect_required);
+
+ printf ("To apply changes to these parameters:\n");
+ printf (" %s\n", r);
+ printf ("run:\n");
+ printf (" %s reconnect %s\n", app_name,
+ tp_account_get_path_suffix (account));
+ g_free (r);
+ g_strfreev (reconnect_required);
}
- command.common.ret = 0;
+ command.common.ret = 0;
}
- else {
- fprintf (stderr, "%s %s: %s\n", app_name, command.common.name,
- error->message);
+ else
+ {
+ fprintf (stderr, "%s %s: %s\n", app_name, command.common.name,
+ error->message);
}
- g_main_loop_quit (main_loop);
+ g_main_loop_quit (main_loop);
}
static void
callback_for_async (GObject *account,
- GAsyncResult *res,
- gpointer user_data)
+ GAsyncResult *res,
+ gpointer user_data)
{
gboolean (* finish_func) (TpAccount *, GAsyncResult *, GError **);
GError *error = NULL;
finish_func = user_data;
- if (!finish_func (TP_ACCOUNT (account), res, &error)) {
+ if (!finish_func (TP_ACCOUNT (account), res, &error))
+ {
fprintf (stderr, "%s %s: %s\n", app_name, command.common.name,
error->message);
g_error_free (error);
- }
- else {
+ }
+ else
+ {
command.common.ret = 0;
- }
+ }
g_main_loop_quit (main_loop);
}
@@ -682,8 +731,9 @@ callback_for_async (GObject *account,
static gboolean
command_remove (TpAccount *account)
{
- tp_account_remove_async (account, callback_for_async, tp_account_remove_finish);
- return TRUE;
+ tp_account_remove_async (account, callback_for_async,
+ tp_account_remove_finish);
+ return TRUE;
}
static gchar *
@@ -719,768 +769,779 @@ dup_storage_restrictions (TpAccount *account)
static gboolean
command_show (TpAccount *account)
{
- const GHashTable *parameters;
- GHashTableIter i[1];
- gpointer keyp, valuep;
- struct presence automatic, current, requested;
- const gchar * const *schemes;
- const gchar *storage_provider;
- const gchar * const *supersedes;
-
- show ("Account", tp_account_get_path_suffix (account));
- show ("Display Name", tp_account_get_display_name (account));
- show ("Normalized", tp_account_get_normalized_name (account));
- show ("Enabled", tp_account_is_enabled (account) ? "enabled" : "disabled");
- show ("Usable", tp_account_is_usable (account) ? "" : "false");
- show ("Icon", tp_account_get_icon_name (account));
- show ("Connects",
- tp_account_get_connect_automatically (account)
- ? "automatically" : "only when requested");
- show ("Nickname", tp_account_get_nickname (account));
- show ("Service", tp_account_get_service (account));
-
- puts ("");
- puts ("Presences:");
- automatic.type = tp_account_get_automatic_presence (account,
- &automatic.status,
- &automatic.message);
- show_presence ("Automatic", &automatic);
- free_presence (&automatic);
-
- current.type = tp_account_get_current_presence (account,
- &current.status,
- &current.message);
- show_presence ("Current", &current);
- free_presence (&current);
-
- requested.type = tp_account_get_requested_presence (account,
- &requested.status,
- &requested.message);
- show_presence ("Requested", &requested);
- free_presence (&requested);
-
- show ("Changing",
- tp_account_get_changing_presence (account) ? "yes" : "no");
-
- schemes = tp_account_get_uri_schemes (account);
- if (schemes != NULL && schemes[0] != NULL)
- {
- puts ("");
- puts ("Addressing:");
+ const GHashTable *parameters;
+ GHashTableIter i[1];
+ gpointer keyp, valuep;
+ struct presence automatic, current, requested;
+ const gchar * const *schemes;
+ const gchar *storage_provider;
+ const gchar * const *supersedes;
+
+ show ("Account", tp_account_get_path_suffix (account));
+ show ("Display Name", tp_account_get_display_name (account));
+ show ("Normalized", tp_account_get_normalized_name (account));
+ show ("Enabled", tp_account_is_enabled (account) ? "enabled" : "disabled");
+ show ("Usable", tp_account_is_usable (account) ? "" : "false");
+ show ("Icon", tp_account_get_icon_name (account));
+ show ("Connects", tp_account_get_connect_automatically (account)
+ ? "automatically" : "only when requested");
+ show ("Nickname", tp_account_get_nickname (account));
+ show ("Service", tp_account_get_service (account));
+
+ puts ("");
+ puts ("Presences:");
+ automatic.type = tp_account_get_automatic_presence (account,
+ &automatic.status, &automatic.message);
+ show_presence ("Automatic", &automatic);
+ free_presence (&automatic);
+
+ current.type = tp_account_get_current_presence (account, &current.status,
+ &current.message);
+ show_presence ("Current", &current);
+ free_presence (&current);
+
+ requested.type = tp_account_get_requested_presence (account,
+ &requested.status, &requested.message);
+ show_presence ("Requested", &requested);
+ free_presence (&requested);
+
+ show ("Changing", tp_account_get_changing_presence (account) ? "yes" : "no");
+
+ schemes = tp_account_get_uri_schemes (account);
+ if (schemes != NULL && schemes[0] != NULL)
+ {
+ puts ("");
+ puts ("Addressing:");
- show_uri_schemes (schemes);
- }
+ show_uri_schemes (schemes);
+ }
- storage_provider = tp_account_get_storage_provider (account);
- if (!tp_str_empty (storage_provider))
- {
- GVariant *storage_identifier;
- gchar *storage_restrictions;
+ storage_provider = tp_account_get_storage_provider (account);
+ if (!tp_str_empty (storage_provider))
+ {
+ GVariant *storage_identifier;
+ gchar *storage_restrictions;
- puts ("");
- puts ("Storage:");
- show ("Provider", storage_provider);
+ puts ("");
+ puts ("Storage:");
+ show ("Provider", storage_provider);
- storage_identifier = tp_account_dup_storage_identifier (
- account);
- if (storage_identifier != NULL)
- {
- gchar *tmp = g_variant_print (storage_identifier, TRUE);
+ storage_identifier = tp_account_dup_storage_identifier (account);
+ if (storage_identifier != NULL)
+ {
+ gchar *tmp = g_variant_print (storage_identifier, TRUE);
- show ("Identifier", tmp);
+ show ("Identifier", tmp);
- g_free (tmp);
- g_variant_unref (storage_identifier);
- }
+ g_free (tmp);
+ g_variant_unref (storage_identifier);
+ }
- storage_restrictions = dup_storage_restrictions (account);
- show ("Restrictions", storage_restrictions);
- g_free (storage_restrictions);
- }
+ storage_restrictions = dup_storage_restrictions (account);
+ show ("Restrictions", storage_restrictions);
+ g_free (storage_restrictions);
+ }
- supersedes = tp_account_get_supersedes (account);
- if (supersedes != NULL && supersedes[0] != NULL)
- {
- puts ("");
- puts ("Supersedes:");
- for (; *supersedes != NULL; supersedes++)
- printf (" %s\n", *supersedes + strlen (TP_ACCOUNT_OBJECT_PATH_BASE));
- }
+ supersedes = tp_account_get_supersedes (account);
+ if (supersedes != NULL && supersedes[0] != NULL)
+ {
+ puts ("");
+ puts ("Supersedes:");
+ for (; *supersedes != NULL; supersedes++)
+ printf (" %s\n", *supersedes + strlen (TP_ACCOUNT_OBJECT_PATH_BASE));
+ }
- puts ("");
- parameters = tp_account_get_parameters (account);
+ puts ("");
+ parameters = tp_account_get_parameters (account);
- for (g_hash_table_iter_init (i, (GHashTable *) parameters);
- g_hash_table_iter_next (i, &keyp, &valuep);) {
- show_param (keyp, valuep);
+ for (g_hash_table_iter_init (i, (GHashTable *) parameters);
+ g_hash_table_iter_next (i, &keyp, &valuep);)
+ {
+ show_param (keyp, valuep);
}
- command.common.ret = 0;
+ command.common.ret = 0;
- return FALSE;
+ return FALSE;
}
static gboolean
command_dump (TpAccountManager *manager)
{
- GList *accounts, *l;
+ GList *accounts, *l;
- accounts = tp_account_manager_dup_usable_accounts (manager);
- if (accounts == NULL) {
- return FALSE;
- }
- command.common.ret = 0;
+ accounts = tp_account_manager_dup_usable_accounts (manager);
+ if (accounts == NULL)
+ return FALSE;
+
+ command.common.ret = 0;
- for (l = accounts; l != NULL; l = l->next) {
- TpAccount *account = TP_ACCOUNT (l->data);
+ for (l = accounts; l != NULL; l = l->next)
+ {
+ TpAccount *account = TP_ACCOUNT (l->data);
- command_show (account);
+ command_show (account);
- if (l->next != NULL)
- printf ("\n------------------------------------------------------------\n\n");
+ if (l->next != NULL)
+ printf (
+ "\n------------------------------------------------------------\n\n");
}
- g_list_free_full (accounts, g_object_unref);
- return FALSE; /* stop mainloop */
+ g_list_free_full (accounts, g_object_unref);
+ return FALSE; /* stop mainloop */
}
static gboolean
command_connection (TpAccount *account)
{
- TpConnection *conn;
+ TpConnection *conn;
- conn = tp_account_get_connection (account);
+ conn = tp_account_get_connection (account);
- if (conn != NULL) {
- TpConnectionStatus status;
- TpConnectionStatusReason reason;
- const gchar *name;
+ if (conn != NULL)
+ {
+ TpConnectionStatus status;
+ TpConnectionStatusReason reason;
+ const gchar *name;
- name = tp_proxy_get_object_path (conn);
- status = tp_account_get_connection_status (account, &reason);
+ name = tp_proxy_get_object_path (conn);
+ status = tp_account_get_connection_status (account, &reason);
- printf("%s %s %s\n", name,
- connection_status_as_string(status),
- connection_status_reason_as_string(reason));
- command.common.ret = 0;
+ printf ("%s %s %s\n", name, connection_status_as_string(status),
+ connection_status_reason_as_string(reason));
+ command.common.ret = 0;
}
- else {
- fprintf(stderr, "%s: no connection\n",
- tp_account_get_path_suffix (account));
+ else
+ {
+ fprintf(stderr, "%s: no connection\n",
+ tp_account_get_path_suffix (account));
}
- return FALSE;
+ return FALSE;
}
static gboolean
command_get (TpAccount *account)
{
- GPtrArray *args = command.get.args;
- GHashTable *parameters = NULL;
- guint i;
-
- command.common.ret = 0;
-
- for (i = 0; i < args->len; i++) {
- Getter *getter = g_ptr_array_index(args, i);
-
- if (getter->function) {
- gchar const *(*getstring)(TpAccount *) = getter->function;
- gboolean (*getboolean)(TpAccount *) = getter->function;
- TpConnectionPresenceType (*getpresence)(TpAccount *,
- gchar **status, gchar **message) =
- getter->function;
-
- if (getter->type == GET_STRING) {
- printf("\"%s\"\n", getstring(account));
- }
- else if (getter->type == GET_BOOLEAN) {
- puts(getboolean(account) ? "true" : "false");
- }
- else if (getter->type == GET_PRESENCE)
+ GPtrArray *args = command.get.args;
+ GHashTable *parameters = NULL;
+ guint i;
+
+ command.common.ret = 0;
+
+ for (i = 0; i < args->len; i++)
+ {
+ Getter *getter = g_ptr_array_index(args, i);
+
+ if (getter->function)
+ {
+ gchar const *(*getstring)(TpAccount *) = getter->function;
+ gboolean (*getboolean)(TpAccount *) = getter->function;
+ TpConnectionPresenceType (*getpresence)(TpAccount *,
+ gchar **status, gchar **message) = getter->function;
+
+ if (getter->type == GET_STRING)
+ {
+ printf ("\"%s\"\n", getstring(account));
+ }
+ else if (getter->type == GET_BOOLEAN)
{
- struct presence presence;
+ puts(getboolean(account) ? "true" : "false");
+ }
+ else if (getter->type == GET_PRESENCE)
+ {
+ struct presence presence;
+
+ presence.type = getpresence(account, &presence.status,
+ &presence.message);
+ printf ("(%u, \"%s\", \"%s\")\n", presence.type,
+ presence.status, presence.message);
+ free_presence (&presence);
+ }
+ else if (getter->type == GET_PRESENCE_TYPE ||
+ getter->type == GET_PRESENCE_STATUS ||
+ getter->type == GET_PRESENCE_MESSAGE)
+ {
+ struct presence presence;
- presence.type = getpresence(account, &presence.status,
+ presence.type = getpresence(account, &presence.status,
&presence.message);
- printf ("(%u, \"%s\", \"%s\")\n", presence.type,
- presence.status, presence.message);
- free_presence (&presence);
+
+ if (getter->type == GET_PRESENCE_TYPE)
+ printf ("%u\n", presence.type);
+ else if (getter->type == GET_PRESENCE_STATUS)
+ printf("\"%s\"\n", presence.status);
+ else
+ printf("\"%s\"\n", presence.message);
+
+ free_presence (&presence);
}
- else if (getter->type == GET_PRESENCE_TYPE ||
- getter->type == GET_PRESENCE_STATUS ||
- getter->type == GET_PRESENCE_MESSAGE) {
- struct presence presence;
-
- presence.type = getpresence(account, &presence.status,
- &presence.message);
-
- if (getter->type == GET_PRESENCE_TYPE)
- printf("%u\n", presence.type);
- else if (getter->type == GET_PRESENCE_STATUS)
- printf("\"%s\"\n", presence.status);
- else
- printf("\"%s\"\n", presence.message);
-
- free_presence (&presence);
- }
- else {
- }
- }
- else {
- GValue *gvalue;
- gchar *value;
-
- if (parameters == NULL)
- parameters = (GHashTable *) tp_account_get_parameters(account);
-
- gvalue = g_hash_table_lookup(parameters, getter->name);
-
- if (gvalue == NULL) {
- command.common.ret = 1;
- fprintf(stderr, "%s %s: param=%s: %s\n",
- app_name, command.common.name,
- getter->name, "not found");
- continue;
- }
-
- value = g_strdup_value_contents (gvalue);
- puts(value);
- g_free(value);
- }
+ }
+ else
+ {
+ GValue *gvalue;
+ gchar *value;
+
+ if (parameters == NULL)
+ parameters = (GHashTable *) tp_account_get_parameters(account);
+
+ gvalue = g_hash_table_lookup (parameters, getter->name);
+
+ if (gvalue == NULL)
+ {
+ command.common.ret = 1;
+ fprintf (stderr, "%s %s: param=%s: %s\n",
+ app_name, command.common.name,
+ getter->name, "not found");
+ continue;
+ }
+
+ value = g_strdup_value_contents (gvalue);
+ puts(value);
+ g_free(value);
+ }
}
- return FALSE;
+ return FALSE;
}
static gboolean
command_enable (TpAccount *account)
{
- tp_account_set_enabled_async (account, TRUE,
- callback_for_async,
- tp_account_set_enabled_finish);
+ tp_account_set_enabled_async (account, TRUE,
+ callback_for_async, tp_account_set_enabled_finish);
- return TRUE;
+ return TRUE;
}
static gboolean
command_disable (TpAccount *account)
{
- tp_account_set_enabled_async (account, FALSE,
- callback_for_async,
- tp_account_set_enabled_finish);
+ tp_account_set_enabled_async (account, FALSE,
+ callback_for_async, tp_account_set_enabled_finish);
- return TRUE;
+ return TRUE;
}
static gboolean
command_display (TpAccount *account)
{
- tp_account_set_display_name_async (account, command.display.name,
- callback_for_async,
- tp_account_set_display_name_finish);
+ tp_account_set_display_name_async (account, command.display.name,
+ callback_for_async, tp_account_set_display_name_finish);
- return TRUE;
+ return TRUE;
}
static gboolean
command_nick (TpAccount *account)
{
- tp_account_set_nickname_async (account, command.nick.name,
- callback_for_async,
- tp_account_set_nickname_finish);
+ tp_account_set_nickname_async (account, command.nick.name,
+ callback_for_async, tp_account_set_nickname_finish);
- return TRUE;
+ return TRUE;
}
static gboolean
command_service (TpAccount *account)
{
- tp_account_set_service_async (account, command.service.name,
- callback_for_async,
- tp_account_set_service_finish);
+ tp_account_set_service_async (account, command.service.name,
+ callback_for_async, tp_account_set_service_finish);
- return TRUE;
+ return TRUE;
}
static gboolean
command_icon (TpAccount *account)
{
- tp_account_set_icon_name_async (account, command.icon.name,
- callback_for_async,
- tp_account_set_icon_name_finish);
+ tp_account_set_icon_name_async (account, command.icon.name,
+ callback_for_async, tp_account_set_icon_name_finish);
- return TRUE;
+ return TRUE;
}
static gboolean
command_auto_connect (TpAccount *account)
{
- tp_account_set_connect_automatically_async (account, command.boolean.value,
- callback_for_async,
- tp_account_set_connect_automatically_finish);
+ tp_account_set_connect_automatically_async (account, command.boolean.value,
+ callback_for_async, tp_account_set_connect_automatically_finish);
- return TRUE;
+ return TRUE;
}
static gboolean
command_reconnect (TpAccount *account)
{
- tp_account_reconnect_async (account, callback_for_async,
- tp_account_reconnect_finish);
+ tp_account_reconnect_async (account, callback_for_async,
+ tp_account_reconnect_finish);
- return TRUE;
+ return TRUE;
}
static gboolean
command_update (TpAccount *account)
{
- tp_account_update_parameters_async (account,
- command.update.set,
- (const gchar **) command.update.unset->pdata,
- callback_for_update_parameters,
- NULL);
- return TRUE;
+ tp_account_update_parameters_async (account,
+ command.update.set,
+ (const gchar **) command.update.unset->pdata,
+ callback_for_update_parameters,
+ NULL);
+
+ return TRUE;
}
static gboolean
command_auto_presence (TpAccount *account)
{
- tp_account_set_automatic_presence_async (account,
- command.presence.type,
- command.presence.status,
- command.presence.message,
- callback_for_async,
- tp_account_request_presence_finish);
-
- return TRUE;
+ tp_account_set_automatic_presence_async (account,
+ command.presence.type,
+ command.presence.status,
+ command.presence.message,
+ callback_for_async,
+ tp_account_request_presence_finish);
+
+ return TRUE;
}
static gboolean
command_request (TpAccount *account)
{
- tp_account_request_presence_async (account,
- command.presence.type,
- command.presence.status,
- command.presence.message,
- callback_for_async,
- tp_account_request_presence_finish);
-
- return TRUE;
+ tp_account_request_presence_async (account,
+ command.presence.type,
+ command.presence.status,
+ command.presence.message,
+ callback_for_async,
+ tp_account_request_presence_finish);
+
+ return TRUE;
}
static void
parse (int argc, char **argv)
{
- int i;
- gboolean status;
+ int i;
+ gboolean status;
- app_name = basename (argv[0]);
+ app_name = basename (argv[0]);
- if (argc < 2)
- show_help ("No command specified");
+ if (argc < 2)
+ show_help ("No command specified");
- g_type_init ();
- /* Command processing */
+ g_type_init ();
+ /* Command processing */
- command.common.name = argv[1];
+ command.common.name = argv[1];
- if (strcmp (argv[1], "add") == 0)
+ if (strcmp (argv[1], "add") == 0)
{
- gchar **strv;
-
- /* Add account */
- if (argc < 4)
- show_help ("Invalid add command.");
-
- if (strchr (argv[2], '/') != NULL)
- {
- strv = g_strsplit (argv[2], "/", 2);
-
- if (strv[0] == NULL || strv[1] == NULL || strv[2] != NULL)
- show_help ("Invalid add command.");
-
- command.add.manager = strv[0];
- command.add.protocol = strv[1];
- }
- else
- {
- show_help ("Invalid add command.");
- }
-
- command.ready.manager = command_add;
- command.add.display = argv[3];
-
- command.add.parameters = new_params ();
-
- for (i = 4; i < argc; i++)
- {
- status = set_param (command.add.parameters, NULL, argv[i]);
- if (!status) {
- g_warning ("%s: bad parameter: %s", argv[1], argv[i]);
- exit (1);
- }
- }
+ gchar **strv;
+
+ /* Add account */
+ if (argc < 4)
+ show_help ("Invalid add command.");
+
+ if (strchr (argv[2], '/') != NULL)
+ {
+ strv = g_strsplit (argv[2], "/", 2);
+
+ if (strv[0] == NULL || strv[1] == NULL || strv[2] != NULL)
+ show_help ("Invalid add command.");
+
+ command.add.manager = strv[0];
+ command.add.protocol = strv[1];
+ }
+ else
+ {
+ show_help ("Invalid add command.");
+ }
+
+ command.ready.manager = command_add;
+ command.add.display = argv[3];
+
+ command.add.parameters = new_params ();
+
+ for (i = 4; i < argc; i++)
+ {
+ status = set_param (command.add.parameters, NULL, argv[i]);
+
+ if (!status)
+ {
+ g_warning ("%s: bad parameter: %s", argv[1], argv[i]);
+ exit (1);
+ }
+ }
}
- else if (strcmp (argv[1], "list") == 0)
+ else if (strcmp (argv[1], "list") == 0)
{
- /* List accounts */
- if (argc != 2)
- show_help ("Invalid list command.");
+ /* List accounts */
+ if (argc != 2)
+ show_help ("Invalid list command.");
- command.ready.manager = command_list;
+ command.ready.manager = command_list;
}
- else if (strcmp (argv[1], "summary") == 0)
+ else if (strcmp (argv[1], "summary") == 0)
{
- /* List accounts */
- if (argc != 2)
- show_help ("Invalid summary command.");
+ /* List accounts */
+ if (argc != 2)
+ show_help ("Invalid summary command.");
- command.ready.manager = command_summary;
+ command.ready.manager = command_summary;
}
- else if (strcmp (argv[1], "dump") == 0)
+ else if (strcmp (argv[1], "dump") == 0)
{
- /* Dump all accounts */
- if (argc != 2)
- show_help ("Invalid dump command.");
+ /* Dump all accounts */
+ if (argc != 2)
+ show_help ("Invalid dump command.");
- command.ready.manager = command_dump;
+ command.ready.manager = command_dump;
}
- else if (strcmp (argv[1], "remove") == 0
- || strcmp (argv[1], "delete") == 0)
+ else if (strcmp (argv[1], "remove") == 0
+ || strcmp (argv[1], "delete") == 0)
{
- /* Remove account */
- if (argc != 3)
- show_help ("Invalid remove command.");
+ /* Remove account */
+ if (argc != 3)
+ show_help ("Invalid remove command.");
- command.ready.account = command_remove;
- command.common.account = argv[2];
+ command.ready.account = command_remove;
+ command.common.account = argv[2];
}
- else if (strcmp (argv[1], "show") == 0)
+ else if (strcmp (argv[1], "show") == 0)
{
- /* Show account details */
+ /* Show account details */
+ if (argc != 3)
+ show_help ("Invalid show command.");
- if (argc != 3)
- show_help ("Invalid show command.");
-
- command.ready.account = command_show;
- command.common.account = argv[2];
+ command.ready.account = command_show;
+ command.common.account = argv[2];
}
- else if (strcmp (argv[1], "get") == 0)
- {
- /* Get account details */
-
- if (argc < 3)
- show_help ("Invalid get command.");
-
- command.ready.account = command_get;
- command.common.account = argv[2];
- command.get.args = g_ptr_array_new();
-
- for (i = 3; argv[i]; i++) {
- char *name = argv[i];
- Getter *getter;
- const char *param = strip_prefix (name, "param=");
-
- if (param != NULL) {
- getter = g_new0(Getter, 1);
- getter->name = param;
- getter->type = GET_PARAM;
- getter->function = NULL;
- }
- else {
- getter = getter_by_name(name);
- if (getter == NULL) {
- fprintf(stderr, "%s %s: %s: unknown\n", app_name,
- "get", name);
- exit(1);
- }
- }
-
- g_ptr_array_add(command.get.args, getter);
- }
+ else if (strcmp (argv[1], "get") == 0)
+ {
+ /* Get account details */
+
+ if (argc < 3)
+ show_help ("Invalid get command.");
+
+ command.ready.account = command_get;
+ command.common.account = argv[2];
+ command.get.args = g_ptr_array_new();
+
+ for (i = 3; argv[i]; i++)
+ {
+ char *name = argv[i];
+ Getter *getter;
+ const char *param = strip_prefix (name, "param=");
+
+ if (param != NULL)
+ {
+ getter = g_new0(Getter, 1);
+ getter->name = param;
+ getter->type = GET_PARAM;
+ getter->function = NULL;
+ }
+ else
+ {
+ getter = getter_by_name(name);
+ if (getter == NULL)
+ {
+ fprintf(stderr, "%s %s: %s: unknown\n", app_name,
+ "get", name);
+ exit(1);
+ }
+ }
+
+ g_ptr_array_add(command.get.args, getter);
}
- else if (strcmp (argv[1], "connection") == 0)
+ }
+ else if (strcmp (argv[1], "connection") == 0)
{
- /* Show connection status */
+ /* Show connection status */
- if (argc != 3)
- show_help ("Invalid connection command.");
+ if (argc != 3)
+ show_help ("Invalid connection command.");
- command.ready.account = command_connection;
- command.common.account = argv[2];
+ command.ready.account = command_connection;
+ command.common.account = argv[2];
}
- else if (strcmp (argv[1], "enable") == 0)
+ else if (strcmp (argv[1], "enable") == 0)
{
- /* Enable account */
- if (argc != 3)
- show_help ("Invalid enable command.");
+ /* Enable account */
+ if (argc != 3)
+ show_help ("Invalid enable command.");
- command.ready.account = command_enable;
- command.common.account = argv[2];
+ command.ready.account = command_enable;
+ command.common.account = argv[2];
}
- else if (strcmp (argv[1], "disable") == 0)
+ else if (strcmp (argv[1], "disable") == 0)
{
- /* Disable account */
- if (argc != 3)
- show_help ("Invalid disable command.");
+ /* Disable account */
+ if (argc != 3)
+ show_help ("Invalid disable command.");
- command.ready.account = command_disable;
- command.common.account = argv[2];
+ command.ready.account = command_disable;
+ command.common.account = argv[2];
}
- else if (strcmp (argv[1], "display") == 0)
+ else if (strcmp (argv[1], "display") == 0)
{
- /* Set display name */
- if (argc != 4)
- show_help ("Invalid display command.");
+ /* Set display name */
+ if (argc != 4)
+ show_help ("Invalid display command.");
- command.ready.account = command_display;
- command.common.account = argv[2];
- command.display.name = argv[3];
+ command.ready.account = command_display;
+ command.common.account = argv[2];
+ command.display.name = argv[3];
}
- else if (strcmp (argv[1], "nick") == 0)
+ else if (strcmp (argv[1], "nick") == 0)
{
- /* Set nickname */
- if (argc != 4)
- show_help ("Invalid nick command.");
+ /* Set nickname */
+ if (argc != 4)
+ show_help ("Invalid nick command.");
- command.ready.account = command_nick;
- command.common.account = argv[2];
- command.nick.name = argv[3];
+ command.ready.account = command_nick;
+ command.common.account = argv[2];
+ command.nick.name = argv[3];
}
- else if (strcmp (argv[1], "service") == 0)
+ else if (strcmp (argv[1], "service") == 0)
{
- /* Set service */
- if (argc != 4)
- show_help ("Invalid service command.");
+ /* Set service */
+ if (argc != 4)
+ show_help ("Invalid service command.");
- command.ready.account = command_service;
- command.common.account = argv[2];
- command.service.name = argv[3];
+ command.ready.account = command_service;
+ command.common.account = argv[2];
+ command.service.name = argv[3];
}
- else if (strcmp (argv[1], "icon") == 0)
+ else if (strcmp (argv[1], "icon") == 0)
{
- /* Set icon */
- if (argc != 4)
- show_help ("Invalid icon command.");
+ /* Set icon */
+ if (argc != 4)
+ show_help ("Invalid icon command.");
- command.ready.account = command_icon;
- command.common.account = argv[2];
- command.icon.name = argv[3];
+ command.ready.account = command_icon;
+ command.common.account = argv[2];
+ command.icon.name = argv[3];
}
- else if (strcmp (argv[1], "update") == 0
- || strcmp (argv[1], "set") == 0)
+ else if (strcmp (argv[1], "update") == 0
+ || strcmp (argv[1], "set") == 0)
{
- /* Set account parameter (s) */
- if (argc < 4)
- show_help ("Invalid update command.");
-
- command.ready.account = command_update;
- command.common.account = argv[2];
- command.update.set = new_params ();
- command.update.unset = g_ptr_array_new ();
-
- for (i = 3; i < argc; i++)
- {
- status = set_param (command.update.set, command.update.unset,
- argv[i]);
- if (!status) {
- g_warning ("%s: bad parameter: %s", argv[1], argv[i]);
- exit (1);
- }
- }
-
- g_ptr_array_add (command.update.unset, NULL);
+ /* Set account parameter (s) */
+ if (argc < 4)
+ show_help ("Invalid update command.");
+
+ command.ready.account = command_update;
+ command.common.account = argv[2];
+ command.update.set = new_params ();
+ command.update.unset = g_ptr_array_new ();
+
+ for (i = 3; i < argc; i++)
+ {
+ status = set_param (command.update.set, command.update.unset,
+ argv[i]);
+ if (!status)
+ {
+ g_warning ("%s: bad parameter: %s", argv[1], argv[i]);
+ exit (1);
+ }
+ }
+
+ g_ptr_array_add (command.update.unset, NULL);
}
- else if (strcmp (argv[1], "auto-presence") == 0)
+ else if (strcmp (argv[1], "auto-presence") == 0)
{
- /* Set automatic presence */
- if (argc != 4 && argc != 5)
- show_help ("Invalid auto-presence command.");
-
- command.ready.account = command_auto_presence;
- command.common.account = argv[2];
- command.presence.type = get_presence_type_for_status(argv[3]);
- command.presence.status = argv[3];
- command.presence.message = argv[4] ? argv[4] : "";
-
- switch (command.presence.type) {
- case TP_CONNECTION_PRESENCE_TYPE_UNKNOWN:
- case TP_CONNECTION_PRESENCE_TYPE_ERROR:
- fprintf(stderr, "%s: %s: unknown presence %s\n",
- app_name, argv[1], argv[3]);
- exit(1);
- break;
- default:
- break;
- }
+ /* Set automatic presence */
+ if (argc != 4 && argc != 5)
+ show_help ("Invalid auto-presence command.");
+
+ command.ready.account = command_auto_presence;
+ command.common.account = argv[2];
+ command.presence.type = get_presence_type_for_status(argv[3]);
+ command.presence.status = argv[3];
+ command.presence.message = argv[4] ? argv[4] : "";
+
+ switch (command.presence.type)
+ {
+ case TP_CONNECTION_PRESENCE_TYPE_UNKNOWN:
+ case TP_CONNECTION_PRESENCE_TYPE_ERROR:
+ fprintf(stderr, "%s: %s: unknown presence %s\n",
+ app_name, argv[1], argv[3]);
+ exit(1);
+ break;
+ default:
+ break;
+ }
}
- else if (strcmp (argv[1], "request") == 0)
+ else if (strcmp (argv[1], "request") == 0)
{
- /* Set presence */
- if (argc != 4 && argc != 5)
- show_help ("Invalid request command.");
-
- command.ready.account = command_request;
- command.common.account = argv[2];
- command.presence.type = get_presence_type_for_status(argv[3]);
- command.presence.status = argv[3];
- command.presence.message = argv[4] ? argv[4] : "";
-
- switch (command.presence.type) {
- case TP_CONNECTION_PRESENCE_TYPE_UNKNOWN:
- case TP_CONNECTION_PRESENCE_TYPE_ERROR:
- fprintf(stderr, "%s: %s: unknown presence %s\n",
- app_name, argv[1], argv[3]);
- exit(1);
- break;
- default:
- break;
- }
+ /* Set presence */
+ if (argc != 4 && argc != 5)
+ show_help ("Invalid request command.");
+
+ command.ready.account = command_request;
+ command.common.account = argv[2];
+ command.presence.type = get_presence_type_for_status(argv[3]);
+ command.presence.status = argv[3];
+ command.presence.message = argv[4] ? argv[4] : "";
+
+ switch (command.presence.type)
+ {
+ case TP_CONNECTION_PRESENCE_TYPE_UNKNOWN:
+ case TP_CONNECTION_PRESENCE_TYPE_ERROR:
+ fprintf(stderr, "%s: %s: unknown presence %s\n",
+ app_name, argv[1], argv[3]);
+ exit(1);
+ break;
+ default:
+ break;
+ }
}
- else if (strcmp (argv[1], "auto-connect") == 0) {
- /* Turn on (or off) auto-connect */
- if (argc != 3 && argc != 4)
- show_help ("Invalid auto-connect command.");
-
- command.ready.account = command_auto_connect;
- command.common.account = argv[2];
- if (argv[3] == NULL ||
- g_ascii_strcasecmp (argv[3], "on") == 0 ||
- g_ascii_strcasecmp (argv[3], "true") == 0 ||
- g_ascii_strcasecmp (argv[3], "1") == 0)
- command.boolean.value = TRUE;
- else if (g_ascii_strcasecmp (argv[3], "off") == 0 ||
- g_ascii_strcasecmp (argv[3], "false") == 0 ||
- g_ascii_strcasecmp (argv[3], "0") == 0)
- command.boolean.value = FALSE;
- else
- show_help ("Invalid auto-connect command.");
+ else if (strcmp (argv[1], "auto-connect") == 0)
+ {
+ /* Turn on (or off) auto-connect */
+ if (argc != 3 && argc != 4)
+ show_help ("Invalid auto-connect command.");
+
+ command.ready.account = command_auto_connect;
+ command.common.account = argv[2];
+ if (argv[3] == NULL ||
+ g_ascii_strcasecmp (argv[3], "on") == 0 ||
+ g_ascii_strcasecmp (argv[3], "true") == 0 ||
+ g_ascii_strcasecmp (argv[3], "1") == 0)
+ command.boolean.value = TRUE;
+ else if (g_ascii_strcasecmp (argv[3], "off") == 0 ||
+ g_ascii_strcasecmp (argv[3], "false") == 0 ||
+ g_ascii_strcasecmp (argv[3], "0") == 0)
+ command.boolean.value = FALSE;
+ else
+ show_help ("Invalid auto-connect command.");
}
- else if (strcmp (argv[1], "reconnect") == 0) {
- if (argc != 3)
- show_help ("Invalid reconnect command.");
+ else if (strcmp (argv[1], "reconnect") == 0)
+ {
+ if (argc != 3)
+ show_help ("Invalid reconnect command.");
- command.ready.account = command_reconnect;
- command.common.account = argv[2];
+ command.ready.account = command_reconnect;
+ command.common.account = argv[2];
}
- else if (strcmp (argv[1], "help") == 0
- || strcmp (argv[1], "-h") == 0 || strcmp (argv[1], "--help") == 0)
+ else if (strcmp (argv[1], "help") == 0
+ || strcmp (argv[1], "-h") == 0 || strcmp (argv[1], "--help") == 0)
{
- show_help (NULL);
-
+ show_help (NULL);
}
- else
+ else
{
- show_help ("Unknown command.");
+ show_help ("Unknown command.");
}
}
static
void manager_ready (GObject *manager,
- GAsyncResult *res,
- gpointer user_data)
+ GAsyncResult *res,
+ gpointer user_data)
{
- GError *error = NULL;
+ GError *error = NULL;
- if (!tp_proxy_prepare_finish (manager, res, &error)) {
- fprintf (stderr, "%s: %s\n", app_name, error->message);
- g_error_free (error);
+ if (!tp_proxy_prepare_finish (manager, res, &error))
+ {
+ fprintf (stderr, "%s: %s\n", app_name, error->message);
+ g_error_free (error);
}
- else {
- if (command.ready.manager (TP_ACCOUNT_MANAGER (manager)))
- return;
+ else
+ {
+ if (command.ready.manager (TP_ACCOUNT_MANAGER (manager)))
+ return;
}
- g_main_loop_quit (main_loop);
+ g_main_loop_quit (main_loop);
}
static
void account_ready (GObject *source,
- GAsyncResult *res,
- gpointer user_data)
+ GAsyncResult *res,
+ gpointer user_data)
{
- TpAccount *account = TP_ACCOUNT (source);
- GError *error = NULL;
+ TpAccount *account = TP_ACCOUNT (source);
+ GError *error = NULL;
- if (!tp_proxy_prepare_finish (account, res, &error)) {
- fprintf (stderr, "%s: couldn't load account '%s': %s\n", app_name,
- tp_account_get_path_suffix (account), error->message);
- fprintf (stderr, "Try '%s list' to list known accounts.\n", app_name);
- g_error_free (error);
+ if (!tp_proxy_prepare_finish (account, res, &error))
+ {
+ fprintf (stderr, "%s: couldn't load account '%s': %s\n", app_name,
+ tp_account_get_path_suffix (account), error->message);
+ fprintf (stderr, "Try '%s list' to list known accounts.\n", app_name);
+ g_error_free (error);
}
- else {
- if (command.ready.account (account))
- return;
+ else
+ {
+ if (command.ready.account (account))
+ return;
}
- g_main_loop_quit (main_loop);
+ g_main_loop_quit (main_loop);
}
int
main (int argc, char **argv)
{
- TpAccountManager *am = NULL;
- TpAccount *a = NULL;
- TpDBusDaemon *dbus = NULL;
- TpClientFactory *client_factory = NULL;
- GError *error = NULL;
- const GQuark features[] = { TP_ACCOUNT_FEATURE_CORE,
- TP_ACCOUNT_FEATURE_ADDRESSING, TP_ACCOUNT_FEATURE_STORAGE, 0 };
+ TpAccountManager *am = NULL;
+ TpAccount *a = NULL;
+ TpDBusDaemon *dbus = NULL;
+ TpClientFactory *client_factory = NULL;
+ GError *error = NULL;
+ const GQuark features[] = { TP_ACCOUNT_FEATURE_CORE,
+ TP_ACCOUNT_FEATURE_ADDRESSING, TP_ACCOUNT_FEATURE_STORAGE, 0 };
- g_type_init ();
+ g_type_init ();
- app_name = basename (argv[0]);
+ app_name = basename (argv[0]);
- parse (argc, argv);
+ parse (argc, argv);
- command.common.ret = 1;
+ command.common.ret = 1;
- dbus = tp_dbus_daemon_dup (&error);
- if (error != NULL) {
- fprintf (stderr, "%s %s: Failed to connect to D-Bus: %s\n",
- app_name, command.common.name, error->message);
- goto out;
+ dbus = tp_dbus_daemon_dup (&error);
+ if (error != NULL)
+ {
+ fprintf (stderr, "%s %s: Failed to connect to D-Bus: %s\n",
+ app_name, command.common.name, error->message);
+ goto out;
}
- client_factory = tp_client_factory_new (dbus);
- if (command.common.account == NULL) {
- TpClientFactory *factory;
+ client_factory = tp_client_factory_new (dbus);
- am = tp_account_manager_new (dbus);
- factory = tp_proxy_get_factory (am);
+ if (command.common.account == NULL)
+ {
+ TpClientFactory *factory;
- tp_client_factory_add_account_features (factory, features);
+ am = tp_account_manager_new (dbus);
+ factory = tp_proxy_get_factory (am);
- tp_proxy_prepare_async (am, NULL, manager_ready, NULL);
- }
- else {
+ tp_client_factory_add_account_features (factory, features);
- command.common.account = ensure_prefix (command.common.account);
- a = tp_client_factory_ensure_account (client_factory,
- command.common.account, NULL, &error);
+ tp_proxy_prepare_async (am, NULL, manager_ready, NULL);
+ }
+ else
+ {
+ command.common.account = ensure_prefix (command.common.account);
+ a = tp_client_factory_ensure_account (client_factory,
+ command.common.account, NULL, &error);
- if (error != NULL)
- {
- fprintf (stderr, "%s %s: %s\n",
- app_name, command.common.name,
- error->message);
- goto out;
- }
+ if (error != NULL)
+ {
+ fprintf (stderr, "%s %s: %s\n", app_name, command.common.name,
+ error->message);
+ goto out;
+ }
- tp_proxy_prepare_async (a, features, account_ready, NULL);
+ tp_proxy_prepare_async (a, features, account_ready, NULL);
}
- main_loop = g_main_loop_new (NULL, FALSE);
- g_main_loop_run (main_loop);
+ main_loop = g_main_loop_new (NULL, FALSE);
+ g_main_loop_run (main_loop);
out:
- g_clear_error (&error);
- tp_clear_object (&client_factory);
- tp_clear_object (&dbus);
- tp_clear_object (&am);
- tp_clear_object (&a);
- tp_clear_pointer (&main_loop, g_main_loop_unref);
-
- return command.common.ret;
+ g_clear_error (&error);
+ tp_clear_object (&client_factory);
+ tp_clear_object (&dbus);
+ tp_clear_object (&am);
+ tp_clear_object (&a);
+ tp_clear_pointer (&main_loop, g_main_loop_unref);
+
+ return command.common.ret;
}