summaryrefslogtreecommitdiff
path: root/src/gui/windows/updaterwindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/windows/updaterwindow.h')
-rw-r--r--src/gui/windows/updaterwindow.h252
1 files changed, 0 insertions, 252 deletions
diff --git a/src/gui/windows/updaterwindow.h b/src/gui/windows/updaterwindow.h
deleted file mode 100644
index 661168a9f..000000000
--- a/src/gui/windows/updaterwindow.h
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2004-2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * 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
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GUI_WINDOWS_UPDATERWINDOW_H
-#define GUI_WINDOWS_UPDATERWINDOW_H
-
-#include "enums/gui/updatedownloadstatus.h"
-
-#include "enums/net/downloadstatus.h"
-#include "enums/net/updatetype.h"
-
-#include "enums/simpletypes/append.h"
-
-#include "gui/widgets/window.h"
-
-#include "resources/updatefile.h"
-
-#include "utils/mutex.h"
-
-#include "listeners/actionlistener.h"
-#include "listeners/keylistener.h"
-
-class Button;
-class ItemLinkHandler;
-class Label;
-class ProgressBar;
-class ScrollArea;
-class StaticBrowserBox;
-
-namespace Net
-{
- class Download;
-} // namespace Net
-
-/**
- * Update progress window GUI
- *
- * \ingroup GUI
- */
-class UpdaterWindow final : public Window,
- public ActionListener,
- public KeyListener
-{
- public:
- /**
- * Constructor.
- *
- * @param updateHost Host where to get the updated files.
- * @param updatesDir Directory where to store updates (should be
- * absolute and already created).
- * @param applyUpdates If true, the update window will pass the updates
- * to teh resource manager.
- */
- UpdaterWindow(const std::string &restrict updateHost,
- const std::string &restrict updatesDir,
- const bool applyUpdates,
- const UpdateTypeT updateType);
-
- A_DELETE_COPY(UpdaterWindow)
-
- /**
- * Destructor
- */
- ~UpdaterWindow();
-
- void postInit() override final;
-
- /**
- * Set's progress bar status
- */
- void setProgress(const float p);
-
- /**
- * Set's label above progress
- */
- void setLabel(const std::string &);
-
- /**
- * Enables play button
- */
- void enable();
-
- /**
- * Loads and display news. Assumes the news file contents have been
- * loaded into the memory buffer.
- */
- void loadNews();
-
- void loadPatch();
-
- void action(const ActionEvent &event) override final;
-
- void keyPressed(KeyEvent &event) override final;
-
- void logic() override final;
-
- void loadFile(std::string file);
-
- void deleteSelf();
-
- static void loadLocalUpdates(const std::string &dir);
-
- static void unloadUpdates(const std::string &dir);
-
- static void addUpdateFile(const std::string &restrict path,
- const std::string &restrict fixPath,
- const std::string &restrict file,
- const Append append);
-
- static void removeUpdateFile(const std::string &restrict path,
- const std::string &restrict fixPath,
- const std::string &filerestrict);
-
- static void loadManaPlusUpdates(const std::string &dir);
-
- static void unloadManaPlusUpdates(const std::string &dir);
-
- static unsigned long getFileHash(const std::string &filePath);
-
- static void loadMods(const std::string &dir,
- const STD_VECTOR<UpdateFile> &updateFiles);
-
- static void loadDirMods(const std::string &dir);
-
- static void unloadMods(const std::string &dir);
-
- private:
- void download();
-
- /**
- * Loads the updates this window has gotten into the resource manager
- */
- void loadUpdates();
-
- /**
- * A download callback for progress updates.
- */
- static int updateProgress(void *ptr,
- const DownloadStatusT status,
- size_t dt,
- const size_t dn);
-
- /**
- * A libcurl callback for writing to memory.
- */
- static size_t memoryWrite(void *ptr, size_t size, size_t nmemb,
- void *stream);
-
- static bool validateFile(const std::string &filePath,
- const unsigned long hash) A_WARN_UNUSED;
-
- /** The new progress value to be set in the logic method. */
- float mDownloadProgress;
-
- /** Host where we get the updated files. */
- std::string mUpdateHost;
-
- /** Place where the updates are stored (absolute path). */
- std::string mUpdatesDir;
-
- std::string mUpdatesDirReal;
-
- /** The file currently downloading. */
- std::string mCurrentFile;
-
- /** The new label caption to be set in the logic method. */
- std::string mNewLabelCaption;
-
- // The mutex used to guard access to mNewLabelCaption
- // and mDownloadProgress.
- Mutex mDownloadMutex;
-
- /** The Adler32 checksum of the file currently downloading. */
- unsigned long mCurrentChecksum;
-
- /** Buffer for files downloaded to memory. */
- char *mMemoryBuffer;
-
- /** Download handle. */
- Net::Download *mDownload;
-
- /** List of files to download. */
- STD_VECTOR<UpdateFile> mUpdateFiles;
-
- /** List of temp files to download. */
- STD_VECTOR<UpdateFile> mTempUpdateFiles;
-
- std::string mUpdateServerPath;
-
- ItemLinkHandler *mItemLinkHandler A_NONNULLPOINTER;
- Label *mLabel A_NONNULLPOINTER;
- Button *mCancelButton A_NONNULLPOINTER;
- Button *mPlayButton A_NONNULLPOINTER;
- ProgressBar *mProgressBar A_NONNULLPOINTER;
- StaticBrowserBox *mBrowserBox A_NONNULLPOINTER;
- ScrollArea *mScrollArea A_NONNULLPOINTER;
-
- /** Status of the current download. */
- UpdateDownloadStatusT mDownloadStatus;
-
- /** Byte count currently downloaded in mMemoryBuffer. */
- int mDownloadedBytes;
-
- /** Index of the file to be downloaded. */
- unsigned int mUpdateIndex;
-
- /** Index offset for disaplay downloaded file. */
- unsigned int mUpdateIndexOffset;
-
- UpdateTypeT mUpdateType;
-
- /** A flag to indicate whether to use a memory buffer or a regular
- * file.
- */
- bool mStoreInMemory;
-
- /** Flag that show if current download is complete. */
- bool mDownloadComplete;
-
- /** Flag that show if the user has canceled the update. */
- bool mUserCancel;
-
- /** Tells ~UpdaterWindow() if it should load updates */
- bool mLoadUpdates;
-
- bool mValidateXml;
-
- bool mSkipPatches;
-};
-
-extern UpdaterWindow *updaterWindow;
-
-#endif // GUI_WINDOWS_UPDATERWINDOW_H