/* divers */
typedef struct vlc_meta_t vlc_meta_t;
+typedef struct meta_export_t meta_export_t;
/* Stats */
typedef struct counter_t counter_t;
#if defined (WIN32) && defined (DLL_EXPORT)
# ifdef __cplusplus
# define VLC_PUBLIC_API __declspec(dllexport)
+# define VLC_PRIVATE_API __declspec(dllexport)
# define VLC_EXPORT( type, name, args ) extern "C" __declspec(dllexport) type name args
# define VLC_INTERNAL( type, name, args ) extern "C" type name args
# else
# define VLC_PUBLIC_API extern __declspec(dllexport)
+# define VLC_PRIVATE_API extern __declspec(dllexport)
# define VLC_EXPORT( type, name, args ) __declspec(dllexport) type name args
# define VLC_INTERNAL( type, name, args ) type name args
# endif
#else
-# if !defined (__PLUGIN__) || defined (HAVE_SHARED_LIBVLC)
-# ifdef __cplusplus
-# if HAVE_ATTRIBUTE_VISIBILITY
-# define VLC_PUBLIC_API __attribute__((visibility("default")))
-# define VLC_EXPORT( type, name, args ) extern "C" __attribute__((visibility("default"))) type name args
-# define VLC_INTERNAL( type, name, args ) extern "C" __attribute__((visibility("hidden"))) type name args
-# else
-# define VLC_PUBLIC_API
-# define VLC_EXPORT( type, name, args ) extern "C" type name args
-# define VLC_INTERNAL( type, name, args ) extern "C" type name args
-# endif
+# ifdef __cplusplus
+# if HAVE_ATTRIBUTE_VISIBILITY
+# define VLC_PUBLIC_API __attribute__((visibility("default")))
+# define VLC_PRIVATE_API __attribute__((visibility("default")))
+# define VLC_EXPORT( type, name, args ) extern "C" __attribute__((visibility("default"))) type name args
+# define VLC_INTERNAL( type, name, args ) extern "C" __attribute__((visibility("hidden"))) type name args
# else
-# if HAVE_ATTRIBUTE_VISIBILITY
-# define VLC_PUBLIC_API extern __attribute__((visibility("default")))
-# define VLC_EXPORT( type, name, args ) __attribute__((visibility("default"))) type name args
-# define VLC_INTERNAL( type, name, args ) __attribute__((visibility("hidden"))) type name args
-# else
-# define VLC_PUBLIC_API extern
-# define VLC_EXPORT( type, name, args ) type name args
-# define VLC_INTERNAL( type, name, args ) type name args
-# endif
+# define VLC_PUBLIC_API
+# define VLC_EXPORT( type, name, args ) extern "C" type name args
+# define VLC_INTERNAL( type, name, args ) extern "C" type name args
# endif
# else
-# define VLC_PUBLIC_API
-# define VLC_EXPORT( type, name, args ) struct _u_n_u_s_e_d_
-# define VLC_INTERNAL( type, name, args ) struct _u_n_u_s_e_d_
- extern module_symbols_t* p_symbols;
+# if HAVE_ATTRIBUTE_VISIBILITY
+# define VLC_PUBLIC_API extern __attribute__((visibility("default")))
+# define VLC_PRIVATE_API extern __attribute__((visibility("default")))
+# define VLC_EXPORT( type, name, args ) __attribute__((visibility("default"))) type name args
+# define VLC_INTERNAL( type, name, args ) __attribute__((visibility("hidden"))) type name args
+# else
+# define VLC_PUBLIC_API extern
+# define VLC_PRIVATE_API extern
+# define VLC_EXPORT( type, name, args ) type name args
+# define VLC_INTERNAL( type, name, args ) type name args
+# endif
# endif
#endif
#include "vlc_threads.h"
+typedef struct vlc_object_internals_t vlc_object_internals_t;
+
/*****************************************************************************
* Common structure members
*****************************************************************************/
* these members are common for all vlc objects \
*/ \
/**@{*/ \
+ vlc_object_internals_t *p_internals; \
int i_object_id; \
int i_object_type; \
const char *psz_object_type; \
VLC_INTERNAL( void, vlc_seekdir, ( void *, long ) );
VLC_INTERNAL( long, vlc_telldir, ( void * ) );
#else
- struct dirent; /* forward declaration for vlc_symbols.h */
# if !defined(__PLUGIN__)
# define vlc_opendir NULL
# define vlc_readdir NULL
/*****************************************************************************
* I18n stuff
*****************************************************************************/
-#if defined (WIN32) || !defined (HAVE_SHARED_LIBVLC)
+#ifdef WIN32
VLC_EXPORT( char *, vlc_dgettext, ( const char *package, const char *msgid ) );
#endif
# include <libintl.h>
# endif
# undef _
-# if defined (WIN32) || !defined (HAVE_SHARED_LIBVLC)
+# ifdef WIN32
# define _(String) vlc_dgettext (PACKAGE_NAME, String)
# else
# define _(String) dgettext(PACKAGE_NAME, String)
/*****************************************************************************
* Additional vlc stuff
*****************************************************************************/
-#ifndef HAVE_SHARED_LIBVLC
-# ifdef HAVE_DIRENT_H
-# include <dirent.h> /* for DIR typedef in vlc_symbols.h */
-# endif
-# include "vlc_symbols.h"
-#endif
#include "vlc_os_specific.h"
#include "vlc_messages.h"
#include "vlc_variables.h"