[balsa] Declare LibBalsaAddressBookVcard final



commit 57c753036c75c4f9a9a8efe52d4ac49883c1521e
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Mon May 27 15:10:36 2019 -0400

    Declare LibBalsaAddressBookVcard final
    
    Use G_DECLARE_FINAL_TYPE to declare LibBalsaAddressBookVcard
    
    Make the structure private; no need for getters and setters.
    
    * libbalsa/address-book-vcard.c (libbalsa_address_book_vcard_init),
      (libbalsa_address_book_vcard_new):
    * libbalsa/address-book-vcard.h:

 ChangeLog                     | 10 ++++++++++
 libbalsa/address-book-vcard.c | 43 ++++++++++++++++---------------------------
 libbalsa/address-book-vcard.h | 22 +++-------------------
 3 files changed, 29 insertions(+), 46 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 7dc632b54..8dc789676 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2019-05-27  Peter Bloomfield  <pbloomfield bellsouth net>
+
+       Use G_DECLARE_FINAL_TYPE to declare LibBalsaAddressBookVcard
+
+       Make the structure private; no need for getters and setters.
+
+       * libbalsa/address-book-vcard.c (libbalsa_address_book_vcard_init),
+         (libbalsa_address_book_vcard_new):
+       * libbalsa/address-book-vcard.h:
+
 2019-05-27  Peter Bloomfield  <pbloomfield bellsouth net>
 
        * meson.build: specify meson version >= 0.43
diff --git a/libbalsa/address-book-vcard.c b/libbalsa/address-book-vcard.c
index 2e2c2202c..f6cb44b3d 100644
--- a/libbalsa/address-book-vcard.c
+++ b/libbalsa/address-book-vcard.c
@@ -52,32 +52,16 @@ static LibBalsaABErr
 libbalsa_address_book_vcard_save_address(FILE * stream,
                                          LibBalsaAddress * address);
 
+struct _LibBalsaAddressBookVcard {
+    LibBalsaAddressBookText parent;
+};
 
-GType libbalsa_address_book_vcard_get_type(void)
-{
-    static GType address_book_vcard_type = 0;
-
-    if (!address_book_vcard_type) {
-       static const GTypeInfo address_book_vcard_info = {
-           sizeof(LibBalsaAddressBookVcardClass),
-            NULL,               /* base_init */
-            NULL,               /* base_finalize */
-           (GClassInitFunc) libbalsa_address_book_vcard_class_init,
-            NULL,               /* class_finalize */
-            NULL,               /* class_data */
-           sizeof(LibBalsaAddressBookVcard),
-            0,                  /* n_preallocs */
-           NULL                /* instance_init */
-       };
-
-       address_book_vcard_type =
-            g_type_register_static(LIBBALSA_TYPE_ADDRESS_BOOK_TEXT,
-                                  "LibBalsaAddressBookVcard",
-                                  &address_book_vcard_info, 0);
-    }
+struct _LibBalsaAddressBookVcardClass {
+    LibBalsaAddressBookTextClass parent_class;
+};
 
-    return address_book_vcard_type;
-}
+G_DEFINE_TYPE(LibBalsaAddressBookVcard, libbalsa_address_book_vcard,
+              LIBBALSA_TYPE_ADDRESS_BOOK_TEXT)
 
 static void
 libbalsa_address_book_vcard_class_init(LibBalsaAddressBookVcardClass *
@@ -92,18 +76,23 @@ libbalsa_address_book_vcard_class_init(LibBalsaAddressBookVcardClass *
         libbalsa_address_book_vcard_save_address;
 }
 
+static void
+libbalsa_address_book_vcard_init(LibBalsaAddressBookVcard * ab_vcard)
+{
+}
+
 /* Public method */
 LibBalsaAddressBook *
 libbalsa_address_book_vcard_new(const gchar * name, const gchar * path)
 {
-    LibBalsaAddressBookVcard *abvc;
+    LibBalsaAddressBookVcard *ab_vcard;
     LibBalsaAddressBook *ab;
 
-    abvc =
+    ab_vcard =
         LIBBALSA_ADDRESS_BOOK_VCARD(g_object_new
                                     (LIBBALSA_TYPE_ADDRESS_BOOK_VCARD,
                                      NULL));
-    ab = LIBBALSA_ADDRESS_BOOK(abvc);
+    ab = LIBBALSA_ADDRESS_BOOK(ab_vcard);
 
     libbalsa_address_book_set_name(ab, name);
     libbalsa_address_book_text_set_path(LIBBALSA_ADDRESS_BOOK_TEXT(ab), path);
diff --git a/libbalsa/address-book-vcard.h b/libbalsa/address-book-vcard.h
index 1b5a3c720..7d193a59f 100644
--- a/libbalsa/address-book-vcard.h
+++ b/libbalsa/address-book-vcard.h
@@ -27,25 +27,9 @@
 
 #include "address-book-text.h"
 
-#define LIBBALSA_TYPE_ADDRESS_BOOK_VCARD               (libbalsa_address_book_vcard_get_type())
-#define LIBBALSA_ADDRESS_BOOK_VCARD(obj)               (G_TYPE_CHECK_INSTANCE_CAST (obj, 
LIBBALSA_TYPE_ADDRESS_BOOK_VCARD, LibBalsaAddressBookVcard))
-#define LIBBALSA_ADDRESS_BOOK_VCARD_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST (klass, 
LIBBALSA_TYPE_ADDRESS_BOOK_VCARD, LibBalsaAddressBookVcardClass))
-#define LIBBALSA_IS_ADDRESS_BOOK_VCARD(obj)            (G_TYPE_CHECK_INSTANCE_TYPE (obj, 
LIBBALSA_TYPE_ADDRESS_BOOK_VCARD))
-#define LIBBALSA_IS_ADDRESS_BOOK_VCARD_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE (klass, 
LIBBALSA_TYPE_ADDRESS_BOOK_VCARD))
-
-struct _LibBalsaAddressBookVcard {
-    LibBalsaAddressBookText parent;
-};
-
-struct _LibBalsaAddressBookVcardClass {
-    LibBalsaAddressBookTextClass parent_class;
-};
-
-typedef struct _LibBalsaAddressBookVcard LibBalsaAddressBookVcard;
-typedef struct _LibBalsaAddressBookVcardClass
-    LibBalsaAddressBookVcardClass;
-
-GType libbalsa_address_book_vcard_get_type(void);
+#define LIBBALSA_TYPE_ADDRESS_BOOK_VCARD (libbalsa_address_book_vcard_get_type())
+G_DECLARE_FINAL_TYPE(LibBalsaAddressBookVcard, libbalsa_address_book_vcard,
+                     LIBBALSA, ADDRESS_BOOK_VCARD, LibBalsaAddressBookText)
 
 LibBalsaAddressBook *libbalsa_address_book_vcard_new(const gchar * name,
                                                     const gchar * path);


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