libvlc_media_discoverer.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * libvlc_media_discoverer.h:  libvlc external API
00003  *****************************************************************************
00004  * Copyright (C) 1998-2009 VLC authors and VideoLAN
00005  * $Id: cf263b0536d9b19e725e039f12ef20eaa392fec3 $
00006  *
00007  * Authors: Clément Stenac <zorglub@videolan.org>
00008  *          Jean-Paul Saman <jpsaman@videolan.org>
00009  *          Pierre d'Herbemont <pdherbemont@videolan.org>
00010  *
00011  * This program is free software; you can redistribute it and/or modify it
00012  * under the terms of the GNU Lesser General Public License as published by
00013  * the Free Software Foundation; either version 2.1 of the License, or
00014  * (at your option) any later version.
00015  *
00016  * This program is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00019  * GNU Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser General Public License
00022  * along with this program; if not, write to the Free Software Foundation,
00023  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00024  *****************************************************************************/
00025 
00026 /**
00027  * \file
00028  * This file defines libvlc_media_discoverer external API
00029  */
00030 
00031 #ifndef VLC_LIBVLC_MEDIA_DISCOVERER_H
00032 #define VLC_LIBVLC_MEDIA_DISCOVERER_H 1
00033 
00034 # ifdef __cplusplus
00035 extern "C" {
00036 # endif
00037 
00038 /** \defgroup libvlc_media_discoverer LibVLC media discovery
00039  * \ingroup libvlc
00040  * LibVLC media discovery finds available media via various means.
00041  * This corresponds to the service discovery functionality in VLC media player.
00042  * Different plugins find potential medias locally (e.g. user media directory),
00043  * from peripherals (e.g. video capture device), on the local network
00044  * (e.g. SAP) or on the Internet (e.g. Internet radios).
00045  * @{
00046  */
00047 
00048 typedef struct libvlc_media_discoverer_t libvlc_media_discoverer_t;
00049 
00050 /**
00051  * Discover media service by name.
00052  *
00053  * \param p_inst libvlc instance
00054  * \param psz_name service name
00055  * \return media discover object or NULL in case of error
00056  */
00057 LIBVLC_API libvlc_media_discoverer_t *
00058 libvlc_media_discoverer_new_from_name( libvlc_instance_t * p_inst,
00059                                        const char * psz_name );
00060 
00061 /**
00062  * Release media discover object. If the reference count reaches 0, then
00063  * the object will be released.
00064  *
00065  * \param p_mdis media service discover object
00066  */
00067 LIBVLC_API void   libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis );
00068 
00069 /**
00070  * Get media service discover object its localized name.
00071  *
00072  * \param p_mdis media discover object
00073  * \return localized name
00074  */
00075 LIBVLC_API char * libvlc_media_discoverer_localized_name( libvlc_media_discoverer_t * p_mdis );
00076 
00077 /**
00078  * Get media service discover media list.
00079  *
00080  * \param p_mdis media service discover object
00081  * \return list of media items
00082  */
00083 LIBVLC_API libvlc_media_list_t * libvlc_media_discoverer_media_list( libvlc_media_discoverer_t * p_mdis );
00084 
00085 /**
00086  * Get event manager from media service discover object.
00087  *
00088  * \param p_mdis media service discover object
00089  * \return event manager object.
00090  */
00091 LIBVLC_API libvlc_event_manager_t *
00092         libvlc_media_discoverer_event_manager( libvlc_media_discoverer_t * p_mdis );
00093 
00094 /**
00095  * Query if media service discover object is running.
00096  *
00097  * \param p_mdis media service discover object
00098  * \return true if running, false if not
00099  *
00100  * \libvlc_return_bool
00101  */
00102 LIBVLC_API int
00103         libvlc_media_discoverer_is_running( libvlc_media_discoverer_t * p_mdis );
00104 
00105 /**@} */
00106 
00107 # ifdef __cplusplus
00108 }
00109 # endif
00110 
00111 #endif /* <vlc/libvlc.h> */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines