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); 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) 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); 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); m_ClientMap.Add(client.AgentId, client);
} }
} }
GroupMembershipData[] updateGroups = new GroupMembershipData[1];
updateGroups[0] = osGroup;
client.SendGroupMembership(updateGroups);
} }
private void OnAgentDataUpdateRequest(IClientAPI remoteClient, private void OnAgentDataUpdateRequest(IClientAPI remoteClient,
@ -237,6 +232,18 @@ namespace OpenSim.Region.CoreModules.Avatar.Groups
remote_client.SendGroupNameReply(groupUUID, groupnamereply); 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) private void OnClientClosed(UUID agentID, Scene scene)
{ {
lock (m_ClientMap) lock (m_ClientMap)

View File

@ -76,6 +76,7 @@ namespace OpenSim.Region.Framework.Interfaces
GroupProfileData GroupProfileRequest(IClientAPI remoteClient, UUID groupID); GroupProfileData GroupProfileRequest(IClientAPI remoteClient, UUID groupID);
GroupMembershipData[] GetMembershipData(UUID UserID); GroupMembershipData[] GetMembershipData(UUID UserID);
GroupMembershipData GetMembershipData(UUID GroupID, 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); 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); 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) 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); if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name);