6 #include "IAsyncCubeTextureRequestor.h"
11 #include "WebLoadRequestCompletionCallback.h"
16 #include "PendingWebRequestsContainer.h"
17 #include "PendingAsyncTextureLoadsContainer.h"
18 #include "ICallback.h"
19 #include "ITextureFileLoader.h"
25 namespace AsyncTexturing
39 bool tryToUpdateIfModified=
false);
44 void IssueNextLoadRequest();
45 bool HasPendingLoadRequests()
const;
47 int CubeTextureCount()
const;
49 int PendingCubeTextureLoadsCount()
const;
64 bool Contains(
const std::string& textureUrl)
const;
68 bool tryToUpdateIfModified);
76 bool TryAttachTextureBufferFromCache(
HttpAsyncCubeTexture* pTexture,
int faceIndex,
const std::string& url);
78 void CreateTextureFileRequest(
HttpAsyncCubeTexture* pTexture,
int faceIndex,
const std::string& url, std::vector<Web::IWebLoadRequest*> &requestsToIssue);
82 void BeginLoadCubeTextureFromBuffers(
83 const std::vector<
const std::vector<Byte>*>& cubeFaceBuffers,
90 typedef std::map<HttpAsyncCubeTexture*, std::vector<Web::IWebLoadRequest*> > TCubeTextureToRequests;
91 typedef std::deque<HttpAsyncCubeTexture*> TCubeTextureDeque;
92 typedef std::map<std::string, HttpAsyncCubeTexture*> TStringToCubeTexture;
94 TCubeTextureToRequests m_requestsByCubeTexture;
95 TCubeTextureDeque m_pendingCubeLoads;
96 TStringToCubeTexture m_cubeTexturesByUrl;
97 int m_inFlightCubeLoadCount;