Commit f4cf887a authored by W. Michael Petullo's avatar W. Michael Petullo
Browse files

Add DACPConnection class


Signed-off-by: W. Michael Petullo's avatarW. Michael Petullo <mike@flyn.org>
parent afa59db0
......@@ -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 \
......
/*
* 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)
/*
* 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 */
......@@ -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,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment