diff options
author | Mark Ryan <mark.d.ryan@intel.com> | 2012-11-14 13:18:10 +0100 |
---|---|---|
committer | Mark Ryan <mark.d.ryan@intel.com> | 2012-11-14 13:18:10 +0100 |
commit | e97a49176d8a41aad6f64eee854510bad90743ee (patch) | |
tree | 71e7ba5f47b3b40d8ff7c9b8db45e9fa4fbaac15 /libgupnp-dlna/gupnp-dlna-discoverer.h | |
download | GUPnP-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.h | 116 |
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 */ |