[balsa/wip/gtk4: 266/351] mime-stream-shared: Use G_DEFINE_TYPE



commit f0abe135574c5691af8fb50d787805e18220b58b
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Sat Mar 31 15:48:34 2018 -0400

    mime-stream-shared: Use G_DEFINE_TYPE
    
    …and uncrustify, and generally tidy up.

 libbalsa/mime-stream-shared.c |  154 +++++++++++++++++++++-------------------
 libbalsa/mime-stream-shared.h |   20 +++---
 2 files changed, 91 insertions(+), 83 deletions(-)
---
diff --git a/libbalsa/mime-stream-shared.c b/libbalsa/mime-stream-shared.c
index f173082..9926c34 100644
--- a/libbalsa/mime-stream-shared.c
+++ b/libbalsa/mime-stream-shared.c
@@ -6,14 +6,14 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option) 
+ * the Free Software Foundation; either version 2, or (at your option)
  * any later version.
- *  
+ *
  * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of 
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- *  
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -30,7 +30,7 @@
  */
 
 #if defined(HAVE_CONFIG_H) && HAVE_CONFIG_H
-# include "config.h"
+#   include "config.h"
 #endif                          /* HAVE_CONFIG_H */
 
 #include "mime-stream-shared.h"
@@ -52,59 +52,47 @@ struct _LibBalsaMimeStreamSharedClass {
     GMimeStreamClass parent_class;
 };
 
-static void lbmss_stream_class_init(LibBalsaMimeStreamSharedClass * klass);
-
-static void lbmss_finalize(GObject *object);
+static void    lbmss_finalize(GObject *object);
+
+static ssize_t lbmss_stream_read(GMimeStream *stream,
+                                 char        *buf,
+                                 size_t       len);
+static ssize_t lbmss_stream_write(GMimeStream *stream,
+                                  const char  *buf,
+                                  size_t       len);
+static int    lbmss_stream_reset(GMimeStream *stream);
+static gint64 lbmss_stream_seek(GMimeStream    *stream,
+                                gint64          offset,
+                                GMimeSeekWhence whence);
+static GMimeStream *lbmss_stream_substream(GMimeStream *stream,
+                                           gint64       start,
+                                           gint64       end);
 
-static ssize_t lbmss_stream_read(GMimeStream * stream, char *buf,
-                                 size_t len);
-static ssize_t lbmss_stream_write(GMimeStream * stream, const char *buf,
-                                  size_t len);
-static int lbmss_stream_reset(GMimeStream * stream);
-static gint64 lbmss_stream_seek(GMimeStream * stream, gint64 offset,
-                               GMimeSeekWhence whence);
-static GMimeStream *lbmss_stream_substream(GMimeStream * stream,
-                                           gint64 start, gint64 end);
-
-static GMimeStreamFsClass *parent_class = NULL;
 static GMutex lbmss_mutex;
 static GCond lbmss_cond;
 
-GType
-libbalsa_mime_stream_shared_get_type(void)
-{
-    static GType type = 0;
-
-    if (!type) {
-        static const GTypeInfo info = {
-            sizeof(LibBalsaMimeStreamSharedClass),
-            NULL,               /* base_class_init */
-            NULL,               /* base_class_finalize */
-            (GClassInitFunc) lbmss_stream_class_init,
-            NULL,               /* class_finalize */
-            NULL,               /* class_data */
-            sizeof(LibBalsaMimeStreamShared),
-            16,                 /* n_preallocs */
-            NULL                /* instance init */
-        };
-
-        type =
-            g_type_register_static(GMIME_TYPE_STREAM_FS,
-                                   "LibBalsaMimeStreamShared", &info, 0);
-    }
+G_DEFINE_TYPE(LibBalsaMimeStreamShared,
+              libbalsa_mime_stream_shared,
+              GMIME_TYPE_STREAM_FS)
 
-    return type;
+static void
+libbalsa_mime_stream_shared_init(LibBalsaMimeStreamShared *self)
+{
 }
 
+
+static GMimeStreamClass *gmime_parent_class;
+
 static void
-lbmss_stream_class_init(LibBalsaMimeStreamSharedClass * klass)
+libbalsa_mime_stream_shared_class_init(LibBalsaMimeStreamSharedClass *klass)
 {
     GMimeStreamClass *stream_class = GMIME_STREAM_CLASS(klass);
-    GObjectClass *object_class = G_OBJECT_CLASS(klass);
+    GObjectClass *object_class     = G_OBJECT_CLASS(klass);
 
-    parent_class = g_type_class_ref(GMIME_TYPE_STREAM_FS);
+    gmime_parent_class =
+        GMIME_STREAM_CLASS(libbalsa_mime_stream_shared_parent_class);
 
-    object_class->finalize  = lbmss_finalize;
+    object_class->finalize = lbmss_finalize;
 
     stream_class->read      = lbmss_stream_read;
     stream_class->write     = lbmss_stream_write;
@@ -113,6 +101,7 @@ lbmss_stream_class_init(LibBalsaMimeStreamSharedClass * klass)
     stream_class->substream = lbmss_stream_substream;
 }
 
+
 /* The shared lock. */
 
 struct _LibBalsaMimeStreamSharedLock {
@@ -126,24 +115,26 @@ lbmss_lock_new(void)
 {
     LibBalsaMimeStreamSharedLock *lock;
 
-    lock = g_new(LibBalsaMimeStreamSharedLock, 1);
-    lock->thread = 0;
-    lock->count = 0;
+    lock            = g_new(LibBalsaMimeStreamSharedLock, 1);
+    lock->thread    = 0;
+    lock->count     = 0;
     lock->ref_count = 1;
 
     return lock;
 }
 
+
 static LibBalsaMimeStreamSharedLock *
-lbmss_lock_ref(LibBalsaMimeStreamSharedLock * lock)
+lbmss_lock_ref(LibBalsaMimeStreamSharedLock *lock)
 {
     ++lock->ref_count;
 
     return lock;
 }
 
+
 static void
-lbmss_lock_unref(LibBalsaMimeStreamSharedLock * lock)
+lbmss_lock_unref(LibBalsaMimeStreamSharedLock *lock)
 {
     g_assert(lock->ref_count > 0);
 
@@ -151,6 +142,7 @@ lbmss_lock_unref(LibBalsaMimeStreamSharedLock * lock)
         g_free(lock);
 }
 
+
 /* Object class method. */
 
 static void
@@ -161,9 +153,10 @@ lbmss_finalize(GObject *object)
 
     lbmss_lock_unref(stream_shared->lock);
 
-    G_OBJECT_CLASS(parent_class)->finalize(object);
+    G_OBJECT_CLASS(libbalsa_mime_stream_shared_parent_class)->finalize(object);
 }
 
+
 /* Stream class methods. */
 
 #define lbmss_thread_has_lock(stream)                     \
@@ -171,36 +164,47 @@ lbmss_finalize(GObject *object)
      && LIBBALSA_MIME_STREAM_SHARED(stream)->lock->thread == g_thread_self())
 
 static ssize_t
-lbmss_stream_read(GMimeStream * stream, char *buf, size_t len)
+lbmss_stream_read(GMimeStream *stream,
+                  char        *buf,
+                  size_t       len)
 {
     g_return_val_if_fail(lbmss_thread_has_lock(stream), -1);
-    return GMIME_STREAM_CLASS(parent_class)->read(stream, buf, len);
+    return gmime_parent_class->read(stream, buf, len);
 }
 
+
 static ssize_t
-lbmss_stream_write(GMimeStream * stream, const char *buf, size_t len)
+lbmss_stream_write(GMimeStream *stream,
+                   const char  *buf,
+                   size_t       len)
 {
     g_return_val_if_fail(lbmss_thread_has_lock(stream), -1);
-    return GMIME_STREAM_CLASS(parent_class)->write(stream, buf, len);
+    return gmime_parent_class->write(stream, buf, len);
 }
 
+
 static int
-lbmss_stream_reset(GMimeStream * stream)
+lbmss_stream_reset(GMimeStream *stream)
 {
     g_return_val_if_fail(lbmss_thread_has_lock(stream), -1);
-    return GMIME_STREAM_CLASS(parent_class)->reset(stream);
+    return gmime_parent_class->reset(stream);
 }
 
+
 static gint64
-lbmss_stream_seek(GMimeStream * stream, gint64 offset,
+lbmss_stream_seek(GMimeStream    *stream,
+                  gint64          offset,
                   GMimeSeekWhence whence)
 {
     g_return_val_if_fail(lbmss_thread_has_lock(stream), -1);
-    return GMIME_STREAM_CLASS(parent_class)->seek(stream, offset, whence);
+    return gmime_parent_class->seek(stream, offset, whence);
 }
 
+
 static GMimeStream *
-lbmss_stream_substream(GMimeStream * stream, gint64 start, gint64 end)
+lbmss_stream_substream(GMimeStream *stream,
+                       gint64       start,
+                       gint64       end)
 {
     LibBalsaMimeStreamShared *stream_shared;
     GMimeStreamFs *fstream;
@@ -210,14 +214,15 @@ lbmss_stream_substream(GMimeStream * stream, gint64 start, gint64 end)
     stream_shared->lock =
         lbmss_lock_ref(LIBBALSA_MIME_STREAM_SHARED(stream)->lock);
 
-    fstream = GMIME_STREAM_FS(stream_shared);
+    fstream        = GMIME_STREAM_FS(stream_shared);
     fstream->owner = FALSE;
-    fstream->fd = GMIME_STREAM_FS(stream)->fd;
+    fstream->fd    = GMIME_STREAM_FS(stream)->fd;
     g_mime_stream_construct(GMIME_STREAM(fstream), start, end);
 
     return GMIME_STREAM(fstream);
 }
 
+
 /* Public methods. */
 
 /**
@@ -240,10 +245,10 @@ libbalsa_mime_stream_shared_new(int fd)
         g_object_new(LIBBALSA_TYPE_MIME_STREAM_SHARED, NULL, NULL);
     stream_shared->lock = lbmss_lock_new();
 
-    fstream = GMIME_STREAM_FS(stream_shared);
+    fstream        = GMIME_STREAM_FS(stream_shared);
     fstream->owner = TRUE;
-    fstream->eos = FALSE;
-    fstream->fd = fd;
+    fstream->eos   = FALSE;
+    fstream->fd    = fd;
 
     start = lseek(fd, 0, SEEK_CUR);
     g_mime_stream_construct(GMIME_STREAM(fstream), start, -1);
@@ -251,6 +256,7 @@ libbalsa_mime_stream_shared_new(int fd)
     return GMIME_STREAM(fstream);
 }
 
+
 /**
  * libbalsa_mime_stream_shared_lock:
  * @stream: shared stream
@@ -258,7 +264,7 @@ libbalsa_mime_stream_shared_new(int fd)
  * Lock the shared stream
  **/
 void
-libbalsa_mime_stream_shared_lock(GMimeStream * stream)
+libbalsa_mime_stream_shared_lock(GMimeStream *stream)
 {
     LibBalsaMimeStreamShared *stream_shared;
     LibBalsaMimeStreamSharedLock *lock;
@@ -273,17 +279,19 @@ libbalsa_mime_stream_shared_lock(GMimeStream * stream)
         return;
 
     stream_shared = (LibBalsaMimeStreamShared *) stream;
-    lock = stream_shared->lock;
-    thread_self = g_thread_self();
+    lock          = stream_shared->lock;
+    thread_self   = g_thread_self();
 
     g_mutex_lock(&lbmss_mutex);
-    while (lock->count > 0 && lock->thread != thread_self)
+    while (lock->count > 0 && lock->thread != thread_self) {
         g_cond_wait(&lbmss_cond, &lbmss_mutex);
+    }
     ++lock->count;
     lock->thread = thread_self;
     g_mutex_unlock(&lbmss_mutex);
 }
 
+
 /**
  * libbalsa_mime_stream_shared_unlock:
  * @stream: shared stream
@@ -291,7 +299,7 @@ libbalsa_mime_stream_shared_lock(GMimeStream * stream)
  * Unlock the shared stream
  **/
 void
-libbalsa_mime_stream_shared_unlock(GMimeStream * stream)
+libbalsa_mime_stream_shared_unlock(GMimeStream *stream)
 {
     LibBalsaMimeStreamShared *stream_shared;
     LibBalsaMimeStreamSharedLock *lock;
@@ -305,7 +313,7 @@ libbalsa_mime_stream_shared_unlock(GMimeStream * stream)
         return;
 
     stream_shared = (LibBalsaMimeStreamShared *) stream;
-    lock = stream_shared->lock;
+    lock          = stream_shared->lock;
     g_return_if_fail(lock->count > 0);
 
     g_mutex_lock(&lbmss_mutex);
diff --git a/libbalsa/mime-stream-shared.h b/libbalsa/mime-stream-shared.h
index 0db62a2..b1468fb 100644
--- a/libbalsa/mime-stream-shared.h
+++ b/libbalsa/mime-stream-shared.h
@@ -6,14 +6,14 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option) 
+ * the Free Software Foundation; either version 2, or (at your option)
  * any later version.
- *  
+ *
  * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of 
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- *  
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
@@ -22,7 +22,7 @@
 #define __LIBBALSA_MIME_STREAM_SHARED_H__
 
 #ifndef BALSA_VERSION
-# error "Include config.h before this file."
+#   error "Include config.h before this file."
 #endif
 
 #include <gmime/gmime-stream-fs.h>
@@ -48,14 +48,14 @@
                                LIBBALSA_TYPE_MIME_STREAM_SHARED,   \
                                LibBalsaMimeStreamSharedClass))
 
-typedef struct _LibBalsaMimeStreamShared      LibBalsaMimeStreamShared;
+typedef struct _LibBalsaMimeStreamShared LibBalsaMimeStreamShared;
 typedef struct _LibBalsaMimeStreamSharedClass LibBalsaMimeStreamSharedClass;
 
-GType libbalsa_mime_stream_shared_get_type(void);
+GType        libbalsa_mime_stream_shared_get_type(void);
 
 GMimeStream *libbalsa_mime_stream_shared_new(int fd);
 
-void libbalsa_mime_stream_shared_lock  (GMimeStream * stream);
-void libbalsa_mime_stream_shared_unlock(GMimeStream * stream);
+void         libbalsa_mime_stream_shared_lock(GMimeStream *stream);
+void         libbalsa_mime_stream_shared_unlock(GMimeStream *stream);
 
 #endif                          /* __LIBBALSA_MIME_STREAM_SHARED_H__ */


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