LLGroupMgrGroupData Class Reference

#include <llgroupmgr.h>

Collaboration diagram for LLGroupMgrGroupData:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::map< LLUUID,
LLGroupMemberData * > 
member_list
typedef member_list::iterator member_iter
typedef std::map< LLUUID,
LLGroupRoleData * > 
role_list
typedef role_list::iterator role_iter

Public Member Functions

 LLGroupMgrGroupData (const LLUUID &id)
 ~LLGroupMgrGroupData ()
const LLUUIDgetID ()
BOOL getRoleData (const LLUUID &role_id, LLRoleData &role_data)
void setRoleData (const LLUUID &role_id, LLRoleData role_data)
void createRole (const LLUUID &role_id, LLRoleData role_data)
void deleteRole (const LLUUID &role_id)
BOOL pendingRoleChanges ()
void addRolePower (const LLUUID &role_id, U64 power)
void removeRolePower (const LLUUID &role_id, U64 power)
U64 getRolePowers (const LLUUID &role_id)
void removeData ()
void removeRoleData ()
void removeMemberData ()
void removeRoleMemberData ()
bool changeRoleMember (const LLUUID &role_id, const LLUUID &member_id, LLRoleMemberChangeType rmc)
void recalcAllAgentPowers ()
void recalcAgentPowers (const LLUUID &agent_id)
BOOL isMemberDataComplete ()
BOOL isRoleDataComplete ()
BOOL isRoleMemberDataComplete ()
BOOL isGroupPropertiesDataComplete ()

Public Attributes

member_list mMembers
role_list mRoles
change_map mRoleMemberChanges
std::map< LLUUID, LLRoleDatamRoleChanges
std::vector< LLGroupTitlemTitles
LLUUID mID
LLUUID mOwnerRole
std::string mName
std::string mCharter
BOOL mShowInList
LLUUID mInsigniaID
LLUUID mFounderID
BOOL mOpenEnrollment
S32 mMembershipFee
BOOL mAllowPublish
BOOL mListInProfile
BOOL mMaturePublish
BOOL mChanged
S32 mMemberCount
S32 mRoleCount

Protected Member Functions

void sendRoleChanges ()
void cancelRoleChanges ()

Private Attributes

LLUUID mMemberRequestID
LLUUID mRoleDataRequestID
LLUUID mRoleMembersRequestID
LLUUID mTitlesRequestID
U32 mReceivedRoleMemberPairs
BOOL mMemberDataComplete
BOOL mRoleDataComplete
BOOL mRoleMemberDataComplete
BOOL mGroupPropertiesDataComplete
BOOL mPendingRoleMemberRequest

Friends

class LLGroupMgr

Detailed Description

Definition at line 199 of file llgroupmgr.h.


Member Typedef Documentation

typedef member_list::iterator LLGroupMgrGroupData::member_iter

Definition at line 235 of file llgroupmgr.h.

typedef std::map<LLUUID,LLGroupMemberData*> LLGroupMgrGroupData::member_list

Definition at line 234 of file llgroupmgr.h.

typedef role_list::iterator LLGroupMgrGroupData::role_iter

Definition at line 237 of file llgroupmgr.h.

typedef std::map<LLUUID,LLGroupRoleData*> LLGroupMgrGroupData::role_list

Definition at line 236 of file llgroupmgr.h.


Constructor & Destructor Documentation

LLGroupMgrGroupData::LLGroupMgrGroupData ( const LLUUID id  ) 

Definition at line 215 of file llgroupmgr.cpp.

LLGroupMgrGroupData::~LLGroupMgrGroupData (  ) 

Definition at line 462 of file llgroupmgr.cpp.

References removeData().


Member Function Documentation

void LLGroupMgrGroupData::addRolePower ( const LLUUID role_id,
U64  power 
)

Definition at line 357 of file llgroupmgr.cpp.

References getRoleData(), llendl, llwarns, LLRoleData::mRolePowers, and setRoleData().

Referenced by LLPanelGroupRolesSubTab::handleActionCheck(), and LLPanelGroupRolesSubTab::handleMemberVisibilityChange().

void LLGroupMgrGroupData::cancelRoleChanges (  )  [protected]

Definition at line 726 of file llgroupmgr.cpp.

References mRoleChanges.

Referenced by LLGroupMgr::cancelGroupRoleChanges().

bool LLGroupMgrGroupData::changeRoleMember ( const LLUUID role_id,
const LLUUID member_id,
LLRoleMemberChangeType  rmc 
)

Definition at line 467 of file llgroupmgr.cpp.

References LLGroupRoleData::addMember(), LLGroupMemberData::addRole(), FALSE, llendl, llinfos, llwarns, mChanged, LLGroupMemberData::mIsOwner, mMembers, mOwnerRole, mRoleMemberChanges, mRoles, recalcAgentPowers(), LLGroupRoleData::removeMember(), LLGroupMemberData::removeRole(), RMC_ADD, RMC_NONE, RMC_REMOVE, and TRUE.

Referenced by LLPanelGroupMembersSubTab::applyMemberChanges().

void LLGroupMgrGroupData::createRole ( const LLUUID role_id,
LLRoleData  role_data 
)

Definition at line 326 of file llgroupmgr.cpp.

References llendl, llwarns, LLRoleData::mChangeType, mRoleChanges, and RC_CREATE.

Referenced by LLPanelGroupRolesSubTab::handleCreateRole().

void LLGroupMgrGroupData::deleteRole ( const LLUUID role_id  ) 

Definition at line 339 of file llgroupmgr.cpp.

References LLRoleData::mChangeType, mRoleChanges, RC_CREATE, and RC_DELETE.

Referenced by LLPanelGroupRolesSubTab::handleDeleteRole().

const LLUUID& LLGroupMgrGroupData::getID (  )  [inline]

Definition at line 207 of file llgroupmgr.h.

References mID.

Referenced by LLGroupMgr::addGroup(), sendRoleChanges(), and LLGroupMgr::sendUpdateGroupInfo().

BOOL LLGroupMgrGroupData::getRoleData ( const LLUUID role_id,
LLRoleData role_data 
)

Definition at line 235 of file llgroupmgr.cpp.

References FALSE, mRoleChanges, mRoles, RC_DELETE, and TRUE.

Referenced by LLPanelGroupInvite::impl::addRoleNames(), addRolePower(), LLPanelGroupMembersSubTab::apply(), getRolePowers(), LLPanelGroupRolesSubTab::handleActionCheck(), LLPanelGroupMembersSubTab::handleMemberSelect(), LLPanelGroupRolesSubTab::handleRoleSelect(), removeRolePower(), LLPanelGroupRolesSubTab::saveRoleChanges(), and LLPanelGroupRolesSubTab::update().

U64 LLGroupMgrGroupData::getRolePowers ( const LLUUID role_id  ) 

Definition at line 385 of file llgroupmgr.cpp.

References getRoleData(), GP_NO_POWERS, llendl, llwarns, and LLRoleData::mRolePowers.

Referenced by LLPanelGroupMembersSubTab::getAgentPowersBasedOnRoleChanges().

BOOL LLGroupMgrGroupData::isGroupPropertiesDataComplete (  )  [inline]

Definition at line 231 of file llgroupmgr.h.

References mGroupPropertiesDataComplete.

Referenced by LLPanelGroupRoles::activate(), and LLPanelGroupInvite::updateLists().

BOOL LLGroupMgrGroupData::isMemberDataComplete (  )  [inline]

Definition at line 228 of file llgroupmgr.h.

References mMemberDataComplete.

Referenced by LLPanelGroupRoles::activate(), LLPanelGroupGeneral::activate(), LLPanelGroupActionsSubTab::handleActionSelect(), LLGroupMgr::sendGroupRoleMembersRequest(), LLPanelGroupRolesSubTab::update(), LLPanelGroupMembersSubTab::update(), LLPanelGroupGeneral::update(), LLPanelGroupInvite::updateLists(), LLPanelGroupMembersSubTab::updateMembers(), and LLPanelGroupGeneral::updateMembers().

BOOL LLGroupMgrGroupData::isRoleDataComplete (  )  [inline]

Definition at line 229 of file llgroupmgr.h.

References mRoleDataComplete.

Referenced by LLPanelGroupRoles::activate(), LLPanelGroupActionsSubTab::handleActionSelect(), LLGroupMgr::sendGroupRoleMembersRequest(), LLPanelGroupRolesSubTab::update(), LLPanelGroupMembersSubTab::update(), LLPanelGroupInvite::updateLists(), and LLPanelGroupMembersSubTab::updateMembers().

BOOL LLGroupMgrGroupData::isRoleMemberDataComplete (  )  [inline]

Definition at line 230 of file llgroupmgr.h.

References mRoleMemberDataComplete.

Referenced by LLPanelGroupRoles::activate(), LLPanelGroupRolesSubTab::update(), LLPanelGroupMembersSubTab::update(), and LLPanelGroupMembersSubTab::updateMembers().

BOOL LLGroupMgrGroupData::pendingRoleChanges (  ) 

Definition at line 320 of file llgroupmgr.cpp.

References mRoleChanges.

Referenced by LLPanelGroupRolesSubTab::needsApply(), and LLGroupMgr::sendGroupRoleChanges().

void LLGroupMgrGroupData::recalcAgentPowers ( const LLUUID agent_id  ) 

Definition at line 579 of file llgroupmgr.cpp.

References end, LLGroupMemberData::mAgentPowers, mMembers, and LLGroupMemberData::mRoles.

Referenced by changeRoleMember().

void LLGroupMgrGroupData::recalcAllAgentPowers (  ) 

Definition at line 554 of file llgroupmgr.cpp.

References end, LLGroupMemberData::mAgentPowers, mMembers, and LLGroupMemberData::mRoles.

Referenced by sendRoleChanges().

void LLGroupMgrGroupData::removeData (  ) 

Definition at line 399 of file llgroupmgr.cpp.

References removeMemberData(), and removeRoleData().

Referenced by ~LLGroupMgrGroupData().

void LLGroupMgrGroupData::removeMemberData (  ) 

Definition at line 406 of file llgroupmgr.cpp.

References FALSE, mMemberDataComplete, and mMembers.

Referenced by removeData(), and LLGroupMgr::sendGroupMembersRequest().

void LLGroupMgrGroupData::removeRoleData (  ) 

Definition at line 416 of file llgroupmgr.cpp.

References FALSE, mMembers, mReceivedRoleMemberPairs, mRoleDataComplete, mRoleMemberDataComplete, and mRoles.

Referenced by removeData(), and LLGroupMgr::sendGroupRoleDataRequest().

void LLGroupMgrGroupData::removeRoleMemberData (  ) 

Definition at line 438 of file llgroupmgr.cpp.

References FALSE, mMembers, mReceivedRoleMemberPairs, mRoleMemberDataComplete, and mRoles.

Referenced by LLGroupMgr::sendGroupRoleMembersRequest(), and sendRoleChanges().

void LLGroupMgrGroupData::removeRolePower ( const LLUUID role_id,
U64  power 
)

Definition at line 371 of file llgroupmgr.cpp.

References getRoleData(), llendl, llwarns, LLRoleData::mRolePowers, and setRoleData().

Referenced by LLPanelGroupRolesSubTab::handleActionCheck(), and LLPanelGroupRolesSubTab::handleMemberVisibilityChange().

void LLGroupMgrGroupData::sendRoleChanges (  )  [protected]

Definition at line 634 of file llgroupmgr.cpp.

References end, gAgent, getID(), gGroupMgr, gMessageSystem, mRoleChanges, mRoles, packRoleUpdateMessageBlock(), RC_CREATE, RC_DELETE, RC_UPDATE_ALL, RC_UPDATE_DATA, RC_UPDATE_POWERS, recalcAllAgentPowers(), removeRoleMemberData(), LLGroupMgr::sendGroupRoleDataRequest(), LLAgent::sendReliableMessage(), and LLGroupRoleData::setRoleData().

Referenced by LLGroupMgr::sendGroupRoleChanges().

void LLGroupMgrGroupData::setRoleData ( const LLUUID role_id,
LLRoleData  role_data 
)

Definition at line 262 of file llgroupmgr.cpp.

References llendl, llwarns, LLRoleData::mChangeType, mRoleChanges, LLRoleData::mRoleDescription, LLRoleData::mRoleName, LLRoleData::mRolePowers, mRoles, LLRoleData::mRoleTitle, RC_CREATE, RC_DELETE, RC_UPDATE_ALL, RC_UPDATE_DATA, and RC_UPDATE_POWERS.

Referenced by addRolePower(), removeRolePower(), and LLPanelGroupRolesSubTab::saveRoleChanges().


Friends And Related Function Documentation

friend class LLGroupMgr [friend]

Definition at line 201 of file llgroupmgr.h.


Member Data Documentation

BOOL LLGroupMgrGroupData::mAllowPublish

Definition at line 257 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupPropertiesReply(), and LLGroupMgr::sendUpdateGroupInfo().

BOOL LLGroupMgrGroupData::mChanged

Definition at line 260 of file llgroupmgr.h.

Referenced by changeRoleMember(), LLGroupMgr::processGroupMembersReply(), LLGroupMgr::processGroupPropertiesReply(), LLGroupMgr::processGroupRoleDataReply(), LLGroupMgr::processGroupRoleMembersReply(), LLGroupMgr::processGroupTitlesReply(), LLGroupMgr::sendGroupRoleChanges(), LLGroupMgr::sendGroupRoleMemberChanges(), and LLGroupMgr::sendUpdateGroupInfo().

std::string LLGroupMgrGroupData::mCharter

Definition at line 251 of file llgroupmgr.h.

Referenced by LLPanelGroupGeneral::apply(), LLGroupMgr::processGroupPropertiesReply(), LLGroupMgr::sendUpdateGroupInfo(), and LLPanelGroupGeneral::update().

LLUUID LLGroupMgrGroupData::mFounderID

Definition at line 254 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupPropertiesReply(), and LLPanelGroupGeneral::update().

BOOL LLGroupMgrGroupData::mGroupPropertiesDataComplete [private]

Definition at line 278 of file llgroupmgr.h.

Referenced by isGroupPropertiesDataComplete(), and LLGroupMgr::processGroupPropertiesReply().

LLUUID LLGroupMgrGroupData::mID

Definition at line 248 of file llgroupmgr.h.

Referenced by getID(), LLGroupMgr::processGroupMembersReply(), and LLGroupMgr::processGroupRoleDataReply().

LLUUID LLGroupMgrGroupData::mInsigniaID

Definition at line 253 of file llgroupmgr.h.

Referenced by LLPanelGroupGeneral::apply(), LLGroupMgr::processGroupPropertiesReply(), LLGroupMgr::sendUpdateGroupInfo(), and LLPanelGroupGeneral::update().

BOOL LLGroupMgrGroupData::mListInProfile

Definition at line 258 of file llgroupmgr.h.

BOOL LLGroupMgrGroupData::mMaturePublish

Definition at line 259 of file llgroupmgr.h.

Referenced by LLPanelGroupGeneral::apply(), LLGroupMgr::processGroupPropertiesReply(), LLGroupMgr::sendUpdateGroupInfo(), and LLPanelGroupGeneral::update().

S32 LLGroupMgrGroupData::mMemberCount

Definition at line 261 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupMembersReply(), LLGroupMgr::processGroupPropertiesReply(), LLPanelGroupVoting::update(), LLPanelGroupMembersSubTab::update(), and LLPanelGroupGeneral::update().

BOOL LLGroupMgrGroupData::mMemberDataComplete [private]

Definition at line 275 of file llgroupmgr.h.

Referenced by isMemberDataComplete(), LLGroupMgr::processGroupMembersReply(), removeMemberData(), and LLGroupMgr::sendGroupRoleMembersRequest().

LLUUID LLGroupMgrGroupData::mMemberRequestID [private]

Definition at line 269 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupMembersReply(), and LLGroupMgr::sendGroupMembersRequest().

member_list LLGroupMgrGroupData::mMembers

Definition at line 239 of file llgroupmgr.h.

Referenced by LLPanelGroupInvite::impl::addRoleNames(), agentCanAddToRole(), LLPanelGroupRolesSubTab::buildMembersList(), changeRoleMember(), LLPanelGroupMembersSubTab::getAgentPowersBasedOnRoleChanges(), LLPanelGroupActionsSubTab::handleActionSelect(), LLPanelGroupMembersSubTab::handleMemberSelect(), LLGroupMgr::processGroupMembersReply(), LLGroupMgr::processGroupRoleMembersReply(), recalcAgentPowers(), recalcAllAgentPowers(), removeMemberData(), removeRoleData(), removeRoleMemberData(), LLGroupMgr::sendGroupMemberEjects(), LLPanelGroupRolesSubTab::update(), LLPanelGroupMembersSubTab::update(), LLPanelGroupGeneral::update(), LLPanelGroupMembersSubTab::updateMembers(), and LLPanelGroupGeneral::updateMembers().

S32 LLGroupMgrGroupData::mMembershipFee

Definition at line 256 of file llgroupmgr.h.

Referenced by LLPanelGroupGeneral::apply(), LLPanelGroupGeneral::onClickJoin(), LLGroupMgr::processGroupPropertiesReply(), LLGroupMgr::sendUpdateGroupInfo(), and LLPanelGroupGeneral::update().

std::string LLGroupMgrGroupData::mName

Definition at line 250 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupPropertiesReply(), LLPanelGroupGeneral::update(), and LLPanelGroupInvite::updateLists().

BOOL LLGroupMgrGroupData::mOpenEnrollment

Definition at line 255 of file llgroupmgr.h.

Referenced by LLPanelGroupGeneral::apply(), LLGroupMgr::processGroupPropertiesReply(), LLGroupMgr::sendUpdateGroupInfo(), and LLPanelGroupGeneral::update().

LLUUID LLGroupMgrGroupData::mOwnerRole

Definition at line 249 of file llgroupmgr.h.

Referenced by LLPanelGroupInvite::impl::addRoleNames(), agentCanAddToRole(), LLPanelGroupMembersSubTab::apply(), changeRoleMember(), LLPanelGroupRolesSubTab::handleDeleteRole(), LLPanelGroupMembersSubTab::handleMemberSelect(), LLPanelGroupMembersSubTab::handleRoleCheck(), LLPanelGroupRolesSubTab::handleRoleSelect(), and LLGroupMgr::processGroupPropertiesReply().

BOOL LLGroupMgrGroupData::mPendingRoleMemberRequest [private]

Definition at line 280 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupMembersReply(), LLGroupMgr::processGroupRoleDataReply(), and LLGroupMgr::sendGroupRoleMembersRequest().

U32 LLGroupMgrGroupData::mReceivedRoleMemberPairs [private]

Definition at line 273 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupRoleMembersReply(), removeRoleData(), and removeRoleMemberData().

std::map<LLUUID,LLRoleData> LLGroupMgrGroupData::mRoleChanges

Definition at line 244 of file llgroupmgr.h.

Referenced by cancelRoleChanges(), createRole(), deleteRole(), getRoleData(), pendingRoleChanges(), sendRoleChanges(), and setRoleData().

S32 LLGroupMgrGroupData::mRoleCount

Definition at line 262 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupPropertiesReply(), LLGroupMgr::processGroupRoleDataReply(), and LLPanelGroupMembersSubTab::update().

BOOL LLGroupMgrGroupData::mRoleDataComplete [private]

Definition at line 276 of file llgroupmgr.h.

Referenced by isRoleDataComplete(), LLGroupMgr::processGroupRoleDataReply(), removeRoleData(), and LLGroupMgr::sendGroupRoleMembersRequest().

LLUUID LLGroupMgrGroupData::mRoleDataRequestID [private]

Definition at line 270 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupRoleDataReply(), and LLGroupMgr::sendGroupRoleDataRequest().

change_map LLGroupMgrGroupData::mRoleMemberChanges

Definition at line 243 of file llgroupmgr.h.

Referenced by changeRoleMember(), and LLGroupMgr::sendGroupRoleMemberChanges().

BOOL LLGroupMgrGroupData::mRoleMemberDataComplete [private]

Definition at line 277 of file llgroupmgr.h.

Referenced by isRoleMemberDataComplete(), LLGroupMgr::processGroupRoleMembersReply(), removeRoleData(), and removeRoleMemberData().

LLUUID LLGroupMgrGroupData::mRoleMembersRequestID [private]

Definition at line 271 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupRoleMembersReply(), and LLGroupMgr::sendGroupRoleMembersRequest().

role_list LLGroupMgrGroupData::mRoles

Definition at line 240 of file llgroupmgr.h.

Referenced by LLPanelGroupInvite::impl::addRoleNames(), LLPanelGroupRolesSubTab::buildMembersList(), changeRoleMember(), getRoleData(), LLPanelGroupActionsSubTab::handleActionSelect(), LLPanelGroupMembersSubTab::handleMemberSelect(), LLGroupMgr::processGroupRoleDataReply(), LLGroupMgr::processGroupRoleMembersReply(), removeRoleData(), removeRoleMemberData(), sendRoleChanges(), setRoleData(), LLPanelGroupRolesSubTab::update(), and LLPanelGroupMembersSubTab::update().

BOOL LLGroupMgrGroupData::mShowInList

Definition at line 252 of file llgroupmgr.h.

Referenced by LLPanelGroupGeneral::apply(), LLGroupMgr::processGroupPropertiesReply(), LLGroupMgr::sendUpdateGroupInfo(), and LLPanelGroupGeneral::update().

std::vector<LLGroupTitle> LLGroupMgrGroupData::mTitles

Definition at line 246 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupTitlesReply(), LLGroupMgr::sendGroupTitlesRequest(), LLGroupMgr::sendGroupTitleUpdate(), and LLPanelGroupGeneral::update().

LLUUID LLGroupMgrGroupData::mTitlesRequestID [private]

Definition at line 272 of file llgroupmgr.h.

Referenced by LLGroupMgr::processGroupTitlesReply(), and LLGroupMgr::sendGroupTitlesRequest().


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