static void
presence_manager_get_property (GObject *object,
    guint param_id,
    GValue *value,
    GParamSpec *pspec)
{
  EmpathyPresenceManager *self = EMPATHY_PRESENCE_MANAGER (object);

  switch (param_id)
    {
      case PROP_STATE:
        g_value_set_enum (value, empathy_presence_manager_get_state (self));
        break;
      case PROP_STATUS:
        g_value_set_string (value, empathy_presence_manager_get_status (self));
        break;
      case PROP_AUTO_AWAY:
        g_value_set_boolean (value,
            empathy_presence_manager_get_auto_away (self));
        break;
      default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
        break;
    };
}
gboolean
empathy_check_available_state (void)
{
  TpConnectionPresenceType presence;
  EmpathyPresenceManager *presence_mgr;

  presence_mgr = empathy_presence_manager_dup_singleton ();
  presence = empathy_presence_manager_get_state (presence_mgr);
  g_object_unref (presence_mgr);

  if (presence != TP_CONNECTION_PRESENCE_TYPE_AVAILABLE &&
    presence != TP_CONNECTION_PRESENCE_TYPE_UNSET)
    return FALSE;

  return TRUE;
}