2 * Copyright (C) 2010-2011 Robert Ancell.
3 * Author: Robert Ancell <robert.ancell@canonical.com>
5 * This program is free software: you can redistribute it and/or modify it under
6 * the terms of the GNU General Public License as published by the Free Software
7 * Foundation, either version 3 of the License, or (at your option) any later
8 * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
12 #ifndef DISPLAY_MANAGER_H_
13 #define DISPLAY_MANAGER_H_
15 #include <glib-object.h>
21 #define DISPLAY_MANAGER_TYPE (display_manager_get_type())
22 #define DISPLAY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DISPLAY_MANAGER_TYPE, DisplayManager));
24 #define DISPLAY_MANAGER_SIGNAL_SEAT_ADDED "seat-added"
25 #define DISPLAY_MANAGER_SIGNAL_SEAT_REMOVED "seat-removed"
26 #define DISPLAY_MANAGER_SIGNAL_STOPPED "stopped"
28 typedef struct DisplayManagerPrivate DisplayManagerPrivate;
32 GObject parent_instance;
33 DisplayManagerPrivate *priv;
38 GObjectClass parent_class;
40 void (*seat_added)(DisplayManager *manager, Seat *seat);
41 void (*seat_removed)(DisplayManager *manager, Seat *seat);
42 void (*stopped)(DisplayManager *manager);
43 } DisplayManagerClass;
45 GType display_manager_get_type (void);
47 DisplayManager *display_manager_new (void);
49 gboolean display_manager_add_seat (DisplayManager *manager, Seat *seat);
51 GList *display_manager_get_seats (DisplayManager *manager);
53 Seat *display_manager_get_seat (DisplayManager *manager, const gchar *name);
55 void display_manager_start (DisplayManager *manager);
57 void display_manager_stop (DisplayManager *manager);
61 #endif /* DISPLAY_MANAGER_H_ */