add GetActiveMembershipData() to groups modules, let core groups also have GetMembershipData(), wait for client to ask for it not telling in OnNewClient, as other modules do.

LSLKeyTest
UbitUmarov 2016-08-04 20:57:57 +01:00
parent 4f17078b07
commit a66e747c95
4 changed files with 24 additions and 5 deletions

View File

@ -714,6 +714,12 @@ namespace OpenSim.Groups
return m_groupData.GetAgentGroupMembership(UUID.Zero.ToString(), agentID.ToString(), groupID);
}
public GroupMembershipData GetActiveMembershipData(UUID agentID)
{
string agentIDstr = agentID.ToString();
return m_groupData.GetAgentActiveMembership(agentIDstr, agentIDstr);
}
public void UpdateGroupInfo(IClientAPI remoteClient, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish)
{
if (m_debugEnabled) m_log.DebugFormat("[Groups]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name);

View File

@ -182,11 +182,6 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
m_ClientMap.Add(client.AgentId, client);
}
}
GroupMembershipData[] updateGroups = new GroupMembershipData[1];
updateGroups[0] = osGroup;
client.SendGroupMembership(updateGroups);
}
private void OnAgentDataUpdateRequest(IClientAPI remoteClient,
@ -237,6 +232,18 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
remote_client.SendGroupNameReply(groupUUID, groupnamereply);
}
public GroupMembershipData[] GetMembershipData(UUID agentID)
{
GroupMembershipData[] updateGroups = new GroupMembershipData[1];
updateGroups[0] = osGroup;
return updateGroups;
}
public GroupMembershipData GetActiveMembershipData(UUID agentID)
{
return osGroup;
}
private void OnClientClosed(UUID agentID, Scene scene)
{
lock (m_ClientMap)

View File

@ -76,6 +76,7 @@ namespace OpenSim.Region.Framework.Interfaces
GroupProfileData GroupProfileRequest(IClientAPI remoteClient, UUID groupID);
GroupMembershipData[] GetMembershipData(UUID UserID);
GroupMembershipData GetMembershipData(UUID GroupID, UUID UserID);
GroupMembershipData GetActiveMembershipData(UUID UserID);
void UpdateGroupInfo(IClientAPI remoteClient, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish);

View File

@ -837,6 +837,11 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
return m_groupData.GetAgentGroupMembership(UUID.Zero, agentID, groupID);
}
public GroupMembershipData GetActiveMembershipData(UUID agentID)
{
return m_groupData.GetAgentActiveMembership(agentID, agentID);
}
public void UpdateGroupInfo(IClientAPI remoteClient, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish)
{
if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name);