LLAggregatePermissions Class Reference

#include <llpermissions.h>

Collaboration diagram for LLAggregatePermissions:

Collaboration graph
[legend]
List of all members.

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)

Detailed Description

Definition at line 377 of file llpermissions.h.


Member Enumeration Documentation

enum LLAggregatePermissions::EPermIndex [protected]

Enumerator:
PI_COPY 
PI_MODIFY 
PI_TRANSFER 
PI_END 
PI_COUNT 

Definition at line 424 of file llpermissions.h.

enum LLAggregatePermissions::EValue

Enumerator:
AP_EMPTY 
AP_NONE 
AP_SOME 
AP_ALL 

Definition at line 380 of file llpermissions.h.


Constructor & Destructor Documentation

LLAggregatePermissions::LLAggregatePermissions (  ) 

Definition at line 914 of file llpermissions.cpp.

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


Member Function Documentation

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]

Definition at line 976 of file llpermissions.cpp.

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

Referenced by aggregate().

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

Definition at line 1000 of file llpermissions.cpp.

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

Referenced by aggregate().

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

Definition at line 946 of file llpermissions.cpp.

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

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().


Friends And Related Function Documentation

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

Definition at line 1092 of file llpermissions.cpp.


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:10 2010 for Second Life Viewer by  doxygen 1.4.7