diff options
Diffstat (limited to 'indra/llcommon')
-rw-r--r-- | indra/llcommon/llsdutil.cpp | 5 | ||||
-rw-r--r-- | indra/llcommon/llsdutil.h | 4 | ||||
-rw-r--r-- | indra/llcommon/lluuid.cpp | 2 | ||||
-rw-r--r-- | indra/llcommon/roles_constants.h | 10 |
4 files changed, 17 insertions, 4 deletions
diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp index 137539cc04..f62c8093d6 100644 --- a/indra/llcommon/llsdutil.cpp +++ b/indra/llcommon/llsdutil.cpp @@ -184,8 +184,9 @@ char* ll_pretty_print_sd(const LLSD& sd) } //compares the structure of an LLSD to a template LLSD and stores the -//"valid" values in a 3rd LLSD. Default values are stored in the template -// +//"valid" values in a 3rd LLSD. Default values pulled from the template +//if the tested LLSD does not contain the key/value pair. +//Excess values in the test LLSD are ignored in the resultant_llsd. //If the llsd to test has a specific key to a map and the values //are not of the same type, false is returned or if the LLSDs are not //of the same value. Ordering of arrays matters diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h index 7098fa8252..818566fc03 100644 --- a/indra/llcommon/llsdutil.h +++ b/indra/llcommon/llsdutil.h @@ -92,9 +92,11 @@ char* ll_pretty_print_sd(const LLSD& sd); //compares the structure of an LLSD to a template LLSD and stores the //"valid" values in a 3rd LLSD. Default values -//are pulled from the template. Ordering of arrays matters +//are pulled from the template. Extra keys/values in the test +//are ignored in the resultant LLSD. Ordering of arrays matters //Returns false if the test is of same type but values differ in type //Otherwise, returns true + BOOL compare_llsd_with_template( const LLSD& llsd_to_test, const LLSD& template_llsd, diff --git a/indra/llcommon/lluuid.cpp b/indra/llcommon/lluuid.cpp index 51e27e0708..1098d1bd3c 100644 --- a/indra/llcommon/lluuid.cpp +++ b/indra/llcommon/lluuid.cpp @@ -184,7 +184,7 @@ void LLUUID::toCompressedString(std::string& out) const char bytes[UUID_BYTES+1]; memcpy(bytes, mData, UUID_BYTES); /* Flawfinder: ignore */ bytes[UUID_BYTES] = '\0'; - out = bytes; + out.assign(bytes, UUID_BYTES); } // *TODO: deprecate diff --git a/indra/llcommon/roles_constants.h b/indra/llcommon/roles_constants.h index 23ebcf34d6..7773b43f4a 100644 --- a/indra/llcommon/roles_constants.h +++ b/indra/llcommon/roles_constants.h @@ -143,11 +143,18 @@ const U64 GP_NOTICES_RECEIVE = 0x1LL << 43; // Receive Notices and View Notice const U64 GP_PROPOSAL_START = 0x1LL << 44; // Start Proposal const U64 GP_PROPOSAL_VOTE = 0x1LL << 45; // Vote on Proposal +// Group chat moderation related +const U64 GP_SESSION_JOIN = 0x1LL << 16; //can join session +const U64 GP_SESSION_VOICE = 0x1LL << 27; //can hear/talk +const U64 GP_SESSION_MODERATOR = 0x1LL << 37; //can mute people's session + const U64 GP_DEFAULT_MEMBER = GP_ACCOUNTING_ACCOUNTABLE | GP_LAND_ALLOW_SET_HOME | GP_NOTICES_RECEIVE | GP_PROPOSAL_START | GP_PROPOSAL_VOTE + | GP_SESSION_JOIN + | GP_SESSION_VOICE ; const U64 GP_DEFAULT_OFFICER = GP_ACCOUNTING_ACCOUNTABLE @@ -188,5 +195,8 @@ const U64 GP_DEFAULT_OFFICER = GP_ACCOUNTING_ACCOUNTABLE | GP_PROPOSAL_VOTE | GP_ROLE_ASSIGN_MEMBER_LIMITED | GP_ROLE_PROPERTIES + | GP_SESSION_MODERATOR + | GP_SESSION_JOIN + | GP_SESSION_VOICE ; #endif |