LLAggregatePermissions Class Reference

#include <llpermissions.h>

Collaboration diagram for LLAggregatePermissions:

Collaboration graph
[legend]

List of all members.

Public Types

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

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)


Detailed Description

Definition at line 380 of file llpermissions.h.


Member Enumeration Documentation

Enumerator:
AP_EMPTY 
AP_NONE 
AP_SOME 
AP_ALL 

Definition at line 383 of file llpermissions.h.

Enumerator:
PI_COPY 
PI_MODIFY 
PI_TRANSFER 
PI_END 
PI_COUNT 

Definition at line 427 of file llpermissions.h.


Constructor & Destructor Documentation

LLAggregatePermissions::LLAggregatePermissions (  ) 

Definition at line 947 of file llpermissions.cpp.

References AP_EMPTY, i, mBits, PI_COUNT, and S32.


Member Function Documentation

LLAggregatePermissions::EValue LLAggregatePermissions::getValue ( PermissionBit  bit  )  const

Definition at line 955 of file llpermissions.cpp.

References AP_EMPTY, mBits, perm2PermIndex(), and PI_END.

Referenced by append_aggregate(), LLPanelFace::getState(), LLPanelObject::postBuild(), LLPanelFace::postBuild(), and LLSelectMgr::processObjectProperties().

Here is the call graph for this function:

Here is the caller graph for this function:

U8 LLAggregatePermissions::getU8 (  )  const

Definition at line 969 of file llpermissions.cpp.

References mBits, PI_COPY, PI_MODIFY, and PI_TRANSFER.

Referenced by packMessage().

Here is the caller graph for this function:

BOOL LLAggregatePermissions::isEmpty (  )  const

Definition at line 979 of file llpermissions.cpp.

References AP_EMPTY, FALSE, i, mBits, PI_END, S32, and TRUE.

void LLAggregatePermissions::aggregate ( PermissionMask  mask  ) 

Definition at line 991 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().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAggregatePermissions::aggregate ( const LLAggregatePermissions ag  ) 

Definition at line 1001 of file llpermissions.cpp.

References aggregateIndex(), mBits, PI_COPY, PI_END, and S32.

Here is the call graph for this function:

void LLAggregatePermissions::packMessage ( LLMessageSystem msg,
const char *  field 
) const

Definition at line 1100 of file llpermissions.cpp.

References LLMessageSystem::addU8Fast(), and getU8().

Here is the call graph for this function:

void LLAggregatePermissions::unpackMessage ( LLMessageSystem msg,
const char *  block,
const char *  field,
S32  block_num = 0 
)

Definition at line 1105 of file llpermissions.cpp.

References LLMessageSystem::getU8Fast(), mBits, PI_COPY, PI_MODIFY, and PI_TRANSFER.

Referenced by LLSelectMgr::processObjectProperties().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLAggregatePermissions::aggregateBit ( EPermIndex  idx,
BOOL  allowed 
) [protected]

Definition at line 1009 of file llpermissions.cpp.

References AP_ALL, AP_EMPTY, AP_NONE, AP_SOME, llendl, llwarns, mBits, and S32.

Referenced by aggregate().

Here is the caller graph for this function:

void LLAggregatePermissions::aggregateIndex ( EPermIndex  idx,
U8  bits 
) [protected]

Definition at line 1033 of file llpermissions.cpp.

References AP_ALL, AP_EMPTY, AP_NONE, AP_SOME, llendl, llwarns, mBits, and S32.

Referenced by aggregate().

Here is the caller graph for this function:

LLAggregatePermissions::EPermIndex LLAggregatePermissions::perm2PermIndex ( PermissionBit  bit  )  [static, protected]

Definition at line 1079 of file llpermissions.cpp.

References PERM_COPY, PERM_MODIFY, PERM_TRANSFER, PI_COPY, PI_END, PI_MODIFY, and PI_TRANSFER.

Referenced by getValue().

Here is the caller graph for this function:


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const LLAggregatePermissions perm 
) [friend]

Definition at line 1125 of file llpermissions.cpp.


Member Data Documentation

---------------------------------------------------------------------------- Class LLAggregatePermissions ----------------------------------------------------------------------------

Definition at line 422 of file llpermissions.h.

U8 LLAggregatePermissions::mBits[PI_COUNT] [protected]


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:38:53 2008 for SecondLife by  doxygen 1.5.5