/* Let vlc take care of the i18n stuff */
#define WXINTL_NO_GETTEXT_MACRO
+#include <list>
+
#include <wx/wxprec.h>
#include <wx/wx.h>
};
+/* Update VLC */
+class UpdateVLC: public wxFrame
+{
+public:
+ /* Constructor */
+ UpdateVLC( intf_thread_t *p_intf, wxWindow *p_parent );
+ virtual ~UpdateVLC();
+
+private:
+ void OnButtonClose( wxCommandEvent& event );
+ void OnClose( wxCloseEvent& WXUNUSED(event) );
+ void GetData();
+ void OnCheckForUpdate( wxCommandEvent& event );
+ void OnMirrorChoice( wxCommandEvent& event );
+ void UpdateUpdatesTree();
+ void UpdateMirrorsChoice();
+ void OnUpdatesTreeActivate( wxTreeEvent& event );
+ void DownloadFile( wxString url, wxString dst );
+
+ DECLARE_EVENT_TABLE();
+
+ intf_thread_t *p_intf;
+ wxTreeCtrl *updates_tree;
+ wxTreeItemId updates_root;
+
+ wxChoice *mirrors_choice;
+
+ wxString release_type; /* could be "stable", "test", "nightly" ... */
+
+ struct update_file_t
+ {
+ wxString type;
+ wxString md5;
+ wxString size;
+ wxString url;
+ wxString description;
+ };
+
+ struct update_version_t
+ {
+ wxString type;
+ wxString major;
+ wxString minor;
+ wxString revision;
+ wxString extra;
+ std::list<update_file_t> m_files;
+ };
+
+ std::list<update_version_t> m_versions;
+
+ struct update_mirror_t
+ {
+ wxString name;
+ wxString location;
+ wxString type;
+ wxString base_url;
+ };
+
+ std::list<update_mirror_t> m_mirrors;
+};
+
#if wxUSE_DRAG_AND_DROP
/* Drag and Drop class */
class DragAndDrop: public wxFileDropTarget