diff options
author | Melanie | 2010-07-22 03:01:50 +0100 |
---|---|---|
committer | Melanie | 2010-07-22 03:01:50 +0100 |
commit | a70c7756b33dc11d18a18f222bcd92548ee6a256 (patch) | |
tree | a899fb383aeb05686c30169c0ae48906e3fc5068 | |
parent | Allow Megaregions to start properly after an unclean shutdown (diff) | |
download | opensim-SC_OLD-a70c7756b33dc11d18a18f222bcd92548ee6a256.zip opensim-SC_OLD-a70c7756b33dc11d18a18f222bcd92548ee6a256.tar.gz opensim-SC_OLD-a70c7756b33dc11d18a18f222bcd92548ee6a256.tar.bz2 opensim-SC_OLD-a70c7756b33dc11d18a18f222bcd92548ee6a256.tar.xz |
Add sending of the avatar interests and configuration of the profiles
module as an OpenSim profile module to Simian grid services.
Patch by Dimentox, thank you.
Applied with changes.
-rw-r--r-- | OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs b/OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs index fbf4648..704790e 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianProfiles.cs | |||
@@ -88,7 +88,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
88 | 88 | ||
89 | public void Initialise(IConfigSource source) | 89 | public void Initialise(IConfigSource source) |
90 | { | 90 | { |
91 | if (Simian.IsSimianEnabled(source, "UserAccountServices", this.Name)) | 91 | if (Simian.IsSimianEnabled(source, "UserAccountServices", "SimianUserAccountServiceConnector")) |
92 | { | 92 | { |
93 | IConfig gridConfig = source.Configs["UserAccountService"]; | 93 | IConfig gridConfig = source.Configs["UserAccountService"]; |
94 | if (gridConfig == null) | 94 | if (gridConfig == null) |
@@ -108,6 +108,23 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
108 | serviceUrl = serviceUrl + '/'; | 108 | serviceUrl = serviceUrl + '/'; |
109 | 109 | ||
110 | m_serverUrl = serviceUrl; | 110 | m_serverUrl = serviceUrl; |
111 | IConfig profilesConfig = source.Configs["Profiles"]; | ||
112 | if (profilesConfig == null) | ||
113 | { | ||
114 | // Do not run this module by default. | ||
115 | return; | ||
116 | } | ||
117 | else | ||
118 | { | ||
119 | // if profiles aren't enabled, we're not needed. | ||
120 | // if we're not specified as the connector to use, then we're not wanted | ||
121 | if (profilesConfig.GetString("Module", String.Empty) != Name) | ||
122 | { | ||
123 | |||
124 | return; | ||
125 | } | ||
126 | m_log.InfoFormat("[SIMIAN ACCOUNT CONNECTOR]: Initializing {0}", this.Name); | ||
127 | } | ||
111 | } | 128 | } |
112 | } | 129 | } |
113 | 130 | ||
@@ -135,6 +152,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
135 | 152 | ||
136 | // Profiles | 153 | // Profiles |
137 | client.OnRequestAvatarProperties += RequestAvatarPropertiesHandler; | 154 | client.OnRequestAvatarProperties += RequestAvatarPropertiesHandler; |
155 | |||
138 | client.OnUpdateAvatarProperties += UpdateAvatarPropertiesHandler; | 156 | client.OnUpdateAvatarProperties += UpdateAvatarPropertiesHandler; |
139 | client.OnAvatarInterestUpdate += AvatarInterestUpdateHandler; | 157 | client.OnAvatarInterestUpdate += AvatarInterestUpdateHandler; |
140 | client.OnUserInfoRequest += UserInfoRequestHandler; | 158 | client.OnUserInfoRequest += UserInfoRequestHandler; |
@@ -302,12 +320,25 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
302 | System.Globalization.CultureInfo.InvariantCulture), charterMember, about["FLAbout"].AsString(), (uint)flags, | 320 | System.Globalization.CultureInfo.InvariantCulture), charterMember, about["FLAbout"].AsString(), (uint)flags, |
303 | about["FLImage"].AsUUID(), about["Image"].AsUUID(), about["URL"].AsString(), user["Partner"].AsUUID()); | 321 | about["FLImage"].AsUUID(), about["Image"].AsUUID(), about["URL"].AsString(), user["Partner"].AsUUID()); |
304 | 322 | ||
323 | OSDMap interests = null; | ||
324 | if (user.ContainsKey("LLInterests")) | ||
325 | { | ||
326 | try | ||
327 | { | ||
328 | interests = OSDParser.DeserializeJson(user["LLInterests"].AsString()) as OSDMap; | ||
329 | client.SendAvatarInterestsReply(avatarID, interests["WantMask"].AsUInteger(), interests["WantText"].AsString(), interests["SkillsMask"].AsUInteger(), interests["SkillsText"].AsString(), interests["languages"].AsString()); | ||
330 | } | ||
331 | catch { } | ||
332 | } | ||
333 | |||
334 | if (about == null) | ||
335 | about = new OSDMap(0); | ||
305 | } | 336 | } |
306 | else | 337 | else |
307 | { | 338 | { |
308 | m_log.Warn("[SIMIAN PROFILES]: Failed to fetch profile information for " + client.Name + ", returning default values"); | 339 | m_log.Warn("[SIMIAN PROFILES]: Failed to fetch profile information for " + client.Name + ", returning default values"); |
309 | client.SendAvatarProperties(avatarID, String.Empty, "1/1/1970", Utils.EmptyBytes, | 340 | client.SendAvatarProperties(avatarID, String.Empty, "1/1/1970", Utils.EmptyBytes, |
310 | String.Empty, (uint)flags, UUID.Zero, UUID.Zero, String.Empty, UUID.Zero); | 341 | String.Empty, (uint)flags, UUID.Zero, UUID.Zero, String.Empty, UUID.Zero); |
311 | } | 342 | } |
312 | } | 343 | } |
313 | 344 | ||