]> git.0d.be Git - empathy.git/commitdiff
add EmpathySoundManager stub object (#636067)
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Tue, 30 Nov 2010 09:29:00 +0000 (10:29 +0100)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Tue, 30 Nov 2010 09:29:00 +0000 (10:29 +0100)
libempathy-gtk/empathy-sound-manager.c
libempathy-gtk/empathy-sound-manager.h

index 459016db1b3915b08bcaa9ef7de93830e63ba530..8d51f7391049431599f2b11bd85b25db288d7123 100644 (file)
@@ -68,6 +68,40 @@ static EmpathySoundEntry sound_entries[LAST_EMPATHY_SOUND] = {
     N_("Voice call ended"), NULL },
 };
 
     N_("Voice call ended"), NULL },
 };
 
+G_DEFINE_TYPE (EmpathySoundManager, empathy_sound_manager, G_TYPE_OBJECT)
+
+struct _EmpathySoundManagerPrivate
+{
+  gpointer unused;
+};
+
+static void
+empathy_sound_manager_class_init (EmpathySoundManagerClass *cls)
+{
+  g_type_class_add_private (cls, sizeof (EmpathySoundManagerPrivate));
+}
+
+static void
+empathy_sound_manager_init (EmpathySoundManager *self)
+{
+  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
+      EMPATHY_TYPE_SOUND_MANAGER, EmpathySoundManagerPrivate);
+}
+
+EmpathySoundManager *
+empathy_sound_manager_dup_singleton (void)
+{
+  static EmpathySoundManager *manager = NULL;
+
+  if (manager != NULL)
+      return g_object_ref (manager);
+
+  manager = g_object_new (EMPATHY_TYPE_SOUND_MANAGER, NULL);
+
+  g_object_add_weak_pointer (G_OBJECT (manager), (gpointer *) &manager);
+  return manager;
+}
+
 /* An hash table containing currently repeating sounds. The format is the
  * following:
  * Key: An EmpathySound
 /* An hash table containing currently repeating sounds. The format is the
  * following:
  * Key: An EmpathySound
index 95160b342b9049bd9d41e50b979abfc9a8cabcd1..ca112e2d9f69b10dab90f1f588cec9ae0fc1bcae 100644 (file)
@@ -42,6 +42,32 @@ typedef enum {
   LAST_EMPATHY_SOUND,
 } EmpathySound;
 
   LAST_EMPATHY_SOUND,
 } EmpathySound;
 
+#define EMPATHY_TYPE_SOUND_MANAGER         (empathy_sound_manager_get_type ())
+#define EMPATHY_SOUND_MANAGER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_SOUND_MANAGER, EmpathySoundManager))
+#define EMPATHY_SOUND_MANAGER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_SOUND_MANAGER, EmpathySoundManagerClass))
+#define EMPATHY_IS_SOUND_MANAGER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_SOUND_MANAGER))
+#define EMPATHY_IS_SOUND_MANAGER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_SOUND_MANAGER))
+#define EMPATHY_SOUND_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_SOUND_MANAGER, EmpathySoundManagerClass))
+
+typedef struct _EmpathySoundManager EmpathySoundManager;
+typedef struct _EmpathySoundManagerClass EmpathySoundManagerClass;
+typedef struct _EmpathySoundManagerPrivate EmpathySoundManagerPrivate;
+
+struct _EmpathySoundManager
+{
+  GObject parent;
+  EmpathySoundManagerPrivate *priv;
+};
+
+struct _EmpathySoundManagerClass
+{
+  GObjectClass parent_class;
+};
+
+GType empathy_sound_manager_get_type (void) G_GNUC_CONST;
+
+EmpathySoundManager * empathy_sound_manager_dup_singleton (void);
+
 gboolean empathy_sound_play (GtkWidget *widget, EmpathySound sound_id);
 void empathy_sound_stop (EmpathySound sound_id);
 
 gboolean empathy_sound_play (GtkWidget *widget, EmpathySound sound_id);
 void empathy_sound_stop (EmpathySound sound_id);