llvlmanager.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLVLMANAGER_H
00033 #define LL_LLVLMANAGER_H
00034 
00035 // This class manages the data coming in for viewer layers from the network.
00036 
00037 #include "stdtypes.h"
00038 #include "lldarray.h"
00039 
00040 class LLVLData;
00041 class LLViewerRegion;
00042 
00043 class LLVLManager
00044 {
00045 public:
00046         ~LLVLManager();
00047 
00048         void addLayerData(LLVLData *vl_datap, const S32 mesg_size);
00049 
00050         void unpackData(const S32 num_packets = 10);
00051 
00052         S32 getTotalBytes() const;
00053 
00054         S32 getLandBits() const;
00055         S32 getWindBits() const;
00056         S32 getCloudBits() const;
00057 
00058         void resetBitCounts();
00059 
00060         void cleanupData(LLViewerRegion *regionp);
00061 protected:
00062 
00063         LLDynamicArray<LLVLData *> mPacketData;
00064         U32 mLandBits;
00065         U32 mWindBits;
00066         U32 mCloudBits;
00067 };
00068 
00069 class LLVLData
00070 {
00071 public:
00072         LLVLData(LLViewerRegion *regionp,
00073                          const S8 type, U8 *data, const S32 size);
00074         ~LLVLData();
00075 
00076         S8 mType;
00077         U8 *mData;
00078         S32 mSize;
00079         LLViewerRegion *mRegionp;
00080 };
00081 
00082 extern LLVLManager gVLManager;
00083 
00084 #endif // LL_LLVIEWERLAYERMANAGER_H

Generated on Thu Jul 1 06:09:35 2010 for Second Life Viewer by  doxygen 1.4.7