vlc_update.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * vlc_update.h: VLC update download
00003  *****************************************************************************
00004  * Copyright © 2005-2007 VLC authors and VideoLAN
00005  * $Id: f7592212e7c5cc768e13ab835ad8132f92559fa4 $
00006  *
00007  * Authors: Antoine Cellerier <dionoea -at- videolan -dot- org>
00008  *          Rafaël Carré <funman@videolanorg>
00009  *
00010  * This program is free software; you can redistribute it and/or modify it
00011  * under the terms of the GNU Lesser General Public License as published by
00012  * the Free Software Foundation; either release 2 of the License, or
00013  * (at your option) any later release.
00014  *
00015  * This program is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00018  * GNU Lesser General Public License for more details.
00019  *
00020  * You should have received a copy of the GNU Lesser General Public License
00021  * along with this program; if not, write to the Free Software Foundation,
00022  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00023  *****************************************************************************/
00024 
00025 #ifndef VLC_UPDATE_H
00026 #define VLC_UPDATE_H
00027 
00028 /**
00029  * \file
00030  * This file defines update API in vlc
00031  */
00032 
00033 /**
00034  * \defgroup update Update
00035  *
00036  * @{
00037  */
00038 
00039 #ifdef UPDATE_CHECK
00040 
00041 /**
00042  * Describes an update VLC release number
00043  */
00044 struct update_release_t
00045 {
00046     int i_major;        ///< Version major
00047     int i_minor;        ///< Version minor
00048     int i_revision;     ///< Version revision
00049     int i_extra;        ///< Version extra
00050     char* psz_url;      ///< Download URL
00051     char* psz_desc;     ///< Release description
00052 };
00053 
00054 #endif /* UPDATE_CHECK */
00055 
00056 typedef struct update_release_t update_release_t;
00057 
00058 VLC_API update_t * update_New( vlc_object_t * );
00059 #define update_New( a ) update_New( VLC_OBJECT( a ) )
00060 VLC_API void update_Delete( update_t * );
00061 VLC_API void update_Check( update_t *, void (*callback)( void*, bool ), void * );
00062 VLC_API bool update_NeedUpgrade( update_t * );
00063 VLC_API void update_Download( update_t *, const char* );
00064 VLC_API update_release_t* update_GetRelease( update_t * );
00065 
00066 /**
00067  * @}
00068  */
00069 
00070 #endif /* _VLC_UPDATE_H */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines