]> git.0d.be Git - empathy.git/blobdiff - src/empathy-chat-window.h
use a single window, with tabs
[empathy.git] / src / empathy-chat-window.h
index 6f3d21fca10343df553235982407a3a6ef3182b9..2e64b680300714746e685f988c09e9061053ac02 100644 (file)
@@ -1,7 +1,6 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
 /*
  * Copyright (C) 2003-2007 Imendio AB
- * Copyright (C) 2007-2008 Collabora Ltd.
+ * Copyright (C) 2007-2012 Collabora Ltd.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
 #ifndef __EMPATHY_CHAT_WINDOW_H__
 #define __EMPATHY_CHAT_WINDOW_H__
 
-#include <glib-object.h>
 #include <gtk/gtk.h>
+#include <telepathy-glib/telepathy-glib.h>
 
-#include <libempathy/empathy-account.h>
-#include <libempathy-gtk/empathy-chat.h>
+#include "empathy-chat.h"
+#include "empathy-individual-manager.h"
 
 G_BEGIN_DECLS
 
-#define EMPATHY_TYPE_CHAT_WINDOW         (empathy_chat_window_get_type ())
-#define EMPATHY_CHAT_WINDOW(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CHAT_WINDOW, EmpathyChatWindow))
-#define EMPATHY_CHAT_WINDOW_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST ((k), EMPATHY_TYPE_CHAT_WINDOW, EmpathyChatWindowClass))
-#define EMPATHY_IS_CHAT_WINDOW(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_CHAT_WINDOW))
-#define EMPATHY_IS_CHAT_WINDOW_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_CHAT_WINDOW))
-#define EMPATHY_CHAT_WINDOW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_CHAT_WINDOW, EmpathyChatWindowClass))
+#define EMPATHY_TYPE_CHAT_WINDOW \
+  (empathy_chat_window_get_type ())
+#define EMPATHY_CHAT_WINDOW(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), \
+    EMPATHY_TYPE_CHAT_WINDOW, \
+    EmpathyChatWindow))
+#define EMPATHY_CHAT_WINDOW_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), \
+    EMPATHY_TYPE_CHAT_WINDOW, \
+    EmpathyChatWindowClass))
+#define EMPATHY_IS_CHAT_WINDOW(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
+    EMPATHY_TYPE_CHAT_WINDOW))
+#define EMPATHY_IS_CHAT_WINDOW_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), \
+    EMPATHY_TYPE_CHAT_WINDOW))
+#define EMPATHY_CHAT_WINDOW_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+    EMPATHY_TYPE_CHAT_WINDOW, \
+    EmpathyChatWindowClass))
 
-typedef struct _EmpathyChatWindow      EmpathyChatWindow;
+
+typedef struct _EmpathyChatWindow EmpathyChatWindow;
 typedef struct _EmpathyChatWindowClass EmpathyChatWindowClass;
+typedef struct _EmpathyChatWindowPriv EmpathyChatWindowPriv;
 
-struct _EmpathyChatWindow {
-       GObject parent;
-       gpointer priv;
+struct _EmpathyChatWindow
+{
+  GtkBin parent;
+  EmpathyChatWindowPriv *priv;
 };
 
-struct _EmpathyChatWindowClass {
-       GObjectClass parent_class;
+struct _EmpathyChatWindowClass
+{
+  GtkBinClass parent_class;
 };
 
-GType              empathy_chat_window_get_type       (void);
-EmpathyChatWindow *empathy_chat_window_get_default    (void);
-EmpathyChatWindow *empathy_chat_window_new            (void);
-GtkWidget *        empathy_chat_window_get_dialog     (EmpathyChatWindow *window);
-void               empathy_chat_window_add_chat       (EmpathyChatWindow *window,
-                                                      EmpathyChat       *chat);
-void               empathy_chat_window_remove_chat    (EmpathyChatWindow *window,
-                                                      EmpathyChat       *chat);
-void               empathy_chat_window_move_chat      (EmpathyChatWindow *old_window,
-                                                      EmpathyChatWindow *new_window,
-                                                      EmpathyChat       *chat);
-void               empathy_chat_window_switch_to_chat (EmpathyChatWindow *window,
-                                                      EmpathyChat       *chat);
-gboolean           empathy_chat_window_has_focus      (EmpathyChatWindow *window);
-EmpathyChat *      empathy_chat_window_find_chat      (EmpathyAccount   *account,
-                                                      const gchar      *id);
-void               empathy_chat_window_present_chat   (EmpathyChat      *chat);
+GType empathy_chat_window_get_type (void);
+
+EmpathyChat * empathy_chat_window_find_chat (TpAccount *account,
+    const gchar *id,
+    gboolean sms_channel);
+
+EmpathyChatWindow * empathy_chat_window_present_chat (EmpathyChat *chat,
+    gint64 timestamp);
+
+EmpathyChatWindow * empathy_chat_window_new (void);
+
+EmpathyIndividualManager * empathy_chat_window_get_individual_manager (
+    EmpathyChatWindow *self);
 
+void empathy_chat_window_next_tab (EmpathyChatWindow *self);
+void empathy_chat_window_prev_tab (EmpathyChatWindow *self);
 
 G_END_DECLS
 
-#endif /* __EMPATHY_CHAT_WINDOW_H__ */
+#endif