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; }