diff options
author | Hello=) <hello@themanaworld.org> | 2024-03-29 04:23:18 +0300 |
---|---|---|
committer | Hello=) <hello@themanaworld.org> | 2024-03-29 04:23:18 +0300 |
commit | 08cd08587be5c8d2ce42ae417098c524f683c6ad (patch) | |
tree | 727aa239372a77e9ca3d72fe761940bb49e8d2d8 /onlinelist.h | |
parent | db0b1da0060f5eb4b2af040c22ea9373d36970af (diff) | |
download | guildbot-08cd08587be5c8d2ce42ae417098c524f683c6ad.tar.gz guildbot-08cd08587be5c8d2ce42ae417098c524f683c6ad.tar.bz2 guildbot-08cd08587be5c8d2ce42ae417098c524f683c6ad.tar.xz guildbot-08cd08587be5c8d2ce42ae417098c524f683c6ad.zip |
Move actual top level from src/ to top: just one single dir is pointless.
Reported-By: NetSysFire
Diffstat (limited to 'onlinelist.h')
-rw-r--r-- | onlinelist.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/onlinelist.h b/onlinelist.h new file mode 100644 index 0000000..4c4b5f3 --- /dev/null +++ b/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 */ + + |