Back to index

lightdm  1.3.2
display-manager.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2010-2011 Robert Ancell.
00003  * Author: Robert Ancell <robert.ancell@canonical.com>
00004  * 
00005  * This program is free software: you can redistribute it and/or modify it under
00006  * the terms of the GNU General Public License as published by the Free Software
00007  * Foundation, either version 3 of the License, or (at your option) any later
00008  * version. See http://www.gnu.org/copyleft/gpl.html the full text of the
00009  * license.
00010  */
00011 
00012 #ifndef _DISPLAY_MANAGER_H_
00013 #define _DISPLAY_MANAGER_H_
00014 
00015 #include <glib-object.h>
00016 
00017 #include "seat.h"
00018 
00019 G_BEGIN_DECLS
00020 
00021 #define DISPLAY_MANAGER_TYPE (display_manager_get_type())
00022 #define DISPLAY_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DISPLAY_MANAGER_TYPE, DisplayManager));
00023 
00024 typedef struct DisplayManagerPrivate DisplayManagerPrivate;
00025 
00026 typedef struct
00027 {
00028     GObject         parent_instance;
00029     DisplayManagerPrivate *priv;
00030 } DisplayManager;
00031 
00032 typedef struct
00033 {
00034     GObjectClass parent_class;
00035 
00036     void (*seat_added)(DisplayManager *manager, Seat *seat);
00037     void (*seat_removed)(DisplayManager *manager, Seat *seat);
00038     void (*stopped)(DisplayManager *manager);
00039 } DisplayManagerClass;
00040 
00041 GType display_manager_get_type (void);
00042 
00043 DisplayManager *display_manager_new (void);
00044 
00045 gboolean display_manager_add_seat (DisplayManager *manager, Seat *seat);
00046 
00047 GList *display_manager_get_seats (DisplayManager *manager);
00048 
00049 void display_manager_start (DisplayManager *manager);
00050 
00051 void display_manager_stop (DisplayManager *manager);
00052 
00053 G_END_DECLS
00054 
00055 #endif /* _DISPLAY_MANAGER_H_ */