]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blobdiff - src/display-manager.h
Make an XServerXmir object
[sojka/lightdm.git] / src / display-manager.h
index 0f438ed059d8ccbe7339b75733978437cc5d2bf6..bc3ec517e07f04fa509951735f8058f9d252b55f 100644 (file)
@@ -1,7 +1,7 @@
 /*
- * Copyright (C) 2010 Robert Ancell.
+ * Copyright (C) 2010-2011 Robert Ancell.
  * Author: Robert Ancell <robert.ancell@canonical.com>
- * 
+ *
  * This program is free software: you can redistribute it and/or modify it under
  * the terms of the GNU General Public License as published by the Free Software
  * Foundation, either version 3 of the License, or (at your option) any later
@@ -9,17 +9,22 @@
  * license.
  */
 
-#ifndef _DISPLAY_MANAGER_H_
-#define _DISPLAY_MANAGER_H_
+#ifndef DISPLAY_MANAGER_H_
+#define DISPLAY_MANAGER_H_
 
 #include <glib-object.h>
-#include "display.h"
+
+#include "seat.h"
 
 G_BEGIN_DECLS
 
 #define DISPLAY_MANAGER_TYPE (display_manager_get_type())
 #define DISPLAY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DISPLAY_MANAGER_TYPE, DisplayManager));
 
+#define DISPLAY_MANAGER_SIGNAL_SEAT_ADDED   "seat-added"
+#define DISPLAY_MANAGER_SIGNAL_SEAT_REMOVED "seat-removed"
+#define DISPLAY_MANAGER_SIGNAL_STOPPED      "stopped"
+
 typedef struct DisplayManagerPrivate DisplayManagerPrivate;
 
 typedef struct
@@ -32,21 +37,25 @@ typedef struct
 {
     GObjectClass parent_class;
 
-    void (*display_added)(DisplayManager *manager, Display *display);
+    void (*seat_added)(DisplayManager *manager, Seat *seat);
+    void (*seat_removed)(DisplayManager *manager, Seat *seat);
+    void (*stopped)(DisplayManager *manager);
 } DisplayManagerClass;
 
 GType display_manager_get_type (void);
 
-DisplayManager *display_manager_new (GKeyFile *config);
+DisplayManager *display_manager_new (void);
 
-Display *display_manager_add_display (DisplayManager *manager);
+gboolean display_manager_add_seat (DisplayManager *manager, Seat *seat);
 
-void display_manager_switch_to_user (DisplayManager *manager, char *username);
+GList *display_manager_get_seats (DisplayManager *manager);
 
-void display_manager_switch_to_guest (DisplayManager *manager);
+Seat *display_manager_get_seat (DisplayManager *manager, const gchar *name);
 
 void display_manager_start (DisplayManager *manager);
 
+void display_manager_stop (DisplayManager *manager);
+
 G_END_DECLS
 
-#endif /* _DISPLAY_MANAGER_H_ */
+#endif /* DISPLAY_MANAGER_H_ */