C# Class Universe.Modules.Groups.GroupsModule

Inheritance: INonSharedRegionModule, IGroupsModule
Datei anzeigen Open project: Virtual-Universe/Virtual-Universe

Public Methods

Method Description
ActivateGroup ( IClientAPI remoteClient, UUID groupID ) : void
AddRegion ( IScene scene ) : void
BuildEvent ( string eventName, OSD eventBody ) : OSD
BuildOfflineGroupNotice ( GridInstantMessage msg ) : GridInstantMessage
Close ( ) : void
CreateGroup ( IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish ) : UUID
CreateGroupNoticeIM ( UUID agentID, GroupNoticeInfo info, byte dialog ) : GridInstantMessage
EjectGroupMember ( IClientAPI remoteClient, UUID agentID, UUID groupID, UUID ejecteeID ) : void
EjectGroupMemberRequest ( IClientAPI remoteClient, UUID groupID, UUID ejecteeID ) : void
GetAllGroups ( UUID requestingAgettID ) : List
GetGroupMembers ( UUID requestingAgentID, UUID groupID ) : List
GetGroupRecord ( UUID groupID ) : GroupRecord
GetGroupRecord ( string name ) : GroupRecord
GetGroupTitle ( UUID avatarID ) : string

Get the title of the agent's current role.

GetMembershipData ( UUID groupID, UUID agentID ) : GroupMembershipData
GetMembershipData ( UUID agentID ) : Universe.Framework.ClientInterfaces.GroupMembershipData[]
GroupMembersRequest ( IClientAPI remoteClient, UUID groupID ) : List
GroupNoticeRequest ( IClientAPI remoteClient, UUID groupNoticeID ) : void
GroupNoticesListRequest ( IClientAPI remoteClient, UUID groupID ) : Universe.Framework.ClientInterfaces.GroupNoticeData[]
GroupPermissionCheck ( UUID agentID, UUID groupID, GroupPowers permissions ) : bool

WARNING: This is not the only place permissions are checked! They are checked in each of the connectors as well!

GroupProfileRequest ( IClientAPI remoteClient, UUID groupID ) : GroupProfileData
GroupRoleChanges ( IClientAPI remoteClient, UUID groupID, UUID roleID, UUID memberID, uint changes ) : void
GroupRoleDataRequest ( IClientAPI remoteClient, UUID groupID ) : List
GroupRoleMembersRequest ( IClientAPI remoteClient, UUID groupID ) : List
GroupRoleUpdate ( IClientAPI remoteClient, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, byte updateType ) : void
GroupTitleUpdate ( IClientAPI remoteClient, UUID groupID, UUID titleRoleID ) : void

Change the current Active Group Role for Agent

GroupTitlesRequest ( IClientAPI remoteClient, UUID groupID ) : List

Get the Role Titles for an Agent, for a specific group

Initialize ( IConfigSource config ) : void
InviteGroup ( IClientAPI remoteClient, UUID agentID, UUID groupID, UUID invitedAgentID, UUID roleID ) : void
InviteGroupRequest ( IClientAPI remoteClient, UUID groupID, UUID invitedAgentID, UUID roleID ) : void
IsGroup ( UUID groupID ) : bool
JoinGroupRequest ( IClientAPI remoteClient, UUID groupID ) : void
LeaveGroupRequest ( IClientAPI remoteClient, UUID groupID ) : void
NotifyChange ( UUID groupID ) : void
RegionLoaded ( IScene scene ) : void
RemoveRegion ( IScene scene ) : void
SendAgentGroupDataUpdate ( IClientAPI remoteClient ) : void
SendGroupNoticeToUsers ( IClientAPI remoteClient, GroupNoticeInfo notice, bool localOnly ) : void
SetGroupAcceptNotices ( IClientAPI remoteClient, UUID groupID, bool acceptNotices, bool listInProfile ) : void
UpdateCachedData ( UUID agentID, CachedUserInfo cachedInfo ) : void
UpdateGroupInfo ( IClientAPI remoteClient, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish ) : void
UpdateUsersForExternalRoleUpdate ( UUID groupID, UUID roleID, UUID regionID ) : void

Protected Methods

Method Description
OnMakeRootAgent ( IScenePresence sp ) : void
OnRegisterCaps ( UUID agentID, IHttpServer server ) : OSDMap

Private Methods

Method Description
AddToGroupPowersCache ( UUID agentID, UUID groupID, ulong powers ) : void
AttemptFindGroupMembershipData ( UUID requestingAgentID, UUID agentID, UUID groupID ) : GroupMembershipData
BuildGroupNoticeIM ( GroupNoticeInfo data, UUID groupNoticeID, UUID AgentID ) : GridInstantMessage
CreateBitBucketForGroupAttachment ( GroupNoticeData groupNoticeData, UUID groupID ) : byte[]
EventManager_OnClientLogin ( IClientAPI client ) : void
GetActiveClient ( UUID agentID ) : IClientAPI

Try to find an active IClientAPI reference for agentID giving preference to root connections

GetProfileListedGroupMemberships ( IClientAPI requestingClient, UUID dataForAgentID ) : Universe.Framework.ClientInterfaces.GroupMembershipData[]

Get a list of groups memberships for the agent that are marked "ListInProfile"

GetRequestingAgentID ( IClientAPI client ) : UUID
GroupActiveProposalsRequest ( IClientAPI client, UUID agentID, UUID sessionID, UUID groupID, UUID transactionID ) : void
GroupProposalBallot ( string request, UUID agentID ) : byte[]
GroupProposalBallotRequest ( IClientAPI client, UUID agentID, UUID sessionID, UUID groupID, UUID proposalID, string vote ) : void
GroupVoteHistoryRequest ( IClientAPI client, UUID agentID, UUID sessionID, UUID groupID, UUID transactionID ) : void
HandleUUIDGroupNameRequest ( UUID groupID, IClientAPI remoteClient ) : void
NullCacheInfos ( UUID groupID ) : void
NullCacheInfos ( UUID agentID, UUID groupID ) : void
OnAgentDataUpdateRequest ( IClientAPI remoteClient, UUID dataForAgentID, UUID sessionID ) : void
OnAgentDataUpdateRequest ( IClientAPI remoteClient, UUID dataForAgentID, UUID sessionID, bool sendToAll ) : void
OnClosingClient ( IClientAPI client ) : void
OnDirFindQuery ( IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart ) : void
OnGridInstantMessage ( GridInstantMessage msg ) : void
OnInstantMessage ( IClientAPI remoteClient, GridInstantMessage im ) : void
OnNewClient ( IClientAPI client ) : void
OnRequestAvatarProperties ( IClientAPI remoteClient, UUID avatarID ) : void
OutgoingInstantMessage ( GridInstantMessage msg, UUID msgTo ) : void
OutgoingInstantMessage ( GridInstantMessage msg, UUID msgTo, bool localOnly ) : void
RemoveFromGroupPowersCache ( UUID groupID ) : void
RemoveFromGroupPowersCache ( UUID agentID, UUID groupID ) : void
SendAgentGroupDataUpdate ( IClientAPI remoteClient, UUID dataForAgentID ) : void

Update remoteClient with group information about dataForAgentID

SendGroupMembershipInfoViaCaps ( IClientAPI remoteClient, UUID dataForAgentID, GroupMembershipData data ) : void

Send 'remoteClient' the group membership 'data' for agent 'dataForAgentID'.

SendNewAgentGroupDataUpdate ( IClientAPI remoteClient ) : void

Update remoteClient with group information about dataForAgentID

SendScenePresenceUpdate ( UUID agentID, string title ) : void
StartGroupProposal ( string request, UUID agentID ) : byte[]
UpdateAllClientsWithGroupInfo ( UUID dataForAgentID, string activeGroupTitle ) : void

Send updates to all clients who might be interested in groups data for dataForClientID

Method Details

ActivateGroup() public method

public ActivateGroup ( IClientAPI remoteClient, UUID groupID ) : void
remoteClient IClientAPI
groupID UUID
return void

AddRegion() public method

public AddRegion ( IScene scene ) : void
scene IScene
return void

BuildEvent() public method

public BuildEvent ( string eventName, OSD eventBody ) : OSD
eventName string
eventBody OSD
return OSD

BuildOfflineGroupNotice() public method

public BuildOfflineGroupNotice ( GridInstantMessage msg ) : GridInstantMessage
msg Universe.Framework.ClientInterfaces.GridInstantMessage
return Universe.Framework.ClientInterfaces.GridInstantMessage

Close() public method

public Close ( ) : void
return void

CreateGroup() public method

public CreateGroup ( IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish ) : UUID
remoteClient IClientAPI
name string
charter string
showInList bool
insigniaID UUID
membershipFee int
openEnrollment bool
allowPublish bool
maturePublish bool
return UUID

CreateGroupNoticeIM() public method

public CreateGroupNoticeIM ( UUID agentID, GroupNoticeInfo info, byte dialog ) : GridInstantMessage
agentID UUID
info Universe.Framework.DatabaseInterfaces.GroupNoticeInfo
dialog byte
return Universe.Framework.ClientInterfaces.GridInstantMessage

EjectGroupMember() public method

public EjectGroupMember ( IClientAPI remoteClient, UUID agentID, UUID groupID, UUID ejecteeID ) : void
remoteClient IClientAPI
agentID UUID
groupID UUID
ejecteeID UUID
return void

EjectGroupMemberRequest() public method

public EjectGroupMemberRequest ( IClientAPI remoteClient, UUID groupID, UUID ejecteeID ) : void
remoteClient IClientAPI
groupID UUID
ejecteeID UUID
return void

GetAllGroups() public method

public GetAllGroups ( UUID requestingAgettID ) : List
requestingAgettID UUID
return List

GetGroupMembers() public method

public GetGroupMembers ( UUID requestingAgentID, UUID groupID ) : List
requestingAgentID UUID
groupID UUID
return List

GetGroupRecord() public method

public GetGroupRecord ( UUID groupID ) : GroupRecord
groupID UUID
return Universe.Framework.ClientInterfaces.GroupRecord

GetGroupRecord() public method

public GetGroupRecord ( string name ) : GroupRecord
name string
return Universe.Framework.ClientInterfaces.GroupRecord

GetGroupTitle() public method

Get the title of the agent's current role.
public GetGroupTitle ( UUID avatarID ) : string
avatarID UUID
return string

GetMembershipData() public method

public GetMembershipData ( UUID groupID, UUID agentID ) : GroupMembershipData
groupID UUID
agentID UUID
return Universe.Framework.ClientInterfaces.GroupMembershipData

GetMembershipData() public method

public GetMembershipData ( UUID agentID ) : Universe.Framework.ClientInterfaces.GroupMembershipData[]
agentID UUID
return Universe.Framework.ClientInterfaces.GroupMembershipData[]

GroupMembersRequest() public method

public GroupMembersRequest ( IClientAPI remoteClient, UUID groupID ) : List
remoteClient IClientAPI
groupID UUID
return List

GroupNoticeRequest() public method

public GroupNoticeRequest ( IClientAPI remoteClient, UUID groupNoticeID ) : void
remoteClient IClientAPI
groupNoticeID UUID
return void

GroupNoticesListRequest() public method

public GroupNoticesListRequest ( IClientAPI remoteClient, UUID groupID ) : Universe.Framework.ClientInterfaces.GroupNoticeData[]
remoteClient IClientAPI
groupID UUID
return Universe.Framework.ClientInterfaces.GroupNoticeData[]

GroupPermissionCheck() public method

WARNING: This is not the only place permissions are checked! They are checked in each of the connectors as well!
public GroupPermissionCheck ( UUID agentID, UUID groupID, GroupPowers permissions ) : bool
agentID UUID
groupID UUID
permissions GroupPowers
return bool

GroupProfileRequest() public method

public GroupProfileRequest ( IClientAPI remoteClient, UUID groupID ) : GroupProfileData
remoteClient IClientAPI
groupID UUID
return Universe.Framework.ClientInterfaces.GroupProfileData

GroupRoleChanges() public method

public GroupRoleChanges ( IClientAPI remoteClient, UUID groupID, UUID roleID, UUID memberID, uint changes ) : void
remoteClient IClientAPI
groupID UUID
roleID UUID
memberID UUID
changes uint
return void

GroupRoleDataRequest() public method

public GroupRoleDataRequest ( IClientAPI remoteClient, UUID groupID ) : List
remoteClient IClientAPI
groupID UUID
return List

GroupRoleMembersRequest() public method

public GroupRoleMembersRequest ( IClientAPI remoteClient, UUID groupID ) : List
remoteClient IClientAPI
groupID UUID
return List

GroupRoleUpdate() public method

public GroupRoleUpdate ( IClientAPI remoteClient, UUID groupID, UUID roleID, string name, string description, string title, ulong powers, byte updateType ) : void
remoteClient IClientAPI
groupID UUID
roleID UUID
name string
description string
title string
powers ulong
updateType byte
return void

GroupTitleUpdate() public method

Change the current Active Group Role for Agent
public GroupTitleUpdate ( IClientAPI remoteClient, UUID groupID, UUID titleRoleID ) : void
remoteClient IClientAPI
groupID UUID
titleRoleID UUID
return void

GroupTitlesRequest() public method

Get the Role Titles for an Agent, for a specific group
public GroupTitlesRequest ( IClientAPI remoteClient, UUID groupID ) : List
remoteClient IClientAPI
groupID UUID
return List

Initialize() public method

public Initialize ( IConfigSource config ) : void
config IConfigSource
return void

InviteGroup() public method

public InviteGroup ( IClientAPI remoteClient, UUID agentID, UUID groupID, UUID invitedAgentID, UUID roleID ) : void
remoteClient IClientAPI
agentID UUID
groupID UUID
invitedAgentID UUID
roleID UUID
return void

InviteGroupRequest() public method

public InviteGroupRequest ( IClientAPI remoteClient, UUID groupID, UUID invitedAgentID, UUID roleID ) : void
remoteClient IClientAPI
groupID UUID
invitedAgentID UUID
roleID UUID
return void

IsGroup() public method

public IsGroup ( UUID groupID ) : bool
groupID UUID
return bool

JoinGroupRequest() public method

public JoinGroupRequest ( IClientAPI remoteClient, UUID groupID ) : void
remoteClient IClientAPI
groupID UUID
return void

LeaveGroupRequest() public method

public LeaveGroupRequest ( IClientAPI remoteClient, UUID groupID ) : void
remoteClient IClientAPI
groupID UUID
return void

NotifyChange() public method

public NotifyChange ( UUID groupID ) : void
groupID UUID
return void

OnMakeRootAgent() protected method

protected OnMakeRootAgent ( IScenePresence sp ) : void
sp IScenePresence
return void

OnRegisterCaps() protected method

protected OnRegisterCaps ( UUID agentID, IHttpServer server ) : OSDMap
agentID UUID
server IHttpServer
return OSDMap

RegionLoaded() public method

public RegionLoaded ( IScene scene ) : void
scene IScene
return void

RemoveRegion() public method

public RemoveRegion ( IScene scene ) : void
scene IScene
return void

SendAgentGroupDataUpdate() public method

public SendAgentGroupDataUpdate ( IClientAPI remoteClient ) : void
remoteClient IClientAPI
return void

SendGroupNoticeToUsers() public method

public SendGroupNoticeToUsers ( IClientAPI remoteClient, GroupNoticeInfo notice, bool localOnly ) : void
remoteClient IClientAPI
notice Universe.Framework.DatabaseInterfaces.GroupNoticeInfo
localOnly bool
return void

SetGroupAcceptNotices() public method

public SetGroupAcceptNotices ( IClientAPI remoteClient, UUID groupID, bool acceptNotices, bool listInProfile ) : void
remoteClient IClientAPI
groupID UUID
acceptNotices bool
listInProfile bool
return void

UpdateCachedData() public method

public UpdateCachedData ( UUID agentID, CachedUserInfo cachedInfo ) : void
agentID UUID
cachedInfo Universe.Framework.Services.CachedUserInfo
return void

UpdateGroupInfo() public method

public UpdateGroupInfo ( IClientAPI remoteClient, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish ) : void
remoteClient IClientAPI
groupID UUID
charter string
showInList bool
insigniaID UUID
membershipFee int
openEnrollment bool
allowPublish bool
maturePublish bool
return void

UpdateUsersForExternalRoleUpdate() public method

public UpdateUsersForExternalRoleUpdate ( UUID groupID, UUID roleID, UUID regionID ) : void
groupID UUID
roleID UUID
regionID UUID
return void