[balsa/wip/gtk4: 176/351] address-book-ldif: Declare it final



commit 8f6435ced1c989764631eac44b34035a32e7de8f
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Wed Feb 14 19:27:46 2018 -0500

    address-book-ldif: Declare it final
    
    Use G_DECLARE_FINAL_TYPE for LibBalsaAddressBookLdif and make object
    and class opaque.

 libbalsa/address-book-ldif.c |   41 ++++++++++++++---------------------------
 libbalsa/address-book-ldif.h |   22 +++-------------------
 2 files changed, 17 insertions(+), 46 deletions(-)
---
diff --git a/libbalsa/address-book-ldif.c b/libbalsa/address-book-ldif.c
index 9cff5d4..6acb45a 100644
--- a/libbalsa/address-book-ldif.c
+++ b/libbalsa/address-book-ldif.c
@@ -45,31 +45,20 @@ static LibBalsaABErr
 libbalsa_address_book_ldif_save_address(FILE * stream,
                                         LibBalsaAddress * address);
 
+struct _LibBalsaAddressBookLdif {
+    LibBalsaAddressBookText parent;
+};
 
-GType libbalsa_address_book_ldif_get_type(void)
-{
-    static GType address_book_ldif_type = 0;
-
-    if (!address_book_ldif_type) {
-       static const GTypeInfo address_book_ldif_info = {
-           sizeof(LibBalsaAddressBookLdifClass),
-            NULL,               /* base_init */
-            NULL,               /* base_finalize */
-           (GClassInitFunc) libbalsa_address_book_ldif_class_init,
-            NULL,               /* class_finalize */
-            NULL,               /* class_data */
-           sizeof(LibBalsaAddressBookLdif),
-            0,                  /* n_preallocs */
-           NULL
-       };
-
-       address_book_ldif_type =
-            g_type_register_static(LIBBALSA_TYPE_ADDRESS_BOOK_TEXT,
-                                  "LibBalsaAddressBookLdif",
-                                  &address_book_ldif_info, 0);
-    }
+struct _LibBalsaAddressBookLdifClass {
+    LibBalsaAddressBookTextClass parent_class;
+};
+
+G_DEFINE_TYPE(LibBalsaAddressBookLdif, libbalsa_address_book_ldif,
+              LIBBALSA_TYPE_ADDRESS_BOOK_TEXT)
 
-    return address_book_ldif_type;
+static void
+libbalsa_address_book_ldif_init(LibBalsaAddressBookLdif * ab_ldif)
+{
 }
 
 static void
@@ -89,16 +78,14 @@ LibBalsaAddressBook *
 libbalsa_address_book_ldif_new(const gchar * name, const gchar * path)
 {
     LibBalsaAddressBookLdif *ab_ldif;
-    LibBalsaAddressBook *ab;
 
     ab_ldif =
         LIBBALSA_ADDRESS_BOOK_LDIF(g_object_new
                                    (LIBBALSA_TYPE_ADDRESS_BOOK_LDIF,
                                     NULL));
-    ab = LIBBALSA_ADDRESS_BOOK(ab_ldif);
 
-    libbalsa_address_book_set_name(ab, name);
-    libbalsa_address_book_text_set_path(LIBBALSA_ADDRESS_BOOK_TEXT(ab), path);
+    libbalsa_address_book_set_name(LIBBALSA_ADDRESS_BOOK(ab_ldif), name);
+    libbalsa_address_book_text_set_path(LIBBALSA_ADDRESS_BOOK_TEXT(ab_ldif), path);
 
     return ab;
 }
diff --git a/libbalsa/address-book-ldif.h b/libbalsa/address-book-ldif.h
index db1a85c..15209d5 100644
--- a/libbalsa/address-book-ldif.h
+++ b/libbalsa/address-book-ldif.h
@@ -27,25 +27,9 @@
 
 #include "address-book-text.h"
 
-#define LIBBALSA_TYPE_ADDRESS_BOOK_LDIF                        (libbalsa_address_book_ldif_get_type())
-#define LIBBALSA_ADDRESS_BOOK_LDIF(obj)                        (G_TYPE_CHECK_INSTANCE_CAST (obj, 
LIBBALSA_TYPE_ADDRESS_BOOK_LDIF, LibBalsaAddressBookLdif))
-#define LIBBALSA_ADDRESS_BOOK_LDIF_CLASS(klass)                (G_TYPE_CHECK_CLASS_CAST (klass, 
LIBBALSA_TYPE_ADDRESS_BOOK_LDIF, LibBalsaAddressBookLdifClass))
-#define LIBBALSA_IS_ADDRESS_BOOK_LDIF(obj)             (G_TYPE_CHECK_INSTANCE_TYPE (obj, 
LIBBALSA_TYPE_ADDRESS_BOOK_LDIF))
-#define LIBBALSA_IS_ADDRESS_BOOK_LDIF_CLASS(klass)     (G_TYPE_CHECK_CLASS_TYPE (klass, 
LIBBALSA_TYPE_ADDRESS_BOOK_LDIF))
-
-typedef struct _LibBalsaAddressBookLdif LibBalsaAddressBookLdif;
-typedef struct _LibBalsaAddressBookLdifClass
-    LibBalsaAddressBookLdifClass;
-
-struct _LibBalsaAddressBookLdif {
-    LibBalsaAddressBookText parent;
-};
-
-struct _LibBalsaAddressBookLdifClass {
-    LibBalsaAddressBookTextClass parent_class;
-};
-
-GType libbalsa_address_book_ldif_get_type(void);
+#define LIBBALSA_TYPE_ADDRESS_BOOK_LDIF (libbalsa_address_book_ldif_get_type())
+G_DECLARE_FINAL_TYPE(LibBalsaAddressBookLdif, libbalsa_address_book_ldif,
+                     LIBBALSA, ADDRESS_BOOK_LDIF, LibBalsaAddressBookText)
 
 LibBalsaAddressBook *libbalsa_address_book_ldif_new(const gchar * name,
                                                     const gchar * path);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]