[libdmapsharing] Added finalize function to TestDAAPRecord and TestDPAPRecord.
- From: W. Michael Petullo <wmpetullo src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libdmapsharing] Added finalize function to TestDAAPRecord and TestDPAPRecord.
- Date: Sun, 23 Aug 2009 01:39:59 +0000 (UTC)
commit 831f35165e6728e1ca3d9a402c29f2a8bb0f4e12
Author: W. Michael Petullo <mike flyn org>
Date: Sun Aug 16 21:48:38 2009 -0400
Added finalize function to TestDAAPRecord and TestDPAPRecord.
TODO | 4 ++-
docs/libdmapsharing-docs.sgml | 5 +++
libdmapsharing/dmap-mdns-browser.h | 66 ++++++++++++++++++++++++++++++++++++
tests/test-daap-record.c | 38 +++++++++++++++-----
tests/test-dpap-record.c | 41 ++++++++++++++++------
5 files changed, 132 insertions(+), 22 deletions(-)
---
diff --git a/TODO b/TODO
index b0725b4..afe2084 100644
--- a/TODO
+++ b/TODO
@@ -5,7 +5,9 @@ daap-connection.c:96: note: initialized from here
Ensure client test catches newly shared files?
-Ensure D[AP]APRecords are properly freed.
+Do transcode based on client?
+
+Ensure D[AP]APRecord's properly implement finalize.
daap-connection.c
daap-connection.h
diff --git a/docs/libdmapsharing-docs.sgml b/docs/libdmapsharing-docs.sgml
index c6b201f..393b6e6 100644
--- a/docs/libdmapsharing-docs.sgml
+++ b/docs/libdmapsharing-docs.sgml
@@ -23,6 +23,11 @@
<chapter>
<title>Libdmapsharing Browsing Overview</title>
+ <xi:include href="mediadb.sgml"/>
+ <xi:include href="containerdb.sgml"/>
+ <xi:include href="browserapi.sgml"/>
+ <xi:include href="serviceaddedcb.sgml"/>
+ <xi:include href="connectedcb.sgml"/>
</chapter>
<chapter>
diff --git a/libdmapsharing/dmap-mdns-browser.h b/libdmapsharing/dmap-mdns-browser.h
index 97bd001..1a5cf8a 100644
--- a/libdmapsharing/dmap-mdns-browser.h
+++ b/libdmapsharing/dmap-mdns-browser.h
@@ -27,11 +27,51 @@
G_BEGIN_DECLS
+/**
+ * TYPE_DMAP_MDNS_BROWSER:
+ *
+ * The type for #DMAPMdnsBrowser.
+ */
#define TYPE_DMAP_MDNS_BROWSER (dmap_mdns_browser_get_type ())
+/**
+ * DMAP_MDNS_BROWSER:
+ * @o: Object which is subject to casting.
+ *
+ * Casts a #DMAPMdnsBrowser or derived pointer into a (DMAPMdnsBrowser *) pointer.
+ * Depending on the current debugging level, this function may invoke
+ * certain runtime checks to identify invalid casts.
+ */
#define DMAP_MDNS_BROWSER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), TYPE_DMAP_MDNS_BROWSER, DMAPMdnsBrowser))
+/**
+ * DMAP_MDNS_BROWSER_CLASS:
+ * @k: a valid #DMAPMdnsBrowserClass
+ *
+ * Casts a derived #DAAPShareClass structure into a #DAAPShareClass structure.
+ */
#define DMAP_MDNS_BROWSER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), TYPE_DMAP_MDNS_BROWSER, DMAPMdnsBrowserClass))
+/**
+ * IS_DMAP_MDNS_BROWSER:
+ * @o: Instance to check for being a %TYPE_DMAP_MDNS_BROWSER.
+ *
+ * Checks whether a valid #GTypeInstance pointer is of type %TYPE_DAAP_SHARE.
+ */
#define IS_DMAP_MDNS_BROWSER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), TYPE_DMAP_MDNS_BROWSER))
+/**
+ * IS_DMAP_MDNS_BROWSER_CLASS:
+ * @k: a #DMAPMdnsBrowserClass
+ *
+ * Checks whether @k "is a" valid #DMAPMdnsBrowserClass structure of type
+ * %DMAP_MDNS_BROWSER or derived.
+ */
#define IS_DMAP_MDNS_BROWSER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), TYPE_DMAP_MDNS_BROWSER))
+/**
+ * DMAP_MDNS_BROWSER_GET_CLASS:
+ * @o: a #DMAPMdnsBrowser instance.
+ *
+ * Get the class structure associated to a #DMAPMdnsBrowser instance.
+ *
+ * Returns: pointer to object class structure.
+ */
#define DMAP_MDNS_BROWSER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), TYPE_DMAP_MDNS_BROWSER, DMAPMdnsBrowserClass))
typedef struct _DMAPMdnsBrowser DMAPMdnsBrowser;
@@ -85,10 +125,36 @@ GQuark dmap_mdns_browser_error_quark (void);
GType dmap_mdns_browser_get_type (void);
+/**
+ * dmap_mdns_browser_new:
+ * @type: The type of service to browse.
+ *
+ * Creates a new mDNS browser.
+ *
+ * Returns: a pointer to a DMAPMdnsBrowser.
+ */
DMAPMdnsBrowser *dmap_mdns_browser_new (DMAPMdnsBrowserServiceType type);
+/**
+ * dmap_mdns_browser_start:
+ * @browser: A DMAPMdnsBrowser.
+ * @error: A GError.
+ *
+ * Starts a DMAPMdnsBrowser.
+ *
+ * Returns: TRUE on success, else FALSE.
+ */
gboolean dmap_mdns_browser_start (DMAPMdnsBrowser *browser,
GError **error);
+/**
+ * dmap_mdns_browser_stop:
+ * @browser: A DMAPMdnsBrowser.
+ * @error: A GError.
+ *
+ * Stops a DMAPMdnsBrowser.
+ *
+ * Returns: TRUE on success, else FALSE.
+ */
gboolean dmap_mdns_browser_stop (DMAPMdnsBrowser *browser,
GError **error);
diff --git a/tests/test-daap-record.c b/tests/test-daap-record.c
index 0fe56c9..6c22e40 100644
--- a/tests/test-daap-record.c
+++ b/tests/test-daap-record.c
@@ -25,16 +25,16 @@
struct TestDAAPRecordPrivate {
gint filesize;
gint rating;
- const char *location;
- const char *title;
- const char *format;
- const char *album;
- const char *artist;
+ char *location;
+ char *title;
+ char *format;
+ char *album;
+ char *artist;
gulong bitrate;
gint32 firstseen;
gint32 mtime;
gint32 disc;
- const char *genre;
+ char *genre;
gint32 duration;
gint32 track;
gint32 year;
@@ -208,6 +208,8 @@ test_daap_record_init (TestDAAPRecord *record)
record->priv = TEST_DAAP_RECORD_GET_PRIVATE (record);
}
+static void test_daap_record_finalize (GObject *object);
+
static void
test_daap_record_class_init (TestDAAPRecordClass *klass)
{
@@ -217,6 +219,7 @@ test_daap_record_class_init (TestDAAPRecordClass *klass)
gobject_class->set_property = test_daap_record_set_property;
gobject_class->get_property = test_daap_record_get_property;
+ gobject_class->finalize = test_daap_record_finalize;
g_object_class_override_property (gobject_class, PROP_LOCATION, "location");
g_object_class_override_property (gobject_class, PROP_TITLE, "title");
@@ -265,6 +268,21 @@ G_DEFINE_TYPE_WITH_CODE (TestDAAPRecord, test_daap_record, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (TYPE_DAAP_RECORD, test_daap_record_daap_iface_init)
G_IMPLEMENT_INTERFACE (TYPE_DMAP_RECORD, test_daap_record_dmap_iface_init))
+static void
+test_daap_record_finalize (GObject *object)
+{
+ TestDAAPRecord *record = TEST_DAAP_RECORD (object);
+
+ g_free (record->priv->location);
+ g_free (record->priv->title);
+ g_free (record->priv->format);
+ g_free (record->priv->album);
+ g_free (record->priv->artist);
+ g_free (record->priv->genre);
+
+ G_OBJECT_CLASS (test_daap_record_parent_class)->finalize (object);
+}
+
TestDAAPRecord *test_daap_record_new (void)
{
@@ -275,11 +293,11 @@ TestDAAPRecord *test_daap_record_new (void)
record->priv->location = g_strdup_printf ("file://%s/media/test.mp3", g_get_current_dir ());
- record->priv->title = "FIXME";
+ record->priv->title = g_strdup ("Unknown");
- record->priv->album = "FIXME";
+ record->priv->album = g_strdup ("Unknown");
- record->priv->artist = "FIXME";
+ record->priv->artist = g_strdup ("Unknown");
record->priv->bitrate = 128;
@@ -289,7 +307,7 @@ TestDAAPRecord *test_daap_record_new (void)
record->priv->disc = 1;
- record->priv->genre = "Blues";
+ record->priv->genre = g_strdup ("Unknown");
ext = strrchr (record->priv->location, '.');
if (ext == NULL) {
diff --git a/tests/test-dpap-record.c b/tests/test-dpap-record.c
index 4096145..3374e06 100644
--- a/tests/test-dpap-record.c
+++ b/tests/test-dpap-record.c
@@ -27,12 +27,12 @@ struct TestDPAPRecordPrivate {
gint pixelwidth;
gint rating;
gint creationdate;
- const char *location;
- const char *title;
- const char *aspectratio;
- const char *filename;
- const char *format;
- const char *comments;
+ char *location;
+ char *title;
+ char *aspectratio;
+ char *filename;
+ char *format;
+ char *comments;
unsigned char *thumbnail;
};
@@ -168,6 +168,8 @@ test_dpap_record_init (TestDPAPRecord *record)
record->priv = TEST_DPAP_RECORD_GET_PRIVATE (record);
}
+static void test_dpap_record_finalize (GObject *object);
+
static void
test_dpap_record_class_init (TestDPAPRecordClass *klass)
{
@@ -177,6 +179,7 @@ test_dpap_record_class_init (TestDPAPRecordClass *klass)
gobject_class->set_property = test_dpap_record_set_property;
gobject_class->get_property = test_dpap_record_get_property;
+ gobject_class->finalize = test_dpap_record_finalize;
g_object_class_override_property (gobject_class, PROP_FILESIZE, "filesize");
g_object_class_override_property (gobject_class, PROP_LARGE_FILESIZE, "large-filesize");
@@ -214,6 +217,22 @@ G_DEFINE_TYPE_WITH_CODE (TestDPAPRecord, test_dpap_record, G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (TYPE_DPAP_RECORD, test_dpap_record_dpap_iface_init)
G_IMPLEMENT_INTERFACE (TYPE_DMAP_RECORD, test_dpap_record_dmap_iface_init))
+static void
+test_dpap_record_finalize (GObject *object)
+{
+ TestDPAPRecord *record = TEST_DPAP_RECORD (object);
+
+ g_free (record->priv->location);
+ g_free (record->priv->title);
+ g_free (record->priv->aspectratio);
+ g_free (record->priv->filename);
+ g_free (record->priv->format);
+ g_free (record->priv->comments);
+ g_free (record->priv->thumbnail);
+
+ G_OBJECT_CLASS (test_dpap_record_parent_class)->finalize (object);
+}
+
TestDPAPRecord *
test_dpap_record_new (void)
{
@@ -229,16 +248,16 @@ test_dpap_record_new (void)
record->priv->location = g_strdup_printf ("file://%s/media/test.jpeg",
g_get_current_dir ());
- record->priv->title = "Title of Photograph";
+ record->priv->title = g_strdup ("Title of Photograph");
/* Width / Height as a string. */
- record->priv->aspectratio = "1.333";
+ record->priv->aspectratio = g_strdup ("1.333");
- record->priv->filename = g_basename (record->priv->location);
+ record->priv->filename = g_path_get_basename (record->priv->location);
- record->priv->format = "JPEG";
+ record->priv->format = g_strdup ("JPEG");
- record->priv->comments = "Test comments about an image.";
+ record->priv->comments = g_strdup ("Test comments about an image.");
record->priv->largefilesize = 13953;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]