diff options
Diffstat (limited to 'linden/indra/llmessage/llxfermanager.h')
-rw-r--r-- | linden/indra/llmessage/llxfermanager.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/linden/indra/llmessage/llxfermanager.h b/linden/indra/llmessage/llxfermanager.h index 77f3f60..4bcf5de 100644 --- a/linden/indra/llmessage/llxfermanager.h +++ b/linden/indra/llmessage/llxfermanager.h | |||
@@ -108,6 +108,8 @@ class LLXferManager | |||
108 | // implementation methods | 108 | // implementation methods |
109 | virtual void startPendingDownloads(); | 109 | virtual void startPendingDownloads(); |
110 | virtual void addToList(LLXfer* xferp, LLXfer*& head, BOOL is_priority); | 110 | virtual void addToList(LLXfer* xferp, LLXfer*& head, BOOL is_priority); |
111 | std::multiset<std::string> mExpectedTransfers; // files that are authorized to transfer out | ||
112 | std::multiset<std::string> mExpectedRequests; // files that are authorized to be downloaded on top of | ||
111 | 113 | ||
112 | public: | 114 | public: |
113 | LLXferManager(LLVFS *vfs); | 115 | LLXferManager(LLVFS *vfs); |
@@ -168,6 +170,20 @@ class LLXferManager | |||
168 | const LLHost& remote_host, | 170 | const LLHost& remote_host, |
169 | void (*callback)(void**,S32,LLExtStat), void** user_data, | 171 | void (*callback)(void**,S32,LLExtStat), void** user_data, |
170 | BOOL is_priority = FALSE); | 172 | BOOL is_priority = FALSE); |
173 | /** | ||
174 | When arbitrary files are requested to be transfered (by giving a dir of LL_PATH_NONE) | ||
175 | they must be "expected", but having something pre-authorize them. This pair of functions | ||
176 | maintains a pre-authorized list. The first function adds something to the list, the second | ||
177 | checks if is authorized, removing it if so. In this way, a file is only authorized for | ||
178 | a single use. | ||
179 | */ | ||
180 | virtual void expectFileForTransfer(const std::string& filename); | ||
181 | virtual bool validateFileForTransfer(const std::string& filename); | ||
182 | /** | ||
183 | Same idea, but for the viewer about to call InitiateDownload to track what it requested. | ||
184 | */ | ||
185 | virtual void expectFileForRequest(const std::string& filename); | ||
186 | virtual bool validateFileForRequest(const std::string& filename); | ||
171 | 187 | ||
172 | /* | 188 | /* |
173 | // xfer request (may be memory or file) | 189 | // xfer request (may be memory or file) |