[balsa/wip/gtk4: 224/351] imap-server: declare it final
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/wip/gtk4: 224/351] imap-server: declare it final
- Date: Wed, 23 May 2018 21:35:47 +0000 (UTC)
commit 8a2e8b38ac70895616ad8a44284a4891d2d74e0a
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Thu Mar 15 20:04:18 2018 -0400
imap-server: declare it final
Use DECLARE_FINAL_TYPE for LibBalsaImapServer. It is already opaque.
libbalsa/imap-server.c | 49 +++++++++--------------------------------------
libbalsa/imap-server.h | 21 ++++++-------------
2 files changed, 17 insertions(+), 53 deletions(-)
---
diff --git a/libbalsa/imap-server.c b/libbalsa/imap-server.c
index ce83e29..38d3068 100644
--- a/libbalsa/imap-server.c
+++ b/libbalsa/imap-server.c
@@ -47,9 +47,7 @@
/** wait 60 seconds for packets */
#define IMAP_CMD_TIMEOUT (60*1000)
-static LibBalsaServerClass *parent_class = NULL;
-
-struct LibBalsaImapServer_ {
+struct _LibBalsaImapServer {
LibBalsaServer server;
guint connection_cleanup_id;
@@ -70,13 +68,12 @@ struct LibBalsaImapServer_ {
unsigned use_idle:1; /**< IDLE will work: no dummy firewall on the way */
};
-typedef struct LibBalsaImapServerClass_ {
+struct _LibBalsaImapServerClass {
LibBalsaServerClass parent_class;
+};
-} LibBalsaImapServerClass;
+G_DEFINE_TYPE(LibBalsaImapServer, libbalsa_imap_server, LIBBALSA_TYPE_SERVER)
-static void libbalsa_imap_server_class_init(LibBalsaImapServerClass * klass);
-static void libbalsa_imap_server_init(LibBalsaImapServer * server);
static void libbalsa_imap_server_finalize(GObject * object);
static gboolean connection_cleanup(gpointer ptr);
@@ -108,32 +105,6 @@ static int by_last_user(gconstpointer a, gconstpointer b)
return ((struct handle_info*)a)->last_user != b;
}
-GType
-libbalsa_imap_server_get_type(void)
-{
- static GType server_type = 0;
-
- if (!server_type) {
- static const GTypeInfo server_info = {
- sizeof(LibBalsaImapServerClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) libbalsa_imap_server_class_init,
- NULL, /* class_finalize */
- NULL, /* class_data */
- sizeof(LibBalsaImapServer),
- 0, /* n_preallocs */
- (GInstanceInitFunc) libbalsa_imap_server_init
- };
-
- server_type =
- g_type_register_static(LIBBALSA_TYPE_SERVER, "LibBalsaImapServer",
- &server_info, 0);
- }
-
- return server_type;
-}
-
static void libbalsa_imap_server_set_username(LibBalsaServer * server,
const gchar * name)
{
@@ -148,7 +119,8 @@ static void libbalsa_imap_server_set_username(LibBalsaServer * server,
g_hash_table_insert(imap_servers, imap_server->key, imap_server);
g_mutex_unlock(&imap_servers_lock);
}
- (parent_class)->set_username(server, name);
+ LIBBALSA_SERVER_CLASS(libbalsa_imap_server_parent_class)->
+ set_username(server, name);
}
static void
libbalsa_imap_server_set_host(LibBalsaServer * server,
@@ -164,7 +136,8 @@ libbalsa_imap_server_set_host(LibBalsaServer * server,
g_hash_table_insert(imap_servers, imap_server->key, imap_server);
g_mutex_unlock(&imap_servers_lock);
}
- (parent_class)->set_host(server, host, use_ssl);
+ LIBBALSA_SERVER_CLASS(libbalsa_imap_server_parent_class)->
+ set_host(server, host, use_ssl);
}
static void
libbalsa_imap_server_class_init(LibBalsaImapServerClass * klass)
@@ -175,8 +148,6 @@ libbalsa_imap_server_class_init(LibBalsaImapServerClass * klass)
object_class = G_OBJECT_CLASS(klass);
server_class = LIBBALSA_SERVER_CLASS(klass);
- parent_class = g_type_class_peek_parent(klass);
-
object_class->finalize = libbalsa_imap_server_finalize;
server_class->set_username = libbalsa_imap_server_set_username;
@@ -222,7 +193,7 @@ libbalsa_imap_server_finalize(GObject * object)
g_mutex_clear(&imap_server->lock);
g_free(imap_server->key);
- G_OBJECT_CLASS(parent_class)->finalize(object);
+ G_OBJECT_CLASS(libbalsa_imap_server_parent_class)->finalize(object);
}
gint ImapDebug = 0;
@@ -239,7 +210,7 @@ monitor_cb(const char *buffer, int length, int direction, void *arg)
if (direction) {
const gchar *login;
int login_length;
-
+
login = g_strstr_len(buffer, length, "LOGIN ");
if (login) {
login_length = 6;
diff --git a/libbalsa/imap-server.h b/libbalsa/imap-server.h
index 03e285d..4ca2c21 100644
--- a/libbalsa/imap-server.h
+++ b/libbalsa/imap-server.h
@@ -21,22 +21,15 @@
#define __IMAP_SERVER_H__
#include <glib-object.h>
+#include "server.h"
-#define LIBBALSA_TYPE_IMAP_SERVER \
- (libbalsa_imap_server_get_type())
-#define LIBBALSA_IMAP_SERVER(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST(obj, LIBBALSA_TYPE_IMAP_SERVER, \
- LibBalsaImapServer))
-#define LIBBALSA_IMAP_SERVER_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST(klass, LIBBALSA_TYPE_IMAP_SERVER, \
- LibBalsaImapServerClass))
-#define LIBBALSA_IS_IMAP_SERVER(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE(obj, LIBBALSA_TYPE_IMAP_SERVER))
-#define LIBBALSA_IS_IMAP_SERVER_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE(klass, LIBBALSA_TYPE_IMAP_SERVER))
+#define LIBBALSA_TYPE_IMAP_SERVER libbalsa_imap_server_get_type()
-GType libbalsa_imap_server_get_type(void);
-typedef struct LibBalsaImapServer_ LibBalsaImapServer;
+G_DECLARE_FINAL_TYPE(LibBalsaImapServer,
+ libbalsa_imap_server,
+ LIBBALSA,
+ IMAP_SERVER,
+ LibBalsaServer)
LibBalsaImapServer* libbalsa_imap_server_new(const gchar *username,
const gchar *host);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]