]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
Add more ignores.
[vlc] / src / libvlc.h
index c83e25d476cb7b747f645b5a0c5cfaaebf6fa372..06385dd2637065ad784e59c3b80fe1c2de49d4b6 100644 (file)
 
 extern const char vlc_usage[];
 
-extern const module_config_t libvlc_config[];
-extern const size_t libvlc_config_count;
-
 extern const struct hotkey libvlc_hotkeys[];
 extern const size_t libvlc_hotkeys_size;
 
 
+/*
+ * OS-specific initialization
+ */
+void system_Init      ( libvlc_int_t *, int *, const char *[] );
+void system_Configure ( libvlc_int_t *, int *, const char *[] );
+void system_End       ( libvlc_int_t * );
+
+#if defined( SYS_BEOS )
+/* Nothing at the moment, create beos_specific.h when needed */
+#elif defined( __APPLE__ )
+/* Nothing at the moment, create darwin_specific.h when needed */
+#elif defined( WIN32 ) || defined( UNDER_CE )
+VLC_EXPORT( const char * , system_VLCPath, (void));
+#else
+# define system_Init( a, b, c )      (void)0
+# define system_Configure( a, b, c ) (void)0
+# define system_End( a )             (void)0
+#endif
+
+
 /*
  * Threads subsystem
  */
@@ -49,8 +66,6 @@ uint32_t CPUCapabilities( void );
 /*
  * Unicode stuff
  */
-int utf8_mkdir( const char *filename );
-
 
 /*
  * LibVLC objects stuff
@@ -113,14 +128,83 @@ struct vlc_object_internals_t
     vlc_thread_t    thread_id;
     vlc_bool_t      b_thread;
 
+    /* Objects thread synchronization */
+    int             pipes[2];
+    vlc_spinlock_t  spin;
+
     /* Objects management */
+    unsigned        i_refcount;
     vlc_bool_t      b_attached;
 };
 
+#define ZOOM_SECTION N_("Zoom")
+#define ZOOM_QUARTER_KEY_TEXT N_("1:4 Quarter")
+#define ZOOM_HALF_KEY_TEXT N_("1:2 Half")
+#define ZOOM_ORIGINAL_KEY_TEXT N_("1:1 Original")
+#define ZOOM_DOUBLE_KEY_TEXT N_("2:1 Double")
 
 static inline vlc_object_internals_t *vlc_internals( vlc_object_t *obj )
 {
     return obj->p_internals;
 }
 
+/*
+ * Configuration stuff
+ */
+#if 0
+struct module_config_t
+{
+    int          i_type;                               /* Configuration type */
+    const char  *psz_type;                          /* Configuration subtype */
+    const char  *psz_name;                                    /* Option name */
+    char         i_short;                      /* Optional short option name */
+    const char  *psz_text;      /* Short comment on the configuration option */
+    const char  *psz_longtext;   /* Long comment on the configuration option */
+    module_value_t value;                                    /* Option value */
+    module_value_t orig;
+    module_value_t saved;
+    module_nvalue_t min;
+    module_nvalue_t max;
+
+    /* Function to call when commiting a change */
+    vlc_callback_t pf_callback;
+    void          *p_callback_data;
+
+    /* Values list */
+    const char **ppsz_list;       /* List of possible values for the option */
+    int         *pi_list;                              /* Idem for integers */
+    const char **ppsz_list_text;          /* Friendly names for list values */
+    int          i_list;                               /* Options list size */
+
+    /* Actions list */
+    vlc_callback_t *ppf_action;    /* List of possible actions for a config */
+    const char    **ppsz_action_text;         /* Friendly names for actions */
+    int            i_action;                           /* actions list size */
+
+    /* Misc */
+    vlc_mutex_t *p_lock;            /* Lock to use when modifying the config */
+    vlc_bool_t   b_dirty;          /* Dirty flag to indicate a config change */
+    vlc_bool_t   b_advanced;          /* Flag to indicate an advanced option */
+    vlc_bool_t   b_internal;   /* Flag to indicate option is not to be shown */
+    vlc_bool_t   b_restart;   /* Flag to indicate the option needs a restart */
+                              /* to take effect */
+
+    /* Deprecated */
+    const char    *psz_current;                         /* Good option name */
+    vlc_bool_t     b_strict;                     /* Transitionnal or strict */
+
+    /* Option values loaded from config file */
+    vlc_bool_t   b_autosave;      /* Config will be auto-saved at exit time */
+    vlc_bool_t   b_unsaveable;                    /* Config should be saved */
+};
+#endif
+
+extern module_config_t libvlc_config[];
+extern const size_t libvlc_config_count;
+
+/*
+ * Variables stuff
+ */
+void var_OptionParse (vlc_object_t *, const char *);
+
 #endif