Make the UserManagementModule inheritable
parent
cdfbf78d07
commit
f800f5ba57
|
@ -66,7 +66,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
|
|
||||||
#region ISharedRegionModule
|
#region ISharedRegionModule
|
||||||
|
|
||||||
public void Initialise(IConfigSource config)
|
public virtual void Initialise(IConfigSource config)
|
||||||
{
|
{
|
||||||
string umanmod = config.Configs["Modules"].GetString("UserManagementModule", Name);
|
string umanmod = config.Configs["Modules"].GetString("UserManagementModule", Name);
|
||||||
if (umanmod == Name)
|
if (umanmod == Name)
|
||||||
|
@ -88,7 +88,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
m_DisplayChangingHomeURI = userManagementConfig.GetBoolean("DisplayChangingHomeURI", false);
|
m_DisplayChangingHomeURI = userManagementConfig.GetBoolean("DisplayChangingHomeURI", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsSharedModule
|
public virtual bool IsSharedModule
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return true; }
|
||||||
}
|
}
|
||||||
|
@ -98,12 +98,12 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
get { return "BasicUserManagementModule"; }
|
get { return "BasicUserManagementModule"; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public Type ReplaceableInterface
|
public virtual Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return null; }
|
get { return null; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddRegion(Scene scene)
|
public virtual void AddRegion(Scene scene)
|
||||||
{
|
{
|
||||||
if (m_Enabled)
|
if (m_Enabled)
|
||||||
{
|
{
|
||||||
|
@ -119,7 +119,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveRegion(Scene scene)
|
public virtual void RemoveRegion(Scene scene)
|
||||||
{
|
{
|
||||||
if (m_Enabled)
|
if (m_Enabled)
|
||||||
{
|
{
|
||||||
|
@ -131,17 +131,17 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegionLoaded(Scene s)
|
public virtual void RegionLoaded(Scene s)
|
||||||
{
|
{
|
||||||
if (m_Enabled && m_ServiceThrottle == null)
|
if (m_Enabled && m_ServiceThrottle == null)
|
||||||
m_ServiceThrottle = s.RequestModuleInterface<IServiceThrottleModule>();
|
m_ServiceThrottle = s.RequestModuleInterface<IServiceThrottleModule>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public virtual void PostInitialise()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Close()
|
public virtual void Close()
|
||||||
{
|
{
|
||||||
lock (m_Scenes)
|
lock (m_Scenes)
|
||||||
{
|
{
|
||||||
|
@ -157,27 +157,27 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
|
|
||||||
#region Event Handlers
|
#region Event Handlers
|
||||||
|
|
||||||
void EventManager_OnPrimsLoaded(Scene s)
|
protected virtual void EventManager_OnPrimsLoaded(Scene s)
|
||||||
{
|
{
|
||||||
// let's sniff all the user names referenced by objects in the scene
|
// let's sniff all the user names referenced by objects in the scene
|
||||||
m_log.DebugFormat("[USER MANAGEMENT MODULE]: Caching creators' data from {0} ({1} objects)...", s.RegionInfo.RegionName, s.GetEntities().Length);
|
m_log.DebugFormat("[USER MANAGEMENT MODULE]: Caching creators' data from {0} ({1} objects)...", s.RegionInfo.RegionName, s.GetEntities().Length);
|
||||||
s.ForEachSOG(delegate(SceneObjectGroup sog) { CacheCreators(sog); });
|
s.ForEachSOG(delegate(SceneObjectGroup sog) { CacheCreators(sog); });
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventManager_OnNewClient(IClientAPI client)
|
protected virtual void EventManager_OnNewClient(IClientAPI client)
|
||||||
{
|
{
|
||||||
client.OnConnectionClosed += new Action<IClientAPI>(HandleConnectionClosed);
|
client.OnConnectionClosed += new Action<IClientAPI>(HandleConnectionClosed);
|
||||||
client.OnNameFromUUIDRequest += new UUIDNameRequest(HandleUUIDNameRequest);
|
client.OnNameFromUUIDRequest += new UUIDNameRequest(HandleUUIDNameRequest);
|
||||||
client.OnAvatarPickerRequest += new AvatarPickerRequest(HandleAvatarPickerRequest);
|
client.OnAvatarPickerRequest += new AvatarPickerRequest(HandleAvatarPickerRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleConnectionClosed(IClientAPI client)
|
protected virtual void HandleConnectionClosed(IClientAPI client)
|
||||||
{
|
{
|
||||||
client.OnNameFromUUIDRequest -= new UUIDNameRequest(HandleUUIDNameRequest);
|
client.OnNameFromUUIDRequest -= new UUIDNameRequest(HandleUUIDNameRequest);
|
||||||
client.OnAvatarPickerRequest -= new AvatarPickerRequest(HandleAvatarPickerRequest);
|
client.OnAvatarPickerRequest -= new AvatarPickerRequest(HandleAvatarPickerRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HandleUUIDNameRequest(UUID uuid, IClientAPI client)
|
protected virtual void HandleUUIDNameRequest(UUID uuid, IClientAPI client)
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[USER MANAGEMENT MODULE]: Handling request for name binding of UUID {0} from {1}",
|
// "[USER MANAGEMENT MODULE]: Handling request for name binding of UUID {0} from {1}",
|
||||||
|
@ -228,7 +228,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleAvatarPickerRequest(IClientAPI client, UUID avatarID, UUID RequestID, string query)
|
public virtual void HandleAvatarPickerRequest(IClientAPI client, UUID avatarID, UUID RequestID, string query)
|
||||||
{
|
{
|
||||||
//EventManager.TriggerAvatarPickerRequest();
|
//EventManager.TriggerAvatarPickerRequest();
|
||||||
|
|
||||||
|
@ -288,7 +288,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
|
|
||||||
#region IPeople
|
#region IPeople
|
||||||
|
|
||||||
public List<UserData> GetUserData(string query, int page_size, int page_number)
|
public virtual List<UserData> GetUserData(string query, int page_size, int page_number)
|
||||||
{
|
{
|
||||||
if(m_Scenes.Count <= 0)
|
if(m_Scenes.Count <= 0)
|
||||||
return new List<UserData>();;
|
return new List<UserData>();;
|
||||||
|
@ -328,7 +328,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
|
|
||||||
#endregion IPeople
|
#endregion IPeople
|
||||||
|
|
||||||
private void CacheCreators(SceneObjectGroup sog)
|
protected virtual void CacheCreators(SceneObjectGroup sog)
|
||||||
{
|
{
|
||||||
//m_log.DebugFormat("[USER MANAGEMENT MODULE]: processing {0} {1}; {2}", sog.RootPart.Name, sog.RootPart.CreatorData, sog.RootPart.CreatorIdentification);
|
//m_log.DebugFormat("[USER MANAGEMENT MODULE]: processing {0} {1}; {2}", sog.RootPart.Name, sog.RootPart.CreatorData, sog.RootPart.CreatorIdentification);
|
||||||
AddUser(sog.RootPart.CreatorID, sog.RootPart.CreatorData);
|
AddUser(sog.RootPart.CreatorID, sog.RootPart.CreatorData);
|
||||||
|
@ -347,7 +347,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
/// <param name="uuid"></param>
|
/// <param name="uuid"></param>
|
||||||
/// <param name="names">Caller please provide a properly instantiated array for names, string[2]</param>
|
/// <param name="names">Caller please provide a properly instantiated array for names, string[2]</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private bool TryGetUserNames(UUID uuid, string[] names)
|
protected virtual bool TryGetUserNames(UUID uuid, string[] names)
|
||||||
{
|
{
|
||||||
if (names == null)
|
if (names == null)
|
||||||
names = new string[2];
|
names = new string[2];
|
||||||
|
@ -361,7 +361,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool TryGetUserNamesFromCache(UUID uuid, string[] names)
|
protected virtual bool TryGetUserNamesFromCache(UUID uuid, string[] names)
|
||||||
{
|
{
|
||||||
lock (m_UserCache)
|
lock (m_UserCache)
|
||||||
{
|
{
|
||||||
|
@ -383,7 +383,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
/// <returns>True if the name was found, false if not.</returns>
|
/// <returns>True if the name was found, false if not.</returns>
|
||||||
/// <param name='uuid'></param>
|
/// <param name='uuid'></param>
|
||||||
/// <param name='names'>The array of names if found. If not found, then names[0] = "Unknown" and names[1] = "User"</param>
|
/// <param name='names'>The array of names if found. If not found, then names[0] = "Unknown" and names[1] = "User"</param>
|
||||||
private bool TryGetUserNamesFromServices(UUID uuid, string[] names)
|
protected virtual bool TryGetUserNamesFromServices(UUID uuid, string[] names)
|
||||||
{
|
{
|
||||||
if(m_Scenes.Count <= 0)
|
if(m_Scenes.Count <= 0)
|
||||||
return false;
|
return false;
|
||||||
|
@ -442,7 +442,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
|
|
||||||
#region IUserManagement
|
#region IUserManagement
|
||||||
|
|
||||||
public UUID GetUserIdByName(string name)
|
public virtual UUID GetUserIdByName(string name)
|
||||||
{
|
{
|
||||||
string[] parts = name.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
|
string[] parts = name.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
|
||||||
if (parts.Length < 2)
|
if (parts.Length < 2)
|
||||||
|
@ -451,7 +451,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
return GetUserIdByName(parts[0], parts[1]);
|
return GetUserIdByName(parts[0], parts[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public UUID GetUserIdByName(string firstName, string lastName)
|
public virtual UUID GetUserIdByName(string firstName, string lastName)
|
||||||
{
|
{
|
||||||
if(m_Scenes.Count <= 0)
|
if(m_Scenes.Count <= 0)
|
||||||
return UUID.Zero;
|
return UUID.Zero;
|
||||||
|
@ -474,14 +474,14 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
return UUID.Zero;
|
return UUID.Zero;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetUserName(UUID uuid)
|
public virtual string GetUserName(UUID uuid)
|
||||||
{
|
{
|
||||||
UserData user;
|
UserData user;
|
||||||
GetUser(uuid, out user);
|
GetUser(uuid, out user);
|
||||||
return user.FirstName + " " + user.LastName;
|
return user.FirstName + " " + user.LastName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetUserHomeURL(UUID userID)
|
public virtual string GetUserHomeURL(UUID userID)
|
||||||
{
|
{
|
||||||
UserData user;
|
UserData user;
|
||||||
if(GetUser(userID, out user))
|
if(GetUser(userID, out user))
|
||||||
|
@ -491,7 +491,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetUserServerURL(UUID userID, string serverType)
|
public virtual string GetUserServerURL(UUID userID, string serverType)
|
||||||
{
|
{
|
||||||
UserData userdata;
|
UserData userdata;
|
||||||
if(!GetUser(userID, out userdata))
|
if(!GetUser(userID, out userdata))
|
||||||
|
@ -531,14 +531,14 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetUserUUI(UUID userID)
|
public virtual string GetUserUUI(UUID userID)
|
||||||
{
|
{
|
||||||
string uui;
|
string uui;
|
||||||
GetUserUUI(userID, out uui);
|
GetUserUUI(userID, out uui);
|
||||||
return uui;
|
return uui;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool GetUserUUI(UUID userID, out string uui)
|
public virtual bool GetUserUUI(UUID userID, out string uui)
|
||||||
{
|
{
|
||||||
UserData ud;
|
UserData ud;
|
||||||
bool result = GetUser(userID, out ud);
|
bool result = GetUser(userID, out ud);
|
||||||
|
@ -564,7 +564,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Cache Management
|
#region Cache Management
|
||||||
public bool GetUser(UUID uuid, out UserData userdata)
|
public virtual bool GetUser(UUID uuid, out UserData userdata)
|
||||||
{
|
{
|
||||||
if(m_Scenes.Count <= 0)
|
if(m_Scenes.Count <= 0)
|
||||||
{
|
{
|
||||||
|
@ -657,7 +657,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
return !userdata.IsUnknownUser;
|
return !userdata.IsUnknownUser;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddUser(UUID uuid, string first, string last)
|
public virtual void AddUser(UUID uuid, string first, string last)
|
||||||
{
|
{
|
||||||
lock(m_UserCache)
|
lock(m_UserCache)
|
||||||
{
|
{
|
||||||
|
@ -674,7 +674,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddUser(UUID uuid, string first, string last, string homeURL)
|
public virtual void AddUser(UUID uuid, string first, string last, string homeURL)
|
||||||
{
|
{
|
||||||
//m_log.DebugFormat("[USER MANAGEMENT MODULE]: Adding user with id {0}, first {1}, last {2}, url {3}", uuid, first, last, homeURL);
|
//m_log.DebugFormat("[USER MANAGEMENT MODULE]: Adding user with id {0}, first {1}, last {2}, url {3}", uuid, first, last, homeURL);
|
||||||
|
|
||||||
|
@ -724,7 +724,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddUser(UUID id, string creatorData)
|
public virtual void AddUser(UUID id, string creatorData)
|
||||||
{
|
{
|
||||||
// m_log.InfoFormat("[USER MANAGEMENT MODULE]: Adding user with id {0}, creatorData {1}", id, creatorData);
|
// m_log.InfoFormat("[USER MANAGEMENT MODULE]: Adding user with id {0}, creatorData {1}", id, creatorData);
|
||||||
|
|
||||||
|
@ -807,7 +807,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public bool IsLocalGridUser(UUID uuid)
|
public virtual bool IsLocalGridUser(UUID uuid)
|
||||||
{
|
{
|
||||||
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, uuid);
|
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, uuid);
|
||||||
if (account == null || (account != null && !account.LocalToGrid))
|
if (account == null || (account != null && !account.LocalToGrid))
|
||||||
|
@ -818,13 +818,13 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
|
|
||||||
#endregion IUserManagement
|
#endregion IUserManagement
|
||||||
|
|
||||||
protected void Init()
|
protected virtual void Init()
|
||||||
{
|
{
|
||||||
AddUser(UUID.Zero, "Unknown", "User");
|
AddUser(UUID.Zero, "Unknown", "User");
|
||||||
RegisterConsoleCmds();
|
RegisterConsoleCmds();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void RegisterConsoleCmds()
|
protected virtual void RegisterConsoleCmds()
|
||||||
{
|
{
|
||||||
MainConsole.Instance.Commands.AddCommand("Users", true,
|
MainConsole.Instance.Commands.AddCommand("Users", true,
|
||||||
"show name",
|
"show name",
|
||||||
|
@ -848,7 +848,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
HandleResetUserCache);
|
HandleResetUserCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleResetUserCache(string module, string[] cmd)
|
protected virtual void HandleResetUserCache(string module, string[] cmd)
|
||||||
{
|
{
|
||||||
lock(m_UserCache)
|
lock(m_UserCache)
|
||||||
{
|
{
|
||||||
|
@ -856,7 +856,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleShowUser(string module, string[] cmd)
|
protected virtual void HandleShowUser(string module, string[] cmd)
|
||||||
{
|
{
|
||||||
if (cmd.Length < 3)
|
if (cmd.Length < 3)
|
||||||
{
|
{
|
||||||
|
@ -885,7 +885,7 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
MainConsole.Instance.Output(cdt.ToString());
|
MainConsole.Instance.Output(cdt.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleShowUsers(string module, string[] cmd)
|
protected virtual void HandleShowUsers(string module, string[] cmd)
|
||||||
{
|
{
|
||||||
ConsoleDisplayTable cdt = new ConsoleDisplayTable();
|
ConsoleDisplayTable cdt = new ConsoleDisplayTable();
|
||||||
cdt.AddColumn("UUID", 36);
|
cdt.AddColumn("UUID", 36);
|
||||||
|
|
Loading…
Reference in New Issue