--- a/loudmouth/lm-data-objects.c Tue Oct 21 15:47:01 2008 +0200
+++ b/loudmouth/lm-data-objects.c Wed Oct 22 13:12:40 2008 +0200
@@ -22,7 +22,8 @@
#include "lm-data-objects.h"
-static void auth_parameters_free (LmAuthParameters *params);
+static void auth_parameters_free (LmAuthParameters *params);
+static void connect_parameters_free (LmConnectParameters *params);
struct LmAuthParameters {
gchar *username;
@@ -32,6 +33,14 @@
guint ref_count;
};
+struct LmConnectParameters {
+ gchar *domain;
+ gchar *host;
+ guint port;
+
+ guint ref_count;
+};
+
static void
auth_parameters_free (LmAuthParameters *params)
{
@@ -42,6 +51,15 @@
g_slice_free (LmAuthParameters, params);
}
+static void
+connect_parameters_free (LmConnectParameters *params)
+{
+ g_free (params->domain);
+ g_free (params->host);
+
+ g_slice_free (LmConnectParameters, params);
+}
+
LmAuthParameters *
lm_auth_parameters_new (const gchar *username,
const gchar *password,
@@ -106,4 +124,68 @@
if (params->ref_count == 0) {
auth_parameters_free (params);
}
+}
+
+LmConnectParameters *
+lm_connect_parameters_new (const gchar *domain,
+ const gchar *host,
+ guint port)
+{
+ LmConnectParameters *params;
+
+ params = g_slice_new0 (LmConnectParameters);
+
+ params->domain = g_strdup (domain);
+ params->host = g_strdup (host);
+ params->port = port;
+
+ params->ref_count = 1;
+
+ return params;
+}
+
+const gchar *
+lm_connect_parameters_get_domain (LmConnectParameters *params)
+{
+ g_return_val_if_fail (params != NULL, NULL);
+
+ return params->domain;
+}
+
+const gchar *
+lm_connect_parameters_get_host (LmConnectParameters *params)
+{
+ g_return_val_if_fail (params != NULL, NULL);
+
+ return params->host;
+}
+
+guint
+lm_connect_parameters_get_port (LmConnectParameters *params)
+{
+ g_return_val_if_fail (params != NULL, 0);
+
+ return params->port;
+}
+
+LmConnectParameters *
+lm_connect_parameters_ref (LmConnectParameters *params)
+{
+ g_return_val_if_fail (params != NULL, NULL);
+
+ params->ref_count++;
+
+ return params;
+}
+
+void
+lm_connect_parameters_unref (LmConnectParameters *params)
+{
+ g_return_if_fail (params != NULL);
+
+ params->ref_count--;
+
+ if (params->ref_count == 0) {
+ connect_parameters_free (params);
+ }
}
\ No newline at end of file