]> git.0d.be Git - empathy.git/blobdiff - libempathy/empathy-idle.c
add myself to AUTHORS
[empathy.git] / libempathy / empathy-idle.c
index 8a0fcd88d1bcebc3904cb3fc352eeb4de4632d56..14d7c48130c3c549e25cb991f8546090acd92d29 100644 (file)
@@ -50,9 +50,10 @@ typedef struct {
        EmpathyConnectivity *connectivity;
        gulong state_change_signal_id;
 
+       gboolean ready;
+
        TpConnectionPresenceType      state;
        gchar          *status;
-       TpConnectionPresenceType      flash_state;
        gboolean        auto_away;
 
        TpConnectionPresenceType      away_saved_state;
@@ -84,7 +85,6 @@ enum {
        PROP_0,
        PROP_STATE,
        PROP_STATUS,
-       PROP_FLASH_STATE,
        PROP_AUTO_AWAY
 };
 
@@ -340,6 +340,24 @@ idle_constructor (GType type,
        return retval;
 }
 
+static const gchar *
+empathy_idle_get_status (EmpathyIdle *idle)
+{
+       EmpathyIdlePriv *priv;
+
+       priv = GET_PRIV (idle);
+
+       if (G_UNLIKELY (!priv->ready))
+               g_critical (G_STRLOC ": %s called before AccountManager ready",
+                               G_STRFUNC);
+
+       if (!priv->status) {
+               return empathy_presence_get_default_message (priv->state);
+       }
+
+       return priv->status;
+}
+
 static void
 idle_get_property (GObject    *object,
                   guint       param_id,
@@ -359,9 +377,6 @@ idle_get_property (GObject    *object,
        case PROP_STATUS:
                g_value_set_string (value, empathy_idle_get_status (idle));
                break;
-       case PROP_FLASH_STATE:
-               g_value_set_enum (value, empathy_idle_get_flash_state (idle));
-               break;
        case PROP_AUTO_AWAY:
                g_value_set_boolean (value, empathy_idle_get_auto_away (idle));
                break;
@@ -390,9 +405,6 @@ idle_set_property (GObject      *object,
        case PROP_STATUS:
                empathy_idle_set_status (idle, g_value_get_string (value));
                break;
-       case PROP_FLASH_STATE:
-               empathy_idle_set_flash_state (idle, g_value_get_enum (value));
-               break;
        case PROP_AUTO_AWAY:
                empathy_idle_set_auto_away (idle, g_value_get_boolean (value));
                break;
@@ -427,14 +439,6 @@ empathy_idle_class_init (EmpathyIdleClass *klass)
                                                              "status",
                                                              NULL,
                                                              G_PARAM_READWRITE));
-       g_object_class_install_property (object_class,
-                                        PROP_FLASH_STATE,
-                                        g_param_spec_uint ("flash-state",
-                                                           "flash-state",
-                                                           "flash-state",
-                                                           0, NUM_TP_CONNECTION_PRESENCE_TYPES,
-                                                           TP_CONNECTION_PRESENCE_TYPE_UNSET,
-                                                           G_PARAM_READWRITE));
 
         g_object_class_install_property (object_class,
                                          PROP_AUTO_AWAY,
@@ -482,6 +486,8 @@ account_manager_ready_cb (GObject *source_object,
        GList *accounts, *l;
        GError *error = NULL;
 
+       priv->ready = TRUE;
+
        if (!tp_account_manager_prepare_finish (account_manager, result, &error)) {
                DEBUG ("Failed to prepare account manager: %s", error->message);
                g_error_free (error);
@@ -557,6 +563,10 @@ empathy_idle_get_state (EmpathyIdle *idle)
 
        priv = GET_PRIV (idle);
 
+       if (G_UNLIKELY (!priv->ready))
+               g_critical (G_STRLOC ": %s called before AccountManager ready",
+                               G_STRFUNC);
+
        return priv->state;
 }
 
@@ -571,20 +581,6 @@ empathy_idle_set_state (EmpathyIdle *idle,
        empathy_idle_set_presence (idle, state, priv->status);
 }
 
-const gchar *
-empathy_idle_get_status (EmpathyIdle *idle)
-{
-       EmpathyIdlePriv *priv;
-
-       priv = GET_PRIV (idle);
-
-       if (!priv->status) {
-               return empathy_presence_get_default_message (priv->state);
-       }
-
-       return priv->status;
-}
-
 void
 empathy_idle_set_status (EmpathyIdle *idle,
                         const gchar *status)
@@ -596,32 +592,6 @@ empathy_idle_set_status (EmpathyIdle *idle,
        empathy_idle_set_presence (idle, priv->state, status);
 }
 
-TpConnectionPresenceType
-empathy_idle_get_flash_state (EmpathyIdle *idle)
-{
-       EmpathyIdlePriv *priv;
-
-       priv = GET_PRIV (idle);
-
-       return priv->flash_state;
-}
-
-void
-empathy_idle_set_flash_state (EmpathyIdle *idle,
-                             TpConnectionPresenceType   state)
-{
-       EmpathyIdlePriv *priv;
-
-       priv = GET_PRIV (idle);
-
-       priv->flash_state = state;
-
-       if (state == TP_CONNECTION_PRESENCE_TYPE_UNSET) {
-       }
-
-       g_object_notify (G_OBJECT (idle), "flash-state");
-}
-
 static void
 empathy_idle_do_set_presence (EmpathyIdle *idle,
                           TpConnectionPresenceType status_type,