summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann <sandmann@redhat.com>2007-07-31 21:18:28 -0400
committerSøren Sandmann <sandmann@redhat.com>2007-07-31 21:18:28 -0400
commitbf34e6c6d5dc932edbde10a86031ba64da325ab5 (patch)
tree6ba49ccc79f99bed329b2699efd4d9090523e35b
parentc6bdf7500b3ac117326d7d3fa6b2289fd2d39964 (diff)
Move address/port to lacconnection
-rw-r--r--src/lacconnection.c18
-rw-r--r--src/lacinternals.h8
-rw-r--r--src/lactcpconnection.c28
-rw-r--r--src/lactlsconnection.c12
4 files changed, 17 insertions, 49 deletions
diff --git a/src/lacconnection.c b/src/lacconnection.c
index b88b381..f461e27 100644
--- a/src/lacconnection.c
+++ b/src/lacconnection.c
@@ -36,6 +36,8 @@ struct _LacConnection
LacConnectionFunc func;
gpointer data;
int ref_count;
+ LacAddress *address;
+ int port;
};
static void
@@ -69,6 +71,8 @@ lac_connection_new_tcp (const LacAddress *address,
connection->ref_count = 1;
connection->func = func;
connection->data = data;
+ connection->address = lac_address_copy (address);
+ connection->port = port;
return connection;
}
@@ -86,6 +90,8 @@ lac_connection_new_tls (const LacAddress *address,
connection->ref_count = 1;
connection->func = func;
connection->data = data;
+ connection->address = lac_address_copy (address);
+ connection->port = port;
return connection;
}
@@ -98,6 +104,8 @@ lac_connection_destroy (LacConnection *connection)
else
lac_tls_connection_unref (connection->u.tls);
+ lac_address_free (connection->address);
+
g_free (connection);
}
@@ -151,19 +159,13 @@ lac_connection_write_cstr (LacConnection *connection,
G_CONST_RETURN LacAddress *
lac_connection_get_address (LacConnection *connection)
{
- if (connection->is_tcp)
- return lac_tcp_connection_get_address (connection->u.tcp);
- else
- return lac_tls_connection_get_address (connection->u.tls);
+ return connection->address;
}
gint
lac_connection_get_port (LacConnection *connection)
{
- if (connection->is_tcp)
- return lac_tcp_connection_get_port (connection->u.tcp);
- else
- return lac_tls_connection_get_port (connection->u.tls);
+ return connection->port;
}
void
diff --git a/src/lacinternals.h b/src/lacinternals.h
index 1b4446e..c4fa2ec 100644
--- a/src/lacinternals.h
+++ b/src/lacinternals.h
@@ -70,10 +70,8 @@ void lac_tcp_connection_write (LacTcpConnection
void lac_tcp_connection_write_cstr (LacTcpConnection *connection,
const gchar *data);
void lac_tcp_connection_shutdown_write (LacTcpConnection *connection);
-LacTcpConnection * lac_tcp_connection_ref (LacTcpConnection *connection);
+LacTcpConnection * lac_tcp_connection_ref (LacTcpConnection *connection);
void lac_tcp_connection_unref (LacTcpConnection *connection);
-G_CONST_RETURN LacAddress *lac_tcp_connection_get_address (LacTcpConnection *connection);
-gint lac_tcp_connection_get_port (LacTcpConnection *connection);
void lac_tcp_connection_close (LacTcpConnection *connection);
gboolean lac_tcp_connection_is_connected (LacTcpConnection *connection);
void lac_tcp_connection_flush (LacTcpConnection *connection);
@@ -97,10 +95,8 @@ void lac_tls_connection_write (LacTlsConnection
void lac_tls_connection_write_cstr (LacTlsConnection *connection,
const gchar *data);
void lac_tls_connection_shutdown_write (LacTlsConnection *connection);
-LacTlsConnection * lac_tls_connection_ref (LacTlsConnection *connection);
+LacTlsConnection * lac_tls_connection_ref (LacTlsConnection *connection);
void lac_tls_connection_unref (LacTlsConnection *connection);
-G_CONST_RETURN LacAddress *lac_tls_connection_get_address (LacTlsConnection *connection);
-gint lac_tls_connection_get_port (LacTlsConnection *connection);
void lac_tls_connection_close (LacTlsConnection *connection);
gboolean lac_tls_connection_is_connected (LacTlsConnection *connection);
void lac_tls_connection_flush (LacTlsConnection *connection);
diff --git a/src/lactcpconnection.c b/src/lactcpconnection.c
index cfe1312..258ff78 100644
--- a/src/lactcpconnection.c
+++ b/src/lactcpconnection.c
@@ -35,8 +35,6 @@ typedef enum {
struct _LacTcpConnection {
int fd;
- LacAddress * address;
- gint port;
LacTcpConnectionFunc callback;
gpointer data;
@@ -300,13 +298,13 @@ lac_tcp_connection_writable (gpointer data)
}
static void
-lac_tcp_connection_connect (LacTcpConnection *connection)
+lac_tcp_connection_connect (LacTcpConnection *connection,
+ const LacAddress *address,
+ int port)
{
GError *err = NULL;
- lac_connect (connection->fd,
- connection->address, connection->port,
- &err);
+ lac_connect (connection->fd, address, port, &err);
if (err)
{
@@ -365,8 +363,6 @@ lac_tcp_connection_new (const LacAddress *address,
connection->ref_count = 1;
- connection->address = lac_address_copy (address);
- connection->port = port;
connection->callback = callback;
connection->data = data;
@@ -400,7 +396,7 @@ lac_tcp_connection_new (const LacAddress *address,
}
lac_tcp_connection_add_watch (connection);
- lac_tcp_connection_connect (connection);
+ lac_tcp_connection_connect (connection, address, port);
emit_events_idle (connection);
@@ -479,8 +475,6 @@ lac_tcp_connection_unref (LacTcpConnection *connection)
{
if (--connection->ref_count == 0)
{
- lac_address_free (connection->address);
-
lac_tcp_connection_discard_pending_events (connection);
g_queue_free (connection->pending_events);
@@ -496,18 +490,6 @@ lac_tcp_connection_unref (LacTcpConnection *connection)
}
}
-G_CONST_RETURN LacAddress *
-lac_tcp_connection_get_address (LacTcpConnection *connection)
-{
- return connection->address;
-}
-
-gint
-lac_tcp_connection_get_port (LacTcpConnection *connection)
-{
- return connection->port;
-}
-
gboolean
lac_tcp_connection_is_connected (LacTcpConnection *connection)
{
diff --git a/src/lactlsconnection.c b/src/lactlsconnection.c
index e686e4e..f78fc4e 100644
--- a/src/lactlsconnection.c
+++ b/src/lactlsconnection.c
@@ -387,18 +387,6 @@ lac_tls_connection_write_cstr (LacTlsConnection *connection,
lac_tls_connection_write (connection, data, len);
}
-G_CONST_RETURN LacAddress *
-lac_tls_connection_get_address (LacTlsConnection *connection)
-{
- return lac_connection_get_address (connection->tcp_connection);
-}
-
-gint
-lac_tls_connection_get_port (LacTlsConnection *connection)
-{
- return lac_connection_get_port (connection->tcp_connection);
-}
-
void
lac_tls_connection_close (LacTlsConnection *connection)
{