-};
-
-/**
- * The update object. Stores (and caches) all information relative to updates
- */
-struct update_t
-{
- vlc_t *p_vlc;
-
- vlc_mutex_t lock;
-
- struct update_release_t *p_releases; //< Releases (version) list
- int i_releases; //< Number of releases
- vlc_bool_t b_releases; //< True if we have a releases list
-
- struct update_mirror_t *p_mirrors; //< Mirrors list
- int i_mirrors; //< Number of mirrors
- vlc_bool_t b_mirrors; //< True if we have a mirrors list
-};
-
-/**
- * The update iterator structure. Usefull to browse the update object seamlessly
- */
-struct update_iterator_t
-{
- update_t *p_u; //< Pointer to VLC update object
-
- int i_r; //< Position in the releases list
- int i_f; //< Position in the release's files list
- int i_m; //< Position in the mirrors list
-
- int i_t; //< File type bitmask
- int i_rs; //< Release status bitmask
- int i_rt; //< Release type bitmask
-
- struct
- {
- int i_type; //< Type
- char* psz_md5; //< MD5 hash
- long int l_size; //< Size in bytes
- char* psz_url; //< Absolute URL
- char* psz_description; //< Description
- } file; //< Local 'copy' of the current file's information
- struct
- {
- char *psz_version; //< Version string
- char *psz_svn_revision; //< SVN revision
- int i_status; //< Status
- int i_type; //< Type
- } release; //< Local 'copy' of the current release's information
- struct
- {
- char *psz_name; //< Name
- char *psz_location; //< Geographical location
- char *psz_type; //< Type (HTTP, FTP, ...)
- } mirror; //< Local 'copy' of the current mirror's information
-};