[Telepathy-commits] [telepathy-mission-control/master] Create a macro and save some typing
Alberto Mardegan
alberto.mardegan at nokia.com
Fri Nov 21 02:08:11 PST 2008
---
libmcclient/mc-profile.c | 215 ++++++++++++++--------------------------------
1 files changed, 64 insertions(+), 151 deletions(-)
diff --git a/libmcclient/mc-profile.c b/libmcclient/mc-profile.c
index 193c1f8..d07a366 100644
--- a/libmcclient/mc-profile.c
+++ b/libmcclient/mc-profile.c
@@ -99,6 +99,14 @@ typedef struct {
time_t mtime;
} McProfilePrivate;
+#define get_private_and_load_or_return_val(profile, val) \
+{ \
+ g_return_val_if_fail (MC_IS_PROFILE (profile), val); \
+ priv = profile->priv; \
+ if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (profile); \
+ g_return_val_if_fail (priv->keyfile != NULL, val); \
+}
+
static gchar *
get_localized_group_field (McProfilePrivate *priv, const gchar *group,
const gchar *field)
@@ -766,14 +774,10 @@ mc_profiles_free_list (GList *list)
const gchar *
mc_profile_get_unique_name (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV(id)->unique_name;
+ get_private_and_load_or_return_val (id, NULL);
+ return priv->unique_name;
}
/**
@@ -787,14 +791,10 @@ mc_profile_get_unique_name (McProfile *id)
const gchar *
mc_profile_get_configuration_ui (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->configuration_ui;
+ get_private_and_load_or_return_val (id, NULL);
+ return priv->configuration_ui;
}
/**
@@ -808,14 +808,10 @@ mc_profile_get_configuration_ui (McProfile *id)
const gchar *
mc_profile_get_display_name (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->display_name;
+ get_private_and_load_or_return_val (id, NULL);
+ return priv->display_name;
}
/**
@@ -829,14 +825,10 @@ mc_profile_get_display_name (McProfile *id)
const gchar *
mc_profile_get_icon_name (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->icon_name;
+ get_private_and_load_or_return_val (id, NULL);
+ return priv->icon_name;
}
/**
@@ -850,14 +842,10 @@ mc_profile_get_icon_name (McProfile *id)
const gchar *
mc_profile_get_branding_icon_name (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->branding_icon_name;
+ get_private_and_load_or_return_val (id, NULL);
+ return priv->branding_icon_name;
}
/**
@@ -872,14 +860,10 @@ mc_profile_get_branding_icon_name (McProfile *id)
const TpConnectionPresenceType *
mc_profile_get_supported_presences (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return (TpConnectionPresenceType *)(MC_PROFILE_PRIV (id)->supported_presences->data);
+ get_private_and_load_or_return_val (id, NULL);
+ return (TpConnectionPresenceType *)(priv->supported_presences->data);
}
/*
@@ -919,14 +903,10 @@ mc_profile_supports_presence (McProfile *id, TpConnectionPresenceType presence)
const gchar *
mc_profile_get_protocol_name (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->protocol;
+ get_private_and_load_or_return_val (id, NULL);
+ return priv->protocol;
}
/**
@@ -940,14 +920,10 @@ mc_profile_get_protocol_name (McProfile *id)
const gchar *
mc_profile_get_manager_name (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->manager;
+ get_private_and_load_or_return_val (id, NULL);
+ return priv->manager;
}
/**
@@ -961,14 +937,10 @@ mc_profile_get_manager_name (McProfile *id)
const gchar *
mc_profile_get_vcard_field (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->vcard_field;
+ get_private_and_load_or_return_val (id, NULL);
+ return priv->vcard_field;
}
/**
@@ -983,13 +955,9 @@ mc_profile_get_vcard_field (McProfile *id)
const gchar *
mc_profile_get_default_account_domain (McProfile *id)
{
- McProfilePrivate *priv = MC_PROFILE_PRIV (id);
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
+ McProfilePrivate *priv;
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ get_private_and_load_or_return_val (id, NULL);
g_return_val_if_fail (
priv->capabilities & MC_PROFILE_CAPABILITY_SPLIT_ACCOUNT, NULL);
@@ -1007,14 +975,9 @@ mc_profile_get_default_account_domain (McProfile *id)
const gchar *
mc_profile_get_avatar_mime_type (McProfile *id)
{
- McProfilePrivate *priv = MC_PROFILE_PRIV (id);
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
+ get_private_and_load_or_return_val (id, NULL);
return priv->avatar_mime_type;
}
@@ -1030,14 +993,9 @@ mc_profile_get_avatar_mime_type (McProfile *id)
const gchar *
mc_profile_get_default_account_name (McProfile *id)
{
- McProfilePrivate *priv = MC_PROFILE_PRIV (id);
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, NULL);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
+ McProfilePrivate *priv;
+ get_private_and_load_or_return_val (id, NULL);
return priv->default_account_name;
}
@@ -1052,14 +1010,9 @@ mc_profile_get_default_account_name (McProfile *id)
gint
mc_profile_get_priority (McProfile *id)
{
- McProfilePrivate *priv = MC_PROFILE_PRIV (id);
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, 0);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, 0);
+ McProfilePrivate *priv;
+ get_private_and_load_or_return_val (id, 0);
return priv->priority;
}
@@ -1074,14 +1027,10 @@ mc_profile_get_priority (McProfile *id)
gboolean
mc_profile_is_default_for_vcard_field (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, FALSE);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, FALSE);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->vcard_default;
+ get_private_and_load_or_return_val (id, FALSE);
+ return priv->vcard_default;
}
/**
@@ -1095,14 +1044,10 @@ mc_profile_is_default_for_vcard_field (McProfile *id)
McProfileCapabilityFlags
mc_profile_get_capabilities (McProfile *id)
{
- gboolean profile_loaded;
-
- g_return_val_if_fail (id != NULL, 0);
-
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, 0);
+ McProfilePrivate *priv;
- return MC_PROFILE_PRIV (id)->capabilities;
+ get_private_and_load_or_return_val (id, 0);
+ return priv->capabilities;
}
/**
@@ -1117,17 +1062,14 @@ mc_profile_get_capabilities (McProfile *id)
const gchar *
mc_profile_get_default_setting (McProfile *id, const gchar *setting)
{
- gboolean profile_loaded;
+ McProfilePrivate *priv;
const gchar *def;
- g_return_val_if_fail (id != NULL, NULL);
+ get_private_and_load_or_return_val (id, NULL);
g_return_val_if_fail (setting != NULL, NULL);
g_return_val_if_fail (*setting != '\0', NULL);
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
-
- def = g_hash_table_lookup (MC_PROFILE_PRIV (id)->default_settings,
+ def = g_hash_table_lookup (priv->default_settings,
setting);
return def;
@@ -1145,16 +1087,14 @@ mc_profile_get_default_setting (McProfile *id, const gchar *setting)
const gchar *
mc_profile_get_vcard_mangle (McProfile *id, const gchar *vcard_field)
{
- gboolean profile_loaded;
+ McProfilePrivate *priv;
- g_return_val_if_fail (id != NULL, NULL);
+ get_private_and_load_or_return_val (id, NULL);
g_return_val_if_fail (vcard_field != NULL, NULL);
g_return_val_if_fail (*vcard_field != '\0', NULL);
- profile_loaded = _mc_profile_load (id);
- g_return_val_if_fail (profile_loaded, NULL);
-
- return (const gchar *) g_hash_table_lookup (MC_PROFILE_PRIV (id)->vcard_mangle_hash, vcard_field);
+ return (const gchar *) g_hash_table_lookup (priv->vcard_mangle_hash,
+ vcard_field);
}
/**
@@ -1215,10 +1155,7 @@ mc_profile_presence_get_name (McProfile *id, const gchar *presence)
McProfilePrivate *priv;
gchar group[128];
- g_return_val_if_fail (MC_IS_PROFILE (id), NULL);
- priv = id->priv;
- if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (id);
- g_return_val_if_fail (priv->keyfile != NULL, NULL);
+ get_private_and_load_or_return_val (id, NULL);
g_snprintf (group, sizeof (group), PRESENCE_PREFIX "%s", presence);
return get_localized_group_field (priv, group, "Name");
@@ -1237,12 +1174,7 @@ mc_profile_presence_get_type (McProfile *id, const gchar *presence)
McProfilePrivate *priv;
gchar group[128];
- g_return_val_if_fail (MC_IS_PROFILE (id),
- TP_CONNECTION_PRESENCE_TYPE_UNSET);
- priv = id->priv;
- if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (id);
- g_return_val_if_fail (priv->keyfile != NULL,
- TP_CONNECTION_PRESENCE_TYPE_UNSET);
+ get_private_and_load_or_return_val (id, TP_CONNECTION_PRESENCE_TYPE_UNSET);
g_snprintf (group, sizeof (group), PRESENCE_PREFIX "%s", presence);
return (TpConnectionPresenceType)
@@ -1262,10 +1194,7 @@ mc_profile_presence_get_icon_name (McProfile *id, const gchar *presence)
McProfilePrivate *priv;
gchar group[128];
- g_return_val_if_fail (MC_IS_PROFILE (id), NULL);
- priv = id->priv;
- if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (id);
- g_return_val_if_fail (priv->keyfile != NULL, NULL);
+ get_private_and_load_or_return_val (id, NULL);
g_snprintf (group, sizeof (group), PRESENCE_PREFIX "%s", presence);
return g_key_file_get_string (priv->keyfile, group, "IconName", NULL);
}
@@ -1326,10 +1255,7 @@ mc_profile_actions_list_by_vcard_fields (McProfile *profile,
gsize len = 0;
guint i;
- g_return_val_if_fail (MC_IS_PROFILE (profile), NULL);
- priv = profile->priv;
- if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (profile);
- g_return_val_if_fail (priv->keyfile != NULL, NULL);
+ get_private_and_load_or_return_val (profile, NULL);
groups = g_key_file_get_groups (priv->keyfile, &len);
for (i = 0; i < len; i++)
@@ -1382,11 +1308,7 @@ mc_profile_action_get_name (McProfile *profile, const gchar *action)
McProfilePrivate *priv;
gchar group[128];
- g_return_val_if_fail (MC_IS_PROFILE (profile), NULL);
- priv = profile->priv;
- if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (profile);
- g_return_val_if_fail (priv->keyfile != NULL, NULL);
-
+ get_private_and_load_or_return_val (profile, NULL);
g_snprintf (group, sizeof (group), ACTION_PREFIX "%s", action);
return get_localized_group_field (priv, group, "Name");
}
@@ -1404,10 +1326,7 @@ mc_profile_action_get_icon_name (McProfile *profile, const gchar *action)
McProfilePrivate *priv;
gchar group[128];
- g_return_val_if_fail (MC_IS_PROFILE (profile), NULL);
- priv = profile->priv;
- if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (profile);
- g_return_val_if_fail (priv->keyfile != NULL, NULL);
+ get_private_and_load_or_return_val (profile, NULL);
g_snprintf (group, sizeof (group), ACTION_PREFIX "%s", action);
return g_key_file_get_string (priv->keyfile, group, "IconName", NULL);
}
@@ -1425,10 +1344,7 @@ mc_profile_action_get_vcard_fields (McProfile *profile, const gchar *action)
McProfilePrivate *priv;
gchar group[128];
- g_return_val_if_fail (MC_IS_PROFILE (profile), NULL);
- priv = profile->priv;
- if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (profile);
- g_return_val_if_fail (priv->keyfile != NULL, NULL);
+ get_private_and_load_or_return_val (profile, NULL);
g_snprintf (group, sizeof (group), ACTION_PREFIX "%s", action);
return g_key_file_get_string_list (priv->keyfile, group, "VCardFields",
NULL, NULL);
@@ -1456,10 +1372,7 @@ mc_profile_action_get_properties (McProfile *profile, const gchar *action)
gsize len = 0;
guint i;
- g_return_val_if_fail (MC_IS_PROFILE (profile), NULL);
- priv = profile->priv;
- if (G_UNLIKELY (!priv->keyfile)) _mc_profile_load (profile);
- g_return_val_if_fail (priv->keyfile != NULL, NULL);
+ get_private_and_load_or_return_val (profile, NULL);
g_snprintf (group, sizeof (group), ACTION_PREFIX "%s", action);
properties = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
--
1.5.6.5
More information about the Telepathy-commits
mailing list