* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+#if !defined( __LIBVLC__ )
+ #error You are not libvlc or one of its plugins. You cannot include this file
+#endif
+
/**
* \file
* This file defines the vlc_object_t structure and object types.
*/
/* Object types */
-#define VLC_OBJECT_ROOT (-1)
+#define VLC_OBJECT_GLOBAL (-1)
#define VLC_OBJECT_LIBVLC (-2)
#define VLC_OBJECT_MODULE (-3)
#define VLC_OBJECT_INTF (-4)
*****************************************************************************/
VLC_EXPORT( void *, __vlc_object_create, ( vlc_object_t *, int ) );
VLC_EXPORT( void, __vlc_object_destroy, ( vlc_object_t * ) );
+VLC_EXPORT( void, __vlc_object_kill, ( vlc_object_t * ) );
+VLC_EXPORT( vlc_bool_t, __vlc_object_dying_unlocked, ( vlc_object_t * ) );
+VLC_EXPORT( vlc_bool_t, __vlc_object_dying, ( vlc_object_t * ) );
VLC_EXPORT( void, __vlc_object_attach, ( vlc_object_t *, vlc_object_t * ) );
VLC_EXPORT( void, __vlc_object_detach, ( vlc_object_t * ) );
VLC_EXPORT( void *, __vlc_object_get, ( vlc_object_t *, int ) );
VLC_EXPORT( void *, __vlc_object_find, ( vlc_object_t *, int, int ) );
+VLC_EXPORT( void *, __vlc_object_find_name, ( vlc_object_t *, const char *, int ) );
VLC_EXPORT( void, __vlc_object_yield, ( vlc_object_t * ) );
VLC_EXPORT( void, __vlc_object_release, ( vlc_object_t * ) );
VLC_EXPORT( vlc_list_t *, __vlc_list_find, ( vlc_object_t *, int, int ) );
VLC_EXPORT( void, vlc_list_release, ( vlc_list_t * ) );
VLC_EXPORT( libvlc_int_t *, vlc_current_object, ( int ) );
+#if defined( WIN32 ) || defined( SYS_BEOS ) || defined( __APPLE__ )
+VLC_EXPORT( const char *, vlc_path, ( vlc_object_t * ) );
+#endif
+
/*}@*/
#define vlc_object_create(a,b) \
__vlc_object_destroy( VLC_OBJECT(a) ); \
(a) = NULL; } while(0)
+#define vlc_object_kill(a) \
+ __vlc_object_kill( VLC_OBJECT(a) )
+
#define vlc_object_detach(a) \
__vlc_object_detach( VLC_OBJECT(a) )
#define vlc_object_find(a,b,c) \
__vlc_object_find( VLC_OBJECT(a),b,c)
+#define vlc_object_find_name(a,b,c) \
+ __vlc_object_find_name( VLC_OBJECT(a),b,c)
+
#define vlc_object_yield(a) \
__vlc_object_yield( VLC_OBJECT(a) )