XMMS2
src/include/xmmsc/xmmsv_util.h
Go to the documentation of this file.
00001 /*  XMMS2 - X Music Multiplexer System
00002  *  Copyright (C) 2003-2011 XMMS2 Team
00003  *
00004  *  PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
00005  *
00006  *  This library is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU Lesser General Public
00008  *  License as published by the Free Software Foundation; either
00009  *  version 2.1 of the License, or (at your option) any later version.
00010  *
00011  *  This library is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  *  Lesser General Public License for more details.
00015  */
00016 
00017 
00018 #ifndef __XMMSV_UTIL_H__
00019 #define __XMMSV_UTIL_H__
00020 
00021 #include "xmmsc/xmmsv_general.h"
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 /**
00028  * @defgroup UtilValueType Utilities
00029  * @ingroup ValueType
00030  * @{
00031  */
00032 
00033 #define xmmsv_check_type(type) ((type) > XMMSV_TYPE_NONE && (type) < XMMSV_TYPE_END)
00034 
00035 xmmsv_t *xmmsv_decode_url (const xmmsv_t *url);
00036 
00037 int xmmsv_utf8_validate (const char *str);
00038 
00039 xmmsv_t *xmmsv_make_stringlist (char *array[], int num);
00040 
00041 xmmsv_t *xmmsv_propdict_to_dict (xmmsv_t *propdict, const char **src_prefs);
00042 
00043 int xmmsv_dict_format (char *target, int len, const char *fmt, xmmsv_t *val);
00044 
00045 xmmsv_t *xmmsv_serialize (xmmsv_t *v);
00046 xmmsv_t *xmmsv_deserialize (xmmsv_t *v);
00047 
00048 /** @} */
00049 
00050 #ifdef __cplusplus
00051 }
00052 #endif
00053 
00054 #endif