aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/lltextureinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/lltextureinfo.h')
-rw-r--r--linden/indra/newview/lltextureinfo.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/linden/indra/newview/lltextureinfo.h b/linden/indra/newview/lltextureinfo.h
new file mode 100644
index 0000000..71b0ea4
--- /dev/null
+++ b/linden/indra/newview/lltextureinfo.h
@@ -0,0 +1,80 @@
1/**
2 * @file lltextureinfo.h
3 * @brief Object for managing texture information.
4 *
5 * $LicenseInfo:firstyear=2000&license=viewergpl$
6 *
7 * Copyright (c) 2000-2009, Linden Research, Inc.
8 *
9 * Second Life Viewer Source Code
10 * The source code in this file ("Source Code") is provided by Linden Lab
11 * to you under the terms of the GNU General Public License, version 2.0
12 * ("GPL"), unless you have obtained a separate licensing agreement
13 * ("Other License"), formally executed by you and Linden Lab. Terms of
14 * the GPL can be found in doc/GPL-license.txt in this distribution, or
15 * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
16 *
17 * There are special exceptions to the terms and conditions of the GPL as
18 * it is applied to this Source Code. View the full text of the exception
19 * in the file doc/FLOSS-exception.txt in this software distribution, or
20 * online at
21 * http://secondlifegrid.net/programs/open_source/licensing/flossexception
22 *
23 * By copying, modifying or distributing this software, you acknowledge
24 * that you have read and understood your obligations described above,
25 * and agree to abide by those obligations.
26 *
27 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
28 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
29 * COMPLETENESS OR PERFORMANCE.
30 * $/LicenseInfo$
31 */
32
33#ifndef LL_LLTEXTUREINFO_H
34#define LL_LLTEXTUREINFO_H
35
36#include "lluuid.h"
37#include "lltextureinfodetails.h"
38#include <map>
39
40class LLTextureInfo
41{
42public:
43 LLTextureInfo();
44 ~LLTextureInfo();
45
46 void setUpLogging(bool writeToViewerLog, bool sendToSim, U32 textureLogThreshold);
47 bool has(const LLUUID& id);
48 void setRequestStartTime(const LLUUID& id, U64 startTime);
49 void setRequestSize(const LLUUID& id, U32 size);
50 void setRequestOffset(const LLUUID& id, U32 offset);
51 void setRequestType(const LLUUID& id, LLTextureInfoDetails::LLRequestType type);
52 void setRequestCompleteTimeAndLog(const LLUUID& id, U64 completeTime);
53 U32 getRequestStartTime(const LLUUID& id);
54 U32 getRequestSize(const LLUUID& id);
55 U32 getRequestOffset(const LLUUID& id);
56 LLTextureInfoDetails::LLRequestType getRequestType(const LLUUID& id);
57 U32 getRequestCompleteTime(const LLUUID& id);
58 void resetTextureStatistics();
59 U32 getTextureInfoMapSize();
60 LLSD getAverages();
61
62private:
63 void addRequest(const LLUUID& id);
64
65 std::map<LLUUID, LLTextureInfoDetails *> mTextures;
66
67 LLSD mAverages;
68
69 bool mLogTextureDownloadsToViewerLog;
70 bool mLogTextureDownloadsToSimulator;
71 S32 mTotalBytes;
72 S32 mTotalMilliseconds;
73 S32 mTextureDownloadsStarted;
74 S32 mTextureDownloadsCompleted;
75 std::string mTextureDownloadProtocol;
76 U32 mTextureLogThreshold; // in bytes
77 U64 mCurrentStatsBundleStartTime;
78};
79
80#endif // LL_LLTEXTUREINFO_H