[libdmapsharing] Add DACPConnection class Signed-off-by: W. Michael Petullo <mike flyn org>
- From: W. Michael Petullo <wmpetullo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libdmapsharing] Add DACPConnection class Signed-off-by: W. Michael Petullo <mike flyn org>
- Date: Thu, 20 Jan 2011 15:17:02 +0000 (UTC)
commit f4cf887a5472c1310928a5e9551b90ea343e87e3
Author: W. Michael Petullo <mike flyn org>
Date: Wed Jan 19 19:53:45 2011 -0600
Add DACPConnection class
Signed-off-by: W. Michael Petullo <mike flyn org>
libdmapsharing/Makefile.am | 2 +
libdmapsharing/dacp-connection.c | 99 ++++++++++++++++++++++++++++++++++++++
libdmapsharing/dacp-connection.h | 96 ++++++++++++++++++++++++++++++++++++
libdmapsharing/dacp-share.c | 2 +-
4 files changed, 198 insertions(+), 1 deletions(-)
---
diff --git a/libdmapsharing/Makefile.am b/libdmapsharing/Makefile.am
index e57050f..01cf8aa 100644
--- a/libdmapsharing/Makefile.am
+++ b/libdmapsharing/Makefile.am
@@ -7,6 +7,7 @@ libdmapsharing_3_0_la_SOURCES = \
daap-connection.c \
daap-record.c \
daap-share.c \
+ dacp-connection.c \
dacp-share.c \
dacp-player.c \
dmap-connection.c \
@@ -72,6 +73,7 @@ libdmapsharinginclude_HEADERS = \
daap-connection.h \
daap-record.h \
daap-share.h \
+ dacp-connection.h \
dacp-share.h \
dacp-player.h \
dmap.h \
diff --git a/libdmapsharing/dacp-connection.c b/libdmapsharing/dacp-connection.c
new file mode 100644
index 0000000..d1989e5
--- /dev/null
+++ b/libdmapsharing/dacp-connection.c
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2004,2005 Charles Schmidt <cschmidt2 emich edu>
+ * Copyright (C) 2006 INDT
+ * Andre Moreira Magalhaes <andre magalhaes indt org br>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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 GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include <libdmapsharing/dacp-connection.h>
+#include <libdmapsharing/dmap-structure.h>
+
+#define DACP_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DACP_TYPE_CONNECTION, DACPConnectionPrivate))
+
+/* FIXME:
+struct DACPConnectionPrivate {
+};
+*/
+
+static DMAPContentCode
+get_protocol_version_cc (DMAPConnection *connection)
+{
+ /* FIXME: */
+ g_error ("Not implemented");
+}
+
+static gchar *
+get_query_metadata (void)
+{
+ /* FIXME: */
+ g_error ("Not implemented");
+}
+
+static DMAPRecord *
+handle_mlcl (DMAPConnection *connection, DMAPRecordFactory *factory, GNode *n, int *item_id)
+{
+ /* FIXME: */
+ g_error ("Not implemented");
+}
+
+static void
+dacp_connection_class_init (DACPConnectionClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ DMAPConnectionClass *parent_class = DMAP_CONNECTION_CLASS (object_class);
+
+ parent_class->get_protocol_version_cc = get_protocol_version_cc;
+ parent_class->get_query_metadata = get_query_metadata;
+ parent_class->handle_mlcl = handle_mlcl;
+
+ /* FIXME:
+ g_type_class_add_private (klass, sizeof (DACPConnectionPrivate));
+ */
+}
+
+DACPConnection *
+dacp_connection_new (const char *name,
+ const char *host,
+ guint port,
+ gboolean password_protected,
+ DMAPDb *db,
+ DMAPRecordFactory *factory)
+{
+ DACPConnection *connection;
+
+ connection = g_object_new (DACP_TYPE_CONNECTION,
+ "name", name,
+ "password-protected", password_protected,
+ "db", db,
+ "host", host,
+ "port", port,
+ "factory", factory,
+ NULL);
+
+ return connection;
+}
+
+static void
+dacp_connection_init (DACPConnection *connection)
+{
+ /* FIXME:
+ connection->priv = DACP_CONNECTION_GET_PRIVATE (connection);
+ */
+}
+
+G_DEFINE_TYPE (DACPConnection, dacp_connection, DMAP_TYPE_CONNECTION)
diff --git a/libdmapsharing/dacp-connection.h b/libdmapsharing/dacp-connection.h
new file mode 100644
index 0000000..cc5a17a
--- /dev/null
+++ b/libdmapsharing/dacp-connection.h
@@ -0,0 +1,96 @@
+/*
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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 GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __DACP_CONNECTION_H
+#define __DACP_CONNECTION_H
+
+#include <glib-object.h>
+
+#include <libdmapsharing/dmap-connection.h>
+#include <libdmapsharing/dmap-db.h>
+
+G_BEGIN_DECLS
+
+/**
+ * DACP_TYPE_CONNECTION:
+ *
+ * The type for #DACPConnection.
+ */
+#define DACP_TYPE_CONNECTION (dacp_connection_get_type ())
+/**
+ * DACP_CONNECTION:
+ * @o: Object which is subject to casting.
+ *
+ * Casts a #DACPConnection or derived pointer into a (DACPConnection *) pointer.
+ * Depending on the current debugging level, this function may invoke
+ * certain runtime checks to identify invalid casts.
+ */
+#define DACP_CONNECTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), DACP_TYPE_CONNECTION, DACPConnection))
+/**
+ * DACP_CONNECTION_CLASS:
+ * @k: a valid #DACPConnectionClass
+ *
+ * Casts a derived #DACPConnectionClass structure into a #DACPConnectionClass
+ * structure.
+ */
+#define DACP_CONNECTION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), DACP_TYPE_CONNECTION, DACPConnectionClass))
+/**
+ * IS_DACP_CONNECTION:
+ * @o: Instance to check for being a %DACP_TYPE_CONNECTION.
+ *
+ * Checks whether a valid #GTypeInstance pointer is of type %DACP_TYPE_CONNECTION.
+ */
+#define IS_DACP_CONNECTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), DACP_TYPE_CONNECTION))
+/**
+ * IS_DACP_CONNECTION_CLASS:
+ * @k: a #DACPConnectionClass
+ *
+ * Checks whether @k "is a" valid #DACPConnectionClass structure of type
+ * %DACP_CONNECTION or derived.
+ */
+#define IS_DACP_CONNECTION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), DACP_TYPE_CONNECTION))
+/**
+ * DACP_CONNECTION_GET_CLASS:
+ * @o: a #DACPConnection instance.
+ *
+ * Get the class structure associated to a #DACPConnection instance.
+ *
+ * Returns: pointer to object class structure.
+ */
+#define DACP_CONNECTION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), DACP_TYPE_CONNECTION, DACPConnectionClass))
+
+typedef struct DACPConnectionPrivate DACPConnectionPrivate;
+
+typedef struct {
+ DMAPConnectionClass dmap_connection_class;
+} DACPConnectionClass;
+
+typedef struct {
+ DMAPConnection dmap_connection_instance;
+ DACPConnectionPrivate *priv;
+} DACPConnection;
+
+GType dacp_connection_get_type (void);
+
+DACPConnection * dacp_connection_new (const char *name,
+ const char *host,
+ guint port,
+ gboolean password_protected,
+ DMAPDb *db,
+ DMAPRecordFactory *factory);
+G_END_DECLS
+
+#endif /* __DACP_CONNECTION_H */
diff --git a/libdmapsharing/dacp-share.c b/libdmapsharing/dacp-share.c
index fcb8fdc..69c0078 100644
--- a/libdmapsharing/dacp-share.c
+++ b/libdmapsharing/dacp-share.c
@@ -1031,7 +1031,7 @@ dacp_share_pair (DACPShare *share, gchar *service_name, gchar passcode[4])
g_object_get (share, "name", &name, NULL);
- remote_info->connection = dmap_connection_new (name,
+ remote_info->connection = dacp_connection_new (name,
remote_info->host,
remote_info->port,
FALSE,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]