aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-sound-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy-gtk/empathy-sound-manager.c')
-rw-r--r--libempathy-gtk/empathy-sound-manager.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-sound-manager.c b/libempathy-gtk/empathy-sound-manager.c
index 600816f67..4f69c62db 100644
--- a/libempathy-gtk/empathy-sound-manager.c
+++ b/libempathy-gtk/empathy-sound-manager.c
@@ -23,6 +23,7 @@
#include <glib/gi18n-lib.h>
#include "empathy-gsettings.h"
+#include "empathy-presence-manager.h"
#include "empathy-utils.h"
#define DEBUG_FLAG EMPATHY_DEBUG_OTHER
@@ -162,6 +163,23 @@ empathy_sound_manager_dup_singleton (void)
}
static 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;
+}
+
+static gboolean
empathy_sound_pref_is_enabled (EmpathySoundManager *self,
EmpathySound sound_id)
{