diff options
author | Hello=) <hello@themanaworld.org> | 2024-03-28 03:58:45 +0300 |
---|---|---|
committer | Hello=) <hello@themanaworld.org> | 2024-03-28 03:58:45 +0300 |
commit | db0b1da0060f5eb4b2af040c22ea9373d36970af (patch) | |
tree | dc2bdc0478c341bf4368fee4993c20e52f2d41c1 /src/onlinelist.h | |
download | guildbot-db0b1da0060f5eb4b2af040c22ea9373d36970af.tar.gz guildbot-db0b1da0060f5eb4b2af040c22ea9373d36970af.tar.bz2 guildbot-db0b1da0060f5eb4b2af040c22ea9373d36970af.tar.xz guildbot-db0b1da0060f5eb4b2af040c22ea9373d36970af.zip |
Initial commit of Guild Bot, as seen in:
$ sha256sum guildsrc.zip
ef61469ab59ce3f5dd3289505e89bd5b84e3a82b89cda90d25ae3c41f7464beb guildsrc.zip
Verification shown its source 100% match to currently running version on TMWA.
The following changes were made VS version found in guildsrc.zip:
1) src/build and src/dist content completely removed.
Rationale: build-time artifacts; binaries contained login/password.
2) Executable flag (+x) removed from src/automation.cpp and src/main.cpp.
Rationale: executable CPP sources are weird thing. No change to file content.
3) src/main.cpp changes: 3 lines:
std::string main_username = "test";
std::string main_pw = "test";
std::string main_host = "127.0.0.1";
Rationale: avoid leaking real production credentials and ensure experimenters
dont hammer real TMW prod server by experiments.
Effort been made to preserve original file timestamps, etc. However toplevel src/
dir date adjusted to date of mentioned changes.
Diffstat (limited to 'src/onlinelist.h')
-rw-r--r-- | src/onlinelist.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/onlinelist.h b/src/onlinelist.h new file mode 100644 index 0000000..4c4b5f3 --- /dev/null +++ b/src/onlinelist.h @@ -0,0 +1,86 @@ +/* + * File: onlinelist.h + * Author: dipesh + * + * Created on August 2, 2010, 1:12 AM + */ + +#ifndef _ONLINELIST_H +#define _ONLINELIST_H + + +#include <string> +#include <set> + +#include "utils/mutex.h" + +struct SDL_Thread; + +/** + * Update progress window GUI + * + * \ingroup GUI + */ +class OnlineList +{ + public: + /** + * Constructor. + */ + OnlineList(); + + /** + * Destructor + */ + ~OnlineList(); + + void logic(); + + std::set<std::string> &getOnlinePlayers() + { return mOnlinePlayers; } + + void setAllowUpdate(bool n) + { mAllowUpdate = n; } + +private: + void download(); + + /** + * The thread function that download the files. + */ + static int downloadThread(void *ptr); + + enum DownloadStatus + { + UPDATE_ERROR = 0, + UPDATE_COMPLETE, + UPDATE_LIST + }; + + /** A thread that use libcurl to download updates. */ + SDL_Thread *mThread; + + /** Status of the current download. */ + DownloadStatus mDownloadStatus; + + /** Flag that show if current download is complete. */ + bool mDownloadComplete; + + /** Byte count currently downloaded in mMemoryBuffer. */ + int mDownloadedBytes; + + /** Buffer for files downloaded to memory. */ + char *mMemoryBuffer; + + /** Buffer to handler human readable error provided by curl. */ + char *mCurlError; + + time_t mUpdateTimer; + std::set<std::string> mOnlinePlayers; + + bool mAllowUpdate; +}; + +#endif /* _ONLINELIST_H */ + + |