From 2c81e41c8a884ece643f3079349b033d03b6b774 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Wed, 22 Apr 2009 18:15:43 +0000 Subject: * Fission OGS1UserServices into user service and OGS1 user data plugin components * Make OGS1UserServices inherit from UserManagerBase * This allows grid mode regions to use the same user data plugin infrastructure as grid servers and standalone OpenSims --- OpenSim/Framework/Communications/IAvatarService.cs | 12 ++- .../Communications/Services/LoginService.cs | 13 +-- .../Framework/Communications/UserManagerBase.cs | 108 ++++++++++----------- 3 files changed, 68 insertions(+), 65 deletions(-) (limited to 'OpenSim/Framework/Communications') diff --git a/OpenSim/Framework/Communications/IAvatarService.cs b/OpenSim/Framework/Communications/IAvatarService.cs index 3822e9f..db583e1 100644 --- a/OpenSim/Framework/Communications/IAvatarService.cs +++ b/OpenSim/Framework/Communications/IAvatarService.cs @@ -31,10 +31,18 @@ namespace OpenSim.Framework.Communications { public interface IAvatarService { - /// Get's the User Appearance + /// + /// Get avatar appearance information + /// + /// + /// AvatarAppearance GetUserAppearance(UUID user); + /// + /// Update avatar appearance information + /// + /// + /// void UpdateUserAppearance(UUID user, AvatarAppearance appearance); - } } diff --git a/OpenSim/Framework/Communications/Services/LoginService.cs b/OpenSim/Framework/Communications/Services/LoginService.cs index 72a4281..1b71367 100644 --- a/OpenSim/Framework/Communications/Services/LoginService.cs +++ b/OpenSim/Framework/Communications/Services/LoginService.cs @@ -1147,14 +1147,15 @@ namespace OpenSim.Framework.Communications.Services if (m_userManager.VerifySession(guess_aid, guess_sid)) { authed = "TRUE"; + m_log.InfoFormat("[UserManager]: CheckAuthSession TRUE for user {0}", guess_aid); + } + else + { + m_log.InfoFormat("[UserManager]: CheckAuthSession FALSE"); + return Util.CreateUnknownUserErrorResponse(); } - m_log.InfoFormat("[UserManager]: CheckAuthSession TRUE for user {0}", guess_aid); - } - else - { - m_log.InfoFormat("[UserManager]: CheckAuthSession FALSE"); - return Util.CreateUnknownUserErrorResponse(); } + Hashtable responseData = new Hashtable(); responseData["auth_session"] = authed; response.Value = responseData; diff --git a/OpenSim/Framework/Communications/UserManagerBase.cs b/OpenSim/Framework/Communications/UserManagerBase.cs index 1115041..3b43622 100644 --- a/OpenSim/Framework/Communications/UserManagerBase.cs +++ b/OpenSim/Framework/Communications/UserManagerBase.cs @@ -50,7 +50,7 @@ namespace OpenSim.Framework.Communications /// /// List of plugins to search for user data /// - private List _plugins = new List(); + private List m_plugins = new List(); protected IInterServiceInventoryServices m_interServiceInventoryService; @@ -69,7 +69,7 @@ namespace OpenSim.Framework.Communications /// The plugin that will provide user data public void AddPlugin(IUserDataPlugin plugin) { - _plugins.Add(plugin); + m_plugins.Add(plugin); } /// @@ -84,15 +84,15 @@ namespace OpenSim.Framework.Communications /// public void AddPlugin(string provider, string connect) { - _plugins.AddRange(DataPluginFactory.LoadDataPlugins(provider, connect)); + m_plugins.AddRange(DataPluginFactory.LoadDataPlugins(provider, connect)); } #region Get UserProfile // see IUserService - public UserProfileData GetUserProfile(string fname, string lname) + public virtual UserProfileData GetUserProfile(string fname, string lname) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { UserProfileData profile = plugin.GetUserByName(fname, lname); @@ -108,7 +108,7 @@ namespace OpenSim.Framework.Communications public void LogoutUsers(UUID regionID) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { plugin.LogoutUsers(regionID); } @@ -116,7 +116,7 @@ namespace OpenSim.Framework.Communications public void ResetAttachments(UUID userID) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { plugin.ResetAttachments(userID); } @@ -124,12 +124,20 @@ namespace OpenSim.Framework.Communications public UserProfileData GetUserProfile(Uri uri) { - throw new NotImplementedException(); + foreach (IUserDataPlugin plugin in m_plugins) + { + UserProfileData profile = plugin.GetUserByUri(uri); + + if (null != profile) + return profile; + } + + return null; } - public UserAgentData GetAgentByUUID(UUID userId) + public virtual UserAgentData GetAgentByUUID(UUID userId) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { UserAgentData agent = plugin.GetAgentByUUID(userId); @@ -150,7 +158,7 @@ namespace OpenSim.Framework.Communications // see IUserService public virtual UserProfileData GetUserProfile(UUID uuid) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { UserProfileData profile = plugin.GetUserByUUID(uuid); @@ -164,10 +172,10 @@ namespace OpenSim.Framework.Communications return null; } - public List GenerateAgentPickerRequestResponse(UUID queryID, string query) + public virtual List GenerateAgentPickerRequestResponse(UUID queryID, string query) { List pickerlist = new List(); - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -188,9 +196,9 @@ namespace OpenSim.Framework.Communications /// /// /// - public bool UpdateUserProfile(UserProfileData data) + public virtual bool UpdateUserProfile(UserProfileData data) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -217,7 +225,7 @@ namespace OpenSim.Framework.Communications /// Agent profiles public UserAgentData GetUserAgent(UUID uuid) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -244,7 +252,7 @@ namespace OpenSim.Framework.Communications /// A user agent public UserAgentData GetUserAgent(string name) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -267,7 +275,7 @@ namespace OpenSim.Framework.Communications /// A user agent public UserAgentData GetUserAgent(string fname, string lname) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -287,9 +295,9 @@ namespace OpenSim.Framework.Communications /// /// the UUID of the friend list owner /// A List of FriendListItems that contains info about the user's friends - public List GetUserFriendList(UUID ownerID) + public virtual List GetUserFriendList(UUID ownerID) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -309,9 +317,9 @@ namespace OpenSim.Framework.Communications return null; } - public Dictionary GetFriendRegionInfos (List uuids) + public virtual Dictionary GetFriendRegionInfos (List uuids) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -332,7 +340,7 @@ namespace OpenSim.Framework.Communications public void StoreWebLoginKey(UUID agentID, UUID webLoginKey) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -345,13 +353,13 @@ namespace OpenSim.Framework.Communications } } - public void AddNewUserFriend(UUID friendlistowner, UUID friend, uint perms) + public virtual void AddNewUserFriend(UUID friendlistowner, UUID friend, uint perms) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { - plugin.AddNewUserFriend(friendlistowner,friend,perms); + plugin.AddNewUserFriend(friendlistowner, friend, perms); } catch (Exception e) { @@ -360,9 +368,9 @@ namespace OpenSim.Framework.Communications } } - public void RemoveUserFriend(UUID friendlistowner, UUID friend) + public virtual void RemoveUserFriend(UUID friendlistowner, UUID friend) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -375,9 +383,9 @@ namespace OpenSim.Framework.Communications } } - public void UpdateUserFriendPerms(UUID friendlistowner, UUID friend, uint perms) + public virtual void UpdateUserFriendPerms(UUID friendlistowner, UUID friend, uint perms) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -394,7 +402,7 @@ namespace OpenSim.Framework.Communications /// Resets the currentAgent in the user profile /// /// The agent's ID - public void ClearUserAgent(UUID agentID) + public virtual void ClearUserAgent(UUID agentID) { UserProfileData profile = GetUserProfile(agentID); @@ -408,7 +416,6 @@ namespace OpenSim.Framework.Communications UpdateUserProfile(profile); } - #endregion #region CreateAgent @@ -544,7 +551,7 @@ namespace OpenSim.Framework.Communications /// /// /// - public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, Vector3 position, Vector3 lookat) + public virtual void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, Vector3 position, Vector3 lookat) { if (StatsManager.UserStats != null) StatsManager.UserStats.AddLogout(); @@ -583,15 +590,6 @@ namespace OpenSim.Framework.Communications } } - /// - /// Process a user logoff from OpenSim (deprecated as of 2008-08-27) - /// - /// - /// - /// - /// - /// - /// public void LogOffUser(UUID userid, UUID regionid, ulong regionhandle, float posx, float posy, float posz) { LogOffUser(userid, regionid, regionhandle, new Vector3(posx, posy, posz), new Vector3()); @@ -643,7 +641,7 @@ namespace OpenSim.Framework.Communications user.HomeRegionY = regY; user.Email = email; - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -669,13 +667,13 @@ namespace OpenSim.Framework.Communications } /// - /// Reset a user password + /// Reset a user password. /// /// /// /// /// true if the update was successful, false otherwise - public bool ResetUserPassword(string firstName, string lastName, string newPassword) + public virtual bool ResetUserPassword(string firstName, string lastName, string newPassword) { string md5PasswdHash = Util.Md5Hash(Util.Md5Hash(newPassword) + ":" + String.Empty); @@ -705,7 +703,7 @@ namespace OpenSim.Framework.Communications /// The agent data to be added public bool AddUserAgent(UserAgentData agentdata) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -725,9 +723,9 @@ namespace OpenSim.Framework.Communications /// /// /// - public AvatarAppearance GetUserAppearance(UUID user) + public virtual AvatarAppearance GetUserAppearance(UUID user) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -741,14 +739,9 @@ namespace OpenSim.Framework.Communications return null; } - /// - /// Update avatar appearance information - /// - /// - /// - public void UpdateUserAppearance(UUID user, AvatarAppearance appearance) + public virtual void UpdateUserAppearance(UUID user, AvatarAppearance appearance) { - foreach (IUserDataPlugin plugin in _plugins) + foreach (IUserDataPlugin plugin in m_plugins) { try { @@ -838,8 +831,8 @@ namespace OpenSim.Framework.Communications return false; } } - - public bool VerifySession(UUID userID, UUID sessionID) + + public virtual bool VerifySession(UUID userID, UUID sessionID) { UserProfileData userProfile = GetUserProfile(userID); @@ -851,6 +844,7 @@ namespace OpenSim.Framework.Communications return true; } } + return false; } -- cgit v1.1