]> git.sesse.net Git - vlc/blobdiff - include/variables.h
Don't try IPv6 SSM if not defined
[vlc] / include / variables.h
index 210e14c62a97ecfb22ab48930cf88fbead1bd295..9c8c0e89cff8e83ee83ac8c1a1f1e384d85720fa 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * variables.h: variables handling
  *****************************************************************************
- * Copyright (C) 2002-2004 VideoLAN
+ * Copyright (C) 2002-2004 the VideoLAN team
  * $Id$
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
@@ -19,7 +19,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 /**
@@ -87,26 +87,6 @@ struct variable_t
 #define VLC_VAR_TYPE      0x00ff
 #define VLC_VAR_FLAGS     0xff00
 
-/**
- * \defgroup var_type Variable types
- * These are the different types a vlc variable can have.
- * @{
- */
-#define VLC_VAR_VOID      0x0010
-#define VLC_VAR_BOOL      0x0020
-#define VLC_VAR_INTEGER   0x0030
-#define VLC_VAR_HOTKEY    0x0031
-#define VLC_VAR_STRING    0x0040
-#define VLC_VAR_MODULE    0x0041
-#define VLC_VAR_FILE      0x0042
-#define VLC_VAR_DIRECTORY 0x0043
-#define VLC_VAR_VARIABLE  0x0044
-#define VLC_VAR_FLOAT     0x0050
-#define VLC_VAR_TIME      0x0060
-#define VLC_VAR_ADDRESS   0x0070
-#define VLC_VAR_MUTEX     0x0080
-#define VLC_VAR_LIST      0x0090
-/**@}*/
 /** \defgroup var_flags Additive flags
  * These flags are added to the type field of the variable. Most as a result of
  * a __var_Change() call, but some may be added at creation time
@@ -183,6 +163,9 @@ VLC_EXPORT( int, __var_Type, ( vlc_object_t *, const char * ) );
 VLC_EXPORT( int, __var_Set, ( vlc_object_t *, const char *, vlc_value_t ) );
 VLC_EXPORT( int, __var_Get, ( vlc_object_t *, const char *, vlc_value_t * ) );
 
+#define var_OptionParse(a,b) __var_OptionParse( VLC_OBJECT( a ) , b )
+VLC_EXPORT( void, __var_OptionParse, ( vlc_object_t *, const char * ) );
+
 /**
  * __var_Create() with automatic casting.
  */
@@ -249,13 +232,13 @@ static inline int __var_SetInteger( vlc_object_t *p_obj, const char *psz_name, i
     val.i_int = i;
     return __var_Set( p_obj, psz_name, val );
 }
-
+#define var_SetInteger(a,b,c)   __var_SetInteger( VLC_OBJECT(a),b,c)
 /**
  * Set the value of an boolean variable
  *
  * \param p_obj The object that holds the variable
  * \param psz_name The name of the variable
- * \param i The new integer value of this variable
+ * \param b The new boolean value of this variable
  */
 static inline int __var_SetBool( vlc_object_t *p_obj, const char *psz_name, vlc_bool_t b )
 {
@@ -299,10 +282,10 @@ static inline int __var_SetFloat( vlc_object_t *p_obj, const char *psz_name, flo
  * \param psz_name The name of the variable
  * \param psz_string The new string value of this variable
  */
-static inline int __var_SetString( vlc_object_t *p_obj, const char *psz_name, char *psz_string )
+static inline int __var_SetString( vlc_object_t *p_obj, const char *psz_name, const char *psz_string )
 {
     vlc_value_t val;
-    val.psz_string = psz_string;
+    val.psz_string = (char *)psz_string;
     return __var_Set( p_obj, psz_name, val );
 }
 
@@ -318,11 +301,8 @@ static inline int __var_SetVoid( vlc_object_t *p_obj, const char *psz_name )
     val.b_bool = VLC_TRUE;
     return __var_Set( p_obj, psz_name, val );
 }
+#define var_SetVoid(a,b)        __var_SetVoid( VLC_OBJECT(a),b)
 
-/**
- * __var_SetInteger() with automatic casting
- */
-#define var_SetInteger(a,b,c)   __var_SetInteger( VLC_OBJECT(a),b,c)
 /**
  * __var_SetBool() with automatic casting
  */
@@ -340,20 +320,16 @@ static inline int __var_SetVoid( vlc_object_t *p_obj, const char *psz_name )
  * __var_SetString() with automatic casting
  */
 #define var_SetString(a,b,c)     __var_SetString( VLC_OBJECT(a),b,c)
-/**
- * __var_SetVoid() with automatic casting
- */
-#define var_SetVoid(a,b)        __var_SetVoid( VLC_OBJECT(a),b)
 
 /**
- * Get a integer value
- *
+ * Get an integer value
+*
  * \param p_obj The object that holds the variable
  * \param psz_name The name of the variable
  */
 static inline int __var_GetInteger( vlc_object_t *p_obj, const char *psz_name )
 {
-    vlc_value_t val;
+    vlc_value_t val;val.i_int = 0;
     if( !__var_Get( p_obj, psz_name, &val ) )
         return val.i_int;
     else
@@ -368,7 +344,7 @@ static inline int __var_GetInteger( vlc_object_t *p_obj, const char *psz_name )
  */
 static inline int __var_GetBool( vlc_object_t *p_obj, const char *psz_name )
 {
-    vlc_value_t val;
+    vlc_value_t val; val.b_bool = VLC_FALSE;
     if( !__var_Get( p_obj, psz_name, &val ) )
         return val.b_bool;
     else
@@ -383,7 +359,7 @@ static inline int __var_GetBool( vlc_object_t *p_obj, const char *psz_name )
  */
 static inline int64_t __var_GetTime( vlc_object_t *p_obj, const char *psz_name )
 {
-    vlc_value_t val;
+    vlc_value_t val; val.i_time = 0L;
     if( !__var_Get( p_obj, psz_name, &val ) )
         return val.i_time;
     else
@@ -398,7 +374,7 @@ static inline int64_t __var_GetTime( vlc_object_t *p_obj, const char *psz_name )
  */
 static inline float __var_GetFloat( vlc_object_t *p_obj, const char *psz_name )
 {
-    vlc_value_t val;
+    vlc_value_t val; val.f_float = 0.0;
     if( !__var_Get( p_obj, psz_name, &val ) )
         return val.f_float;
     else
@@ -413,7 +389,7 @@ static inline float __var_GetFloat( vlc_object_t *p_obj, const char *psz_name )
  */
 static inline char *__var_GetString( vlc_object_t *p_obj, const char *psz_name )
 {
-    vlc_value_t val;
+    vlc_value_t val; val.psz_string = NULL;
     if( !__var_Get( p_obj, psz_name, &val ) )
         return val.psz_string;
     else
@@ -442,6 +418,31 @@ static inline char *__var_GetString( vlc_object_t *p_obj, const char *psz_name )
 #define var_GetString(a,b)   __var_GetString( VLC_OBJECT(a),b)
 
 
+
+/**
+ * Increment an integer variable
+ * \param p_obj the object that holds the variable
+ * \param psz_name the name of the variable
+ */
+static inline void __var_IncInteger( vlc_object_t *p_obj, const char *psz_name )
+{
+    int i_val = __var_GetInteger( p_obj, psz_name );
+    __var_SetInteger( p_obj, psz_name, ++i_val );
+}
+#define var_IncInteger(a,b) __var_IncInteger( VLC_OBJECT(a), b )
+
+/**
+ * Decrement an integer variable
+ * \param p_obj the object that holds the variable
+ * \param psz_name the name of the variable
+ */
+static inline void __var_DecInteger( vlc_object_t *p_obj, const char *psz_name )
+{
+    int i_val = __var_GetInteger( p_obj, psz_name );
+    __var_SetInteger( p_obj, psz_name, --i_val );
+}
+#define var_DecInteger(a,b) __var_DecInteger( VLC_OBJECT(a), b )
+
 /**
  * Create a integer variable with inherit and get its value.
  *