#include <glib.h>
#include "null.h"
-static void null_connect (net_hook_t* hook)
+static void
+null_connect (net_hook_t *hook)
{
}
-static void null_close (net_hook_t* hook)
+static void
+null_close (net_hook_t *hook)
{
if (hook->peer)
{
g_slice_free (net_hook_t, hook);
}
-static void null_read (net_hook_t* hook, gchar* buffer, size_t len)
+static void
+null_read (net_hook_t *hook, gchar *buffer, size_t len)
{
hc_conn_write (hook->peer->conn, buffer, len);
}
-static void null_error (net_hook_t* hook)
+static void
+null_error (net_hook_t *hook)
{
g_message ("Error in POP3 client connection.");
}
-static net_hook_t* null_server_hook_new (net_hook_t* client_hook, char *server)
+static net_hook_t *
+null_server_hook_new (net_hook_t *client_hook, char *server, char *port)
{
- net_hook_t* hook;
+ net_hook_t *hook;
+ int fd;
+ HCConn *conn;
hook = g_slice_new (net_hook_t);
hook->peer = client_hook;
hook->server = TRUE;
hook->close = null_close;
hook->read = null_read;
hook->data = NULL;
- hook->conn = hc_conn_new (hc_tcp_connect (server, "110"), nethook_event, hook);
+ conn = hc_conn_new (NULL, NULL);
+ hook->conn = hc_conn_new (nethook_event, hook);
+ fd = hc_tcp_connect (server, port);
+ hc_conn_set_driver_channel (conn, fd);
+ hc_conn_set_driver_ssl (hook->conn, conn);
return hook;
}
-net_hook_t* null_hook_new (HCConn* conn, char *server)
+net_hook_t *
+null_hook_new (HCConn *conn, char *server, char *port)
{
- net_hook_t* hook;
+ net_hook_t *hook;
hook = g_slice_new (net_hook_t);
hook->conn = conn;
hook->peer = NULL;
hook->close = null_close;
hook->read = null_read;
hook->data = server;
- hook->peer = null_server_hook_new (hook, server);
+ hook->peer = null_server_hook_new (hook, server, port);
hc_conn_set_callback (hook->conn, nethook_event, hook);
return hook;
}
-void null_destroy (net_hook_t* hook)
+void
+null_destroy (net_hook_t *hook)
{
g_slice_free (net_hook_t, hook);
}