diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2013-03-10 18:08:34 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2013-03-10 18:08:34 (GMT) |
| commit | e6bca489c9aae88f1c7bbb44c4e2df71f481cbd3 (patch) | |
| tree | 6781e70afdc32c0322cce0062d523edfbdebae8a /src/client/ThumbnailBroker.h | |
| parent | 6090f0b0aaf302612f363cd3d85408e3b7d1150b (diff) | |
| download | powder-e6bca489c9aae88f1c7bbb44c4e2df71f481cbd3.zip powder-e6bca489c9aae88f1c7bbb44c4e2df71f481cbd3.tar.gz | |
AvatarButton/holder, rename ThumbnailBroker for more general purposes
Diffstat (limited to 'src/client/ThumbnailBroker.h')
| -rw-r--r-- | src/client/ThumbnailBroker.h | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/src/client/ThumbnailBroker.h b/src/client/ThumbnailBroker.h deleted file mode 100644 index 5160479..0000000 --- a/src/client/ThumbnailBroker.h +++ /dev/null @@ -1,111 +0,0 @@ -#pragma once -#include <queue> -#include <list> -#include <utility> -#include <deque> -#include <pthread.h> -#undef GetUserName //God dammit microsoft! - -#include "Singleton.h" - -class GameSave; -class Thumbnail; -class ThumbnailListener; -typedef std::pair<int, ThumbnailListener*> ListenerHandle; -class ThumbnailBroker: public Singleton<ThumbnailBroker> -{ -private: - class ThumbnailSpec - { - public: - int Width, Height; - ListenerHandle CompletedListener; - ThumbnailSpec(int width, int height, ListenerHandle completedListener) : - Width(width), Height(height), CompletedListener(completedListener) {} - }; - - class ThumbnailID - { - public: - int SaveID, SaveDate; - bool operator ==(const ThumbnailID & second) - { - return SaveID == second.SaveID && SaveDate == second.SaveDate; - } - ThumbnailID(int saveID, int saveDate) : SaveID(saveID), SaveDate(saveDate) {} - ThumbnailID() : SaveID(0), SaveDate(0) {} - }; - - class ThumbnailRequest - { - public: - bool Complete; - void * HTTPContext; - int RequestTime; - - ThumbnailID ID; - std::vector<ThumbnailSpec> SubRequests; - - ThumbnailRequest(int saveID, int saveDate, int width, int height, ListenerHandle completedListener) : - ID(saveID, saveDate), Complete(false), HTTPContext(NULL), RequestTime(0) - { - SubRequests.push_back(ThumbnailSpec(width, height, completedListener)); - } - ThumbnailRequest() : Complete(false), HTTPContext(NULL), RequestTime(0) {} - }; - - class ThumbRenderRequest - { - public: - int Width, Height; - bool Decorations; - bool Fire; - GameSave * Save; - ListenerHandle CompletedListener; - ThumbRenderRequest(GameSave * save, bool decorations, bool fire, int width, int height, ListenerHandle completedListener) : - Save(save), Width(width), Height(height), CompletedListener(completedListener), Decorations(decorations), Fire(fire) {} - ThumbRenderRequest() : Save(0), Decorations(true), Fire(true), Width(0), Height(0), CompletedListener(ListenerHandle(0, (ThumbnailListener*)NULL)) {} - }; - - //Thumbnail retreival - /*int thumbnailCacheNextID; - Thumbnail * thumbnailCache[THUMB_CACHE_SIZE]; - void * activeThumbRequests[IMGCONNS]; - int activeThumbRequestTimes[IMGCONNS]; - int activeThumbRequestCompleteTimes[IMGCONNS]; - std::string activeThumbRequestIDs[IMGCONNS];*/ - - pthread_mutex_t thumbnailQueueMutex; - pthread_mutex_t listenersMutex; - pthread_mutex_t runningMutex; - pthread_t thumbnailQueueThread; - bool thumbnailQueueRunning; - std::deque<ThumbnailRequest> thumbnailRequests; - std::deque<ThumbRenderRequest> renderRequests; - - std::deque<std::pair<ListenerHandle, Thumbnail*> > thumbnailComplete; - std::list<ThumbnailRequest> currentRequests; - std::deque<std::pair<ThumbnailID, Thumbnail*> > thumbnailCache; - - - std::vector<ListenerHandle> validListeners; - - static void * thumbnailQueueProcessHelper(void * ref); - void thumbnailQueueProcessTH(); - void assureRunning(); - -public: - ThumbnailBroker(); - virtual ~ThumbnailBroker(); - void Shutdown(); - - void FlushThumbQueue(); - void RenderThumbnail(GameSave * gameSave, bool decorations, bool fire, int width, int height, ThumbnailListener * tListener); - void RenderThumbnail(GameSave * gameSave, int width, int height, ThumbnailListener * tListener); - void RetrieveThumbnail(int saveID, int saveDate, int width, int height, ThumbnailListener * tListener); - void RetrieveThumbnail(int saveID, int width, int height, ThumbnailListener * tListener); - - bool CheckThumbnailListener(ListenerHandle handle); - void AttachThumbnailListener(ThumbnailListener * tListener); - void DetachThumbnailListener(ThumbnailListener * tListener); -};
\ No newline at end of file |
