#include <llpermissions.h>
Collaboration diagram for LLAggregatePermissions:
Public Types | |
AP_EMPTY = 0x00 | |
AP_NONE = 0x01 | |
AP_SOME = 0x02 | |
AP_ALL = 0x03 | |
enum | EValue { AP_EMPTY = 0x00, AP_NONE = 0x01, AP_SOME = 0x02, AP_ALL = 0x03 } |
Public Member Functions | |
LLAggregatePermissions () | |
EValue | getValue (PermissionBit bit) const |
U8 | getU8 () const |
BOOL | isEmpty () const |
void | aggregate (PermissionMask mask) |
void | aggregate (const LLAggregatePermissions &ag) |
void | packMessage (LLMessageSystem *msg, const char *field) const |
void | unpackMessage (LLMessageSystem *msg, const char *block, const char *field, S32 block_num=0) |
Static Public Attributes | |
static const LLAggregatePermissions | empty |
Protected Types | |
PI_COPY = 0 | |
PI_MODIFY = 1 | |
PI_TRANSFER = 2 | |
PI_END = 3 | |
PI_COUNT = 3 | |
enum | EPermIndex { PI_COPY = 0, PI_MODIFY = 1, PI_TRANSFER = 2, PI_END = 3, PI_COUNT = 3 } |
Protected Member Functions | |
void | aggregateBit (EPermIndex idx, BOOL allowed) |
void | aggregateIndex (EPermIndex idx, U8 bits) |
Static Protected Member Functions | |
static EPermIndex | perm2PermIndex (PermissionBit bit) |
Protected Attributes | |
U8 | mBits [PI_COUNT] |
Friends | |
std::ostream & | operator<< (std::ostream &s, const LLAggregatePermissions &perm) |
Definition at line 377 of file llpermissions.h.
enum LLAggregatePermissions::EPermIndex [protected] |
Definition at line 424 of file llpermissions.h.
LLAggregatePermissions::LLAggregatePermissions | ( | ) |
void LLAggregatePermissions::aggregate | ( | const LLAggregatePermissions & | ag | ) |
Definition at line 968 of file llpermissions.cpp.
References aggregateIndex(), mBits, PI_COPY, PI_END, and S32.
void LLAggregatePermissions::aggregate | ( | PermissionMask | mask | ) |
Definition at line 958 of file llpermissions.cpp.
References aggregateBit(), PERM_COPY, PERM_MODIFY, PERM_TRANSFER, PI_COPY, PI_MODIFY, and PI_TRANSFER.
Referenced by LLSelectMgr::selectGetAggregatePermissions(), and LLSelectMgr::selectGetAggregateTexturePermissions().
void LLAggregatePermissions::aggregateBit | ( | EPermIndex | idx, | |
BOOL | allowed | |||
) | [protected] |
void LLAggregatePermissions::aggregateIndex | ( | EPermIndex | idx, | |
U8 | bits | |||
) | [protected] |
U8 LLAggregatePermissions::getU8 | ( | ) | const |
Definition at line 936 of file llpermissions.cpp.
References mBits, PI_COPY, PI_MODIFY, and PI_TRANSFER.
Referenced by packMessage().
LLAggregatePermissions::EValue LLAggregatePermissions::getValue | ( | PermissionBit | bit | ) | const |
Definition at line 922 of file llpermissions.cpp.
References AP_EMPTY, mBits, perm2PermIndex(), and PI_END.
Referenced by append_aggregate(), LLPanelObject::postBuild(), LLPanelFace::postBuild(), and LLSelectMgr::processObjectProperties().
BOOL LLAggregatePermissions::isEmpty | ( | ) | const |
void LLAggregatePermissions::packMessage | ( | LLMessageSystem * | msg, | |
const char * | field | |||
) | const |
Definition at line 1067 of file llpermissions.cpp.
References LLMessageSystem::addU8Fast(), and getU8().
LLAggregatePermissions::EPermIndex LLAggregatePermissions::perm2PermIndex | ( | PermissionBit | bit | ) | [static, protected] |
Definition at line 1046 of file llpermissions.cpp.
References PERM_COPY, PERM_MODIFY, PERM_TRANSFER, PI_COPY, PI_END, PI_MODIFY, and PI_TRANSFER.
Referenced by getValue().
void LLAggregatePermissions::unpackMessage | ( | LLMessageSystem * | msg, | |
const char * | block, | |||
const char * | field, | |||
S32 | block_num = 0 | |||
) |
Definition at line 1072 of file llpermissions.cpp.
References LLMessageSystem::getU8Fast(), mBits, PI_COPY, PI_MODIFY, and PI_TRANSFER.
Referenced by LLSelectMgr::processObjectProperties().
std::ostream& operator<< | ( | std::ostream & | s, | |
const LLAggregatePermissions & | perm | |||
) | [friend] |
Definition at line 1092 of file llpermissions.cpp.
const LLAggregatePermissions LLAggregatePermissions::empty [static] |
---------------------------------------------------------------------------- Class LLAggregatePermissions ----------------------------------------------------------------------------
Definition at line 419 of file llpermissions.h.
U8 LLAggregatePermissions::mBits[PI_COUNT] [protected] |
Definition at line 437 of file llpermissions.h.
Referenced by aggregate(), aggregateBit(), aggregateIndex(), getU8(), getValue(), isEmpty(), LLAggregatePermissions(), operator<<(), and unpackMessage().