diff options
Diffstat (limited to 'indra/llinventory')
-rw-r--r-- | indra/llinventory/llparcel.cpp | 10 | ||||
-rw-r--r-- | indra/llinventory/llparcel.h | 12 | ||||
-rw-r--r-- | indra/llinventory/llparcelflags.h | 2 |
3 files changed, 22 insertions, 2 deletions
diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp index 0a4cd51ea0..7562bb8320 100644 --- a/indra/llinventory/llparcel.cpp +++ b/indra/llinventory/llparcel.cpp @@ -702,7 +702,7 @@ void LLParcel::packMessage(LLSD& msg) msg["user_location"] = ll_sd_from_vector3(mUserLocation); msg["user_look_at"] = ll_sd_from_vector3(mUserLookAt); msg["landing_type"] = (U8)mLandingType; - + msg["privacy"] = (LLSD::Boolean) getPrivacy(); } @@ -721,6 +721,14 @@ void LLParcel::unpackMessage(LLMessageSystem* msg) msg->getStringFast( _PREHASH_ParcelData,_PREHASH_MediaURL, buffer ); setMediaURL(buffer); + BOOL private_parcel = FALSE; + bool have_privacy_data = (msg->getSizeFast(_PREHASH_ParcelData, _PREHASH_Privacy) > 0); + if (have_privacy_data) + { + msg->getBOOLFast(_PREHASH_ParcelData, _PREHASH_Privacy, private_parcel); + } + setPrivacy((bool) private_parcel); + // non-optimized version msg->getU8 ( "ParcelData", "MediaAutoScale", mMediaAutoScale ); diff --git a/indra/llinventory/llparcel.h b/indra/llinventory/llparcel.h index 71b65d99ce..4d2236ec66 100644 --- a/indra/llinventory/llparcel.h +++ b/indra/llinventory/llparcel.h @@ -75,7 +75,7 @@ const U8 PARCEL_AUCTION = 0x05; // unused 0x06 // unused 0x07 // flag, unused 0x08 -// flag, unused 0x10 +const U8 PARCEL_PRIVATE = 0x10; const U8 PARCEL_SOUND_LOCAL = 0x20; const U8 PARCEL_WEST_LINE = 0x40; // flag, property line on west edge const U8 PARCEL_SOUTH_LINE = 0x80; // flag, property line on south edge @@ -130,6 +130,12 @@ class LLSD; class LLAccessEntry { public: + LLAccessEntry() + : mID(), + mTime(0), + mFlags(0) + {} + LLUUID mID; // Agent ID S32 mTime; // Time (unix seconds) when entry expires U32 mFlags; // Not used - currently should always be zero @@ -265,6 +271,7 @@ public: void setUserLocation(const LLVector3& pos) { mUserLocation = pos; } void setUserLookAt(const LLVector3& rot) { mUserLookAt = rot; } void setLandingType(const ELandingType type) { mLandingType = type; } + void setPrivacy(bool privacy) { mPrivacy = privacy; } void setAuctionID(U32 auction_id) { mAuctionID = auction_id;} @@ -367,6 +374,8 @@ public: const LLVector3& getUserLocation() const { return mUserLocation; } const LLVector3& getUserLookAt() const { return mUserLookAt; } ELandingType getLandingType() const { return mLandingType; } + bool getPrivacy() const { return mPrivacy; } + // User-specified snapshot const LLUUID& getSnapshotID() const { return mSnapshotID; } @@ -602,6 +611,7 @@ protected: LLVector3 mUserLocation; LLVector3 mUserLookAt; ELandingType mLandingType; + bool mPrivacy; LLTimer mSaleTimerExpires; LLTimer mMediaResetTimer; diff --git a/indra/llinventory/llparcelflags.h b/indra/llinventory/llparcelflags.h index a61130132a..a3d131c7a2 100644 --- a/indra/llinventory/llparcelflags.h +++ b/indra/llinventory/llparcelflags.h @@ -126,5 +126,7 @@ const S32 PARCEL_DETAILS_DESC = 1; const S32 PARCEL_DETAILS_OWNER = 2; const S32 PARCEL_DETAILS_GROUP = 3; const S32 PARCEL_DETAILS_AREA = 4; +const S32 PARCEL_DETAILS_ID = 5; +const S32 PARCEL_DETAILS_PRIVACY = 6; #endif |