summaryrefslogtreecommitdiff
path: root/libgupnp-dlna/gupnp-dlna-discoverer.h
diff options
context:
space:
mode:
authorMark Ryan <mark.d.ryan@intel.com>2012-11-14 13:18:10 +0100
committerMark Ryan <mark.d.ryan@intel.com>2012-11-14 13:18:10 +0100
commite97a49176d8a41aad6f64eee854510bad90743ee (patch)
tree71e7ba5f47b3b40d8ff7c9b8db45e9fa4fbaac15 /libgupnp-dlna/gupnp-dlna-discoverer.h
downloadGUPnP-DLNA-e97a49176d8a41aad6f64eee854510bad90743ee.tar.gz
GUPnP-DLNA-e97a49176d8a41aad6f64eee854510bad90743ee.tar.bz2
GUPnP-DLNA-e97a49176d8a41aad6f64eee854510bad90743ee.zip
Initial Submission of GUPnP-DLNA to Tizen IVIsubmit/2.0alpha/20121126.135509
Submitting version 0.6.6 ( fae1d4e )
Diffstat (limited to 'libgupnp-dlna/gupnp-dlna-discoverer.h')
-rw-r--r--libgupnp-dlna/gupnp-dlna-discoverer.h116
1 files changed, 116 insertions, 0 deletions
diff --git a/libgupnp-dlna/gupnp-dlna-discoverer.h b/libgupnp-dlna/gupnp-dlna-discoverer.h
new file mode 100644
index 0000000..bdf9e45
--- /dev/null
+++ b/libgupnp-dlna/gupnp-dlna-discoverer.h
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2010 Nokia Corporation.
+ *
+ * Authors: Arun Raghavan <arun.raghavan@collabora.co.uk>
+ *
+ * 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 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., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _GUPNP_DLNA_DISCOVERER
+#define _GUPNP_DLNA_DISCOVERER
+
+#include <glib-object.h>
+#include <gst/pbutils/pbutils.h>
+#include "gupnp-dlna-information.h"
+#include "gupnp-dlna-profile.h"
+
+G_BEGIN_DECLS
+
+#define GUPNP_TYPE_DLNA_DISCOVERER gupnp_dlna_discoverer_get_type()
+
+#define GUPNP_DLNA_DISCOVERER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ GUPNP_TYPE_DLNA_DISCOVERER, \
+ GUPnPDLNADiscoverer))
+
+#define GUPNP_DLNA_DISCOVERER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), \
+ GUPNP_TYPE_DLNA_DISCOVERER, \
+ GUPnPDLNADiscovererClass))
+
+#define GUPNP_IS_DLNA_DISCOVERER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ GUPNP_TYPE_DLNA_DISCOVERER))
+
+#define GUPNP_IS_DLNA_DISCOVERER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ GUPNP_TYPE_DLNA_DISCOVERER))
+
+#define GUPNP_DLNA_DISCOVERER_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+ GUPNP_TYPE_DLNA_DISCOVERER, \
+ GUPnPDLNADiscovererClass))
+
+/**
+ * GUPnPDLNADiscoverer:
+ *
+ * The top-level object used to for metadata extraction.
+ */
+typedef struct {
+ GstDiscoverer parent;
+} GUPnPDLNADiscoverer;
+
+typedef struct {
+ GstDiscovererClass parent_class;
+
+ /*< signals >*/
+ void (*done) (GUPnPDLNADiscoverer *discoverer,
+ GUPnPDLNAInformation *dlna,
+ GError *err);
+
+ /*< private >*/
+ GList *profiles_list[2][2];
+
+} GUPnPDLNADiscovererClass;
+
+GType gupnp_dlna_discoverer_get_type (void);
+
+GUPnPDLNADiscoverer *
+gupnp_dlna_discoverer_new (GstClockTime timeout,
+ gboolean relaxed_mode,
+ gboolean extended_mode);
+
+/* Asynchronous API */
+#define gupnp_dlna_discoverer_start(discoverer) \
+ gst_discoverer_start(GST_DISCOVERER((discoverer)))
+#define gupnp_dlna_discoverer_stop(discoverer) \
+ gst_discoverer_stop(GST_DISCOVERER((discoverer)))
+gboolean
+gupnp_dlna_discoverer_discover_uri (GUPnPDLNADiscoverer *discoverer,
+ const gchar *uri);
+
+/* Synchronous API */
+GUPnPDLNAInformation *
+gupnp_dlna_discoverer_discover_uri_sync (GUPnPDLNADiscoverer *discoverer,
+ const gchar *uri,
+ GError **err);
+
+/* Get a GUPnPDLNAProfile by name */
+GUPnPDLNAProfile *
+gupnp_dlna_discoverer_get_profile (GUPnPDLNADiscoverer *self,
+ const gchar *name);
+
+/* API to list all available profiles */
+const GList *
+gupnp_dlna_discoverer_list_profiles (GUPnPDLNADiscoverer *self);
+gboolean
+gupnp_dlna_discoverer_get_relaxed_mode (GUPnPDLNADiscoverer *self);
+gboolean
+gupnp_dlna_discoverer_get_extended_mode (GUPnPDLNADiscoverer *self);
+
+G_END_DECLS
+
+#endif /* _GUPNP_DLNA_DISCOVERER */