]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blobdiff - liblightdm-gobject/lightdm/user.h
Use G_DECLARE_*_TYPE to simplify code and fix docs
[sojka/lightdm.git] / liblightdm-gobject / lightdm / user.h
index d1562e716904fe7fc1bcbb2659c3280898cc9c73..63b7c567099b11fd1896e0f3c69970c72b7afcb3 100644 (file)
@@ -8,71 +8,38 @@
  * See http://www.gnu.org/copyleft/lgpl.html the full text of the license.
  */
 
-#ifndef _LIGHTDM_USER_H_
-#define _LIGHTDM_USER_H_
+#ifndef LIGHTDM_USER_H_
+#define LIGHTDM_USER_H_
 
 #include <glib-object.h>
 
 G_BEGIN_DECLS
 
-#define LIGHTDM_TYPE_USER_LIST            (lightdm_user_list_get_type())
-#define LIGHTDM_USER_LIST(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIGHTDM_TYPE_USER_LIST, LightDMUserList));
-#define LIGHTDM_USER_LIST_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), LIGHTDM_TYPE_USER_LIST, LightDMUserListClass))
-#define LIGHTDM_IS_USER_LIST(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIGHTDM_TYPE_USER_LIST))
-#define LIGHTDM_IS_USER_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIGHTDM_TYPE_USER_LIST))
-#define LIGHTDM_USER_LIST_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), LIGHTDM_TYPE_USER_LIST, LightDMUserListClass))
-
-#define LIGHTDM_TYPE_USER            (lightdm_user_get_type())
-#define LIGHTDM_USER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), LIGHTDM_TYPE_USER, LightDMUser));
-#define LIGHTDM_USER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), LIGHTDM_TYPE_USER, LightDMUserClass))
-#define LIGHTDM_IS_USER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), LIGHTDM_TYPE_USER))
-#define LIGHTDM_IS_USER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), LIGHTDM_TYPE_USER))
-#define LIGHTDM_USER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), LIGHTDM_TYPE_USER, LightDMUserClass))
-
-typedef struct
-{
-    GObject parent_instance;
-} LightDMUser;
+#define LIGHTDM_TYPE_USER (lightdm_user_get_type())
 
-typedef struct
-{
-    GObjectClass parent_class;
-    void (*changed)(LightDMUser *user);
-
-       /* Reserved */
-       void (*reserved1) (void);
-       void (*reserved2) (void);
-       void (*reserved3) (void);
-       void (*reserved4) (void);
-       void (*reserved5) (void);
-       void (*reserved6) (void);
-} LightDMUserClass;
-
-typedef struct
-{
-    GObject parent_instance;
-} LightDMUserList;
+G_DECLARE_FINAL_TYPE (LightDMUser, lightdm_user, LIGHTDM, USER, GObject)
 
-typedef struct
+#define LIGHTDM_SIGNAL_USER_CHANGED "changed"
+
+struct _LightDMUserClass
 {
+    /*< private >*/
     GObjectClass parent_class;
+};
 
-    void (*user_added)(LightDMUserList *user_list, LightDMUser *user);
-    void (*user_changed)(LightDMUserList *user_list, LightDMUser *user);
-    void (*user_removed)(LightDMUserList *user_list, LightDMUser *user);
+#define LIGHTDM_TYPE_USER_LIST (lightdm_user_list_get_type())
 
-       /* Reserved */
-       void (*reserved1) (void);
-       void (*reserved2) (void);
-       void (*reserved3) (void);
-       void (*reserved4) (void);
-       void (*reserved5) (void);
-       void (*reserved6) (void);
-} LightDMUserListClass;
+G_DECLARE_FINAL_TYPE (LightDMUserList, lightdm_user_list, LIGHTDM, USER_LIST, GObject)
 
-GType lightdm_user_list_get_type (void);
+#define LIGHTDM_USER_LIST_SIGNAL_USER_ADDED   "user-added"
+#define LIGHTDM_USER_LIST_SIGNAL_USER_CHANGED "user-changed"
+#define LIGHTDM_USER_LIST_SIGNAL_USER_REMOVED "user-removed"
 
-GType lightdm_user_get_type (void);
+struct _LightDMUserListClass
+{
+    /*< private >*/
+    GObjectClass parent_class;
+};
 
 LightDMUserList *lightdm_user_list_get_instance (void);
 
@@ -106,6 +73,8 @@ gboolean lightdm_user_get_logged_in (LightDMUser *user);
 
 gboolean lightdm_user_get_has_messages (LightDMUser *user);
 
+uid_t lightdm_user_get_uid (LightDMUser *user);
+
 G_END_DECLS
 
-#endif /* _LIGHTDM_USER_H_ */
+#endif /* LIGHTDM_USER_H_ */