X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_update.h;h=1fd5a8593aca6d0f06b34debf5564c207abd8727;hb=470ce70b69e1530173950a8dfd6d274a70caa7bc;hp=f36e4059e53c6b9c1a1938b7f26c847373153b61;hpb=09b9702d80aeb29444eeea7166165f114dee5f41;p=vlc diff --git a/include/vlc_update.h b/include/vlc_update.h index f36e4059e5..1fd5a8593a 100644 --- a/include/vlc_update.h +++ b/include/vlc_update.h @@ -1,10 +1,11 @@ /***************************************************************************** - * vlc_update.h: VLC update and plugins download + * vlc_update.h: VLC update download ***************************************************************************** - * Copyright (C) 2005 the VideoLAN team + * Copyright © 2005-2007 the VideoLAN team * $Id$ * * Authors: Antoine Cellerier + * Rafaël Carré * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,14 +22,13 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. *****************************************************************************/ -#if !defined( __LIBVLC__ ) - #error You are not libvlc or one of its plugins. You cannot include this file -#endif +#ifndef VLC_UPDATE_H +#define VLC_UPDATE_H -#ifndef _VLC_UPDATE_H -#define _VLC_UPDATE_H - -#include +/** + * \file + * This file defines update API in vlc + */ /** * \defgroup update Update @@ -36,12 +36,7 @@ * @{ */ -enum -{ - UpdateReleaseStatusOlder, - UpdateReleaseStatusEqual, - UpdateReleaseStatusNewer -}; +#ifdef UPDATE_CHECK /** * Describes an update VLC release number @@ -51,32 +46,25 @@ struct update_release_t int i_major; ///< Version major int i_minor; ///< Version minor int i_revision; ///< Version revision - char* psz_svnrev; ///< SVN revision - char* psz_extra; ///< Version extra + unsigned char extra;///< Version extra char* psz_url; ///< Download URL char* psz_desc; ///< Release description }; -/** - * The update object. Stores (and caches) all information relative to updates - */ -struct update_t -{ - libvlc_int_t *p_libvlc; - vlc_mutex_t lock; - struct update_release_t release; ///< Release (version) -}; - +#endif /* UPDATE_CHECK */ -#define update_New( a ) __update_New( VLC_OBJECT( a ) ) +typedef struct update_release_t update_release_t; -VLC_EXPORT( update_t *, __update_New, ( vlc_object_t * ) ); +VLC_EXPORT( update_t *, update_New, ( vlc_object_t * ) ); +#define update_New( a ) update_New( VLC_OBJECT( a ) ) VLC_EXPORT( void, update_Delete, ( update_t * ) ); -VLC_EXPORT( void, update_Check, ( update_t * ) ); -VLC_EXPORT( int, update_CompareReleaseToCurrent, ( update_t * ) ); +VLC_EXPORT( void, update_Check, ( update_t *, void (*callback)( void*, bool ), void * ) ); +VLC_EXPORT( bool, update_NeedUpgrade, ( update_t * ) ); +VLC_EXPORT( void, update_Download, ( update_t *, const char* ) ); +VLC_EXPORT( update_release_t*, update_GetRelease, ( update_t * ) ); /** * @} */ -#endif +#endif /* _VLC_UPDATE_H */