diff options
Diffstat (limited to 'indra/llinventory/llparcel.h')
-rwxr-xr-x | indra/llinventory/llparcel.h | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h index c4363a48df..e68331b99a 100755 --- a/indra/llinventory/llparcel.h +++ b/indra/llinventory/llparcel.h @@ -53,6 +53,9 @@ const S32 PARCEL_MAX_ACCESS_LIST = 300; //for access/ban lists. const F32 PARCEL_MAX_ENTRIES_PER_PACKET = 48.f; +// Maximum number of experiences +const S32 PARCEL_MAX_EXPERIENCE_LIST = 24; + // Weekly charge for listing a parcel in the directory const S32 PARCEL_DIRECTORY_FEE = 30; @@ -130,9 +133,11 @@ class LLSD; class LLAccessEntry { public: + + typedef std::map<LLUUID,LLAccessEntry> map; + LLAccessEntry() - : mID(), - mTime(0), + : mTime(0), mFlags(0) {} @@ -141,8 +146,6 @@ public: U32 mFlags; // Not used - currently should always be zero }; -typedef std::map<LLUUID,LLAccessEntry>::iterator access_map_iterator; -typedef std::map<LLUUID,LLAccessEntry>::const_iterator access_map_const_iterator; class LLParcel { @@ -320,6 +323,9 @@ public: void unpackAccessEntries(LLMessageSystem* msg, std::map<LLUUID,LLAccessEntry>* list); + void unpackExperienceEntries(LLMessageSystem* msg, U32 type); + + void setAABBMin(const LLVector3& min) { mAABBMin = min; } void setAABBMax(const LLVector3& max) { mAABBMax = max; } @@ -665,6 +671,17 @@ public: std::map<LLUUID,LLAccessEntry> mTempBanList; std::map<LLUUID,LLAccessEntry> mTempAccessList; + typedef std::map<LLUUID, U32> xp_type_map_t; + + void setExperienceKeyType(const LLUUID& experience_key, U32 type); + U32 countExperienceKeyType(U32 type); + U32 getExperienceKeyType(const LLUUID& experience_key)const; + LLAccessEntry::map getExperienceKeysByType(U32 type)const; + void clearExperienceKeysByType(U32 type); + +private: + xp_type_map_t mExperienceKeys; + }; |