[nautilus] bookmark-list: port to G_DECLARE* type declaration
- From: Carlos Soriano <csoriano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus] bookmark-list: port to G_DECLARE* type declaration
- Date: Thu, 29 Sep 2016 07:34:26 +0000 (UTC)
commit dcd4eb31444d62760a5ae79dfc4e1ac7b33aab44
Author: Sirbu Lavinia Stefania <sirbu lavinia stefania gmail com>
Date: Tue Sep 27 06:41:09 2016 -0400
bookmark-list: port to G_DECLARE* type declaration
Currently we are using the old GObject class declarations, which have two
problems.
One problem is that we cannot use smart pointers like g_autoptr. The other
problem is the boilerplate code generated that makes the code less readable,
so harder to understand.
To fix this use G_DECLARE* type.
https://bugzilla.gnome.org/show_bug.cgi?id=771838
src/nautilus-bookmark-list.c | 12 ++++++++++--
src/nautilus-bookmark-list.h | 31 +++++--------------------------
2 files changed, 15 insertions(+), 28 deletions(-)
---
diff --git a/src/nautilus-bookmark-list.c b/src/nautilus-bookmark-list.c
index 58d9c9a..7a358b1 100644
--- a/src/nautilus-bookmark-list.c
+++ b/src/nautilus-bookmark-list.c
@@ -36,6 +36,15 @@
#define LOAD_JOB 1
#define SAVE_JOB 2
+struct _NautilusBookmarkList
+{
+ GObject parent_instance;
+
+ GList *list;
+ GFileMonitor *monitor;
+ GQueue *pending_ops;
+};
+
enum
{
CHANGED,
@@ -184,8 +193,7 @@ nautilus_bookmark_list_class_init (NautilusBookmarkListClass *class)
g_signal_new ("changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (NautilusBookmarkListClass,
- changed),
+ 0,
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
diff --git a/src/nautilus-bookmark-list.h b/src/nautilus-bookmark-list.h
index 699a8b7..c3f1f5d 100644
--- a/src/nautilus-bookmark-list.h
+++ b/src/nautilus-bookmark-list.h
@@ -29,35 +29,12 @@
#include "nautilus-bookmark.h"
#include <gio/gio.h>
-typedef struct NautilusBookmarkList NautilusBookmarkList;
-typedef struct NautilusBookmarkListClass NautilusBookmarkListClass;
+G_BEGIN_DECLS
-#define NAUTILUS_TYPE_BOOKMARK_LIST nautilus_bookmark_list_get_type()
-#define NAUTILUS_BOOKMARK_LIST(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), NAUTILUS_TYPE_BOOKMARK_LIST, NautilusBookmarkList))
-#define NAUTILUS_BOOKMARK_LIST_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_BOOKMARK_LIST, NautilusBookmarkListClass))
-#define NAUTILUS_IS_BOOKMARK_LIST(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NAUTILUS_TYPE_BOOKMARK_LIST))
-#define NAUTILUS_IS_BOOKMARK_LIST_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_BOOKMARK_LIST))
-#define NAUTILUS_BOOKMARK_LIST_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), NAUTILUS_TYPE_BOOKMARK_LIST, NautilusBookmarkListClass))
+#define NAUTILUS_TYPE_BOOKMARK_LIST (nautilus_bookmark_list_get_type())
-struct NautilusBookmarkList {
- GObject object;
+G_DECLARE_FINAL_TYPE (NautilusBookmarkList, nautilus_bookmark_list, NAUTILUS, BOOKMARK_LIST, GObject)
- GList *list;
- GFileMonitor *monitor;
- GQueue *pending_ops;
-};
-
-struct NautilusBookmarkListClass {
- GObjectClass parent_class;
- void (* changed) (NautilusBookmarkList *bookmarks);
-};
-
-GType nautilus_bookmark_list_get_type (void);
NautilusBookmarkList * nautilus_bookmark_list_new (void);
void nautilus_bookmark_list_append (NautilusBookmarkList *bookmarks,
NautilusBookmark *bookmark);
@@ -68,4 +45,6 @@ gboolean nautilus_bookmark_list_can_bookmark_location (NautilusBo
GFile *location);
GList * nautilus_bookmark_list_get_all (NautilusBookmarkList *bookmarks);
+G_END_DECLS
+
#endif /* NAUTILUS_BOOKMARK_LIST_H */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]