diff options
author | Teravus Ovares | 2007-11-13 22:48:19 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-11-13 22:48:19 +0000 |
commit | 9f6b3e2357e76b9b85b447da189b4bf4163edd3c (patch) | |
tree | 7d9c39258e45e6271db953608e6868433f9ac70d /OpenSim/Framework | |
parent | first pass on unlinking of objects. From Jay Clarke (IBM) (diff) | |
download | opensim-SC-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.zip opensim-SC-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.gz opensim-SC-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.bz2 opensim-SC-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.xz |
* Added AvatarPicker in Standalone mode. Works for finding avatar to ban, manually trying to add a friend (with the add button) or useful to those who are curious which usernames have visited your standalone sim. Important for future development :D.
* Grid mode always returns 0 results until the Grid Communications portion is done.
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/Communications/CommunicationsManager.cs | 10 | ||||
-rw-r--r-- | OpenSim/Framework/Communications/IGridServices.cs | 1 | ||||
-rw-r--r-- | OpenSim/Framework/Communications/UserManagerBase.cs | 19 | ||||
-rw-r--r-- | OpenSim/Framework/Data.DB4o/DB4oGridData.cs | 10 | ||||
-rw-r--r-- | OpenSim/Framework/Data.DB4o/DB4oUserData.cs | 8 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs | 13 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLGridData.cs | 85 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLUserData.cs | 81 | ||||
-rw-r--r-- | OpenSim/Framework/Data.SQLite/SQLiteGridData.cs | 11 | ||||
-rw-r--r-- | OpenSim/Framework/Data.SQLite/SQLiteUserData.cs | 53 | ||||
-rw-r--r-- | OpenSim/Framework/Data/GridData.cs | 12 | ||||
-rw-r--r-- | OpenSim/Framework/IClientAPI.cs | 3 | ||||
-rw-r--r-- | OpenSim/Framework/IUserData.cs | 12 | ||||
-rw-r--r-- | OpenSim/Framework/IUserService.cs | 2 | ||||
-rw-r--r-- | OpenSim/Framework/UserProfileData.cs | 13 |
15 files changed, 330 insertions, 3 deletions
diff --git a/OpenSim/Framework/Communications/CommunicationsManager.cs b/OpenSim/Framework/Communications/CommunicationsManager.cs index 77c7261..7b1a97e 100644 --- a/OpenSim/Framework/Communications/CommunicationsManager.cs +++ b/OpenSim/Framework/Communications/CommunicationsManager.cs | |||
@@ -28,6 +28,7 @@ | |||
28 | using System; | 28 | using System; |
29 | using libsecondlife; | 29 | using libsecondlife; |
30 | using OpenSim.Framework.Communications.Cache; | 30 | using OpenSim.Framework.Communications.Cache; |
31 | using System.Collections.Generic; | ||
31 | using OpenSim.Framework.Console; | 32 | using OpenSim.Framework.Console; |
32 | using OpenSim.Framework.Interfaces; | 33 | using OpenSim.Framework.Interfaces; |
33 | using OpenSim.Framework.Servers; | 34 | using OpenSim.Framework.Servers; |
@@ -173,6 +174,15 @@ namespace OpenSim.Framework.Communications | |||
173 | } | 174 | } |
174 | } | 175 | } |
175 | } | 176 | } |
177 | public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID queryID, string query) | ||
178 | { | ||
179 | |||
180 | |||
181 | List<AvatarPickerAvatar> pickerlist = m_userService.GenerateAgentPickerRequestResponse(queryID, query); | ||
182 | |||
183 | |||
184 | return pickerlist; | ||
185 | } | ||
176 | 186 | ||
177 | #endregion | 187 | #endregion |
178 | } | 188 | } |
diff --git a/OpenSim/Framework/Communications/IGridServices.cs b/OpenSim/Framework/Communications/IGridServices.cs index ce6205f..3d0af09 100644 --- a/OpenSim/Framework/Communications/IGridServices.cs +++ b/OpenSim/Framework/Communications/IGridServices.cs | |||
@@ -36,5 +36,6 @@ namespace OpenSim.Framework.Communications | |||
36 | List<SimpleRegionInfo> RequestNeighbours(uint x, uint y); | 36 | List<SimpleRegionInfo> RequestNeighbours(uint x, uint y); |
37 | RegionInfo RequestNeighbourInfo(ulong regionHandle); | 37 | RegionInfo RequestNeighbourInfo(ulong regionHandle); |
38 | List<MapBlockData> RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY); | 38 | List<MapBlockData> RequestNeighbourMapBlocks(int minX, int minY, int maxX, int maxY); |
39 | |||
39 | } | 40 | } |
40 | } \ No newline at end of file | 41 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Communications/UserManagerBase.cs b/OpenSim/Framework/Communications/UserManagerBase.cs index 408f37c..3a32ba9 100644 --- a/OpenSim/Framework/Communications/UserManagerBase.cs +++ b/OpenSim/Framework/Communications/UserManagerBase.cs | |||
@@ -105,6 +105,25 @@ namespace OpenSim.Framework.UserManagement | |||
105 | return null; | 105 | return null; |
106 | } | 106 | } |
107 | 107 | ||
108 | public List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID queryID, string query) | ||
109 | { | ||
110 | List<AvatarPickerAvatar> pickerlist = new List<AvatarPickerAvatar>(); | ||
111 | foreach (KeyValuePair<string, IUserData> plugin in _plugins) | ||
112 | { | ||
113 | try | ||
114 | { | ||
115 | pickerlist = plugin.Value.GeneratePickerResults(queryID, query); | ||
116 | |||
117 | } | ||
118 | catch (Exception e) | ||
119 | { | ||
120 | MainLog.Instance.Verbose("Unable to generate AgentPickerData via " + plugin.Key + "(" + query + ")"); | ||
121 | return new List<AvatarPickerAvatar>(); | ||
122 | } | ||
123 | } | ||
124 | return pickerlist; | ||
125 | } | ||
126 | |||
108 | 127 | ||
109 | /// <summary> | 128 | /// <summary> |
110 | /// Loads a user profile by name | 129 | /// Loads a user profile by name |
diff --git a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs index a96d9bd..a071543 100644 --- a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs +++ b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs | |||
@@ -27,6 +27,7 @@ | |||
27 | */ | 27 | */ |
28 | 28 | ||
29 | using System; | 29 | using System; |
30 | using System.Collections.Generic; | ||
30 | using libsecondlife; | 31 | using libsecondlife; |
31 | 32 | ||
32 | namespace OpenSim.Framework.Data.DB4o | 33 | namespace OpenSim.Framework.Data.DB4o |
@@ -139,7 +140,16 @@ namespace OpenSim.Framework.Data.DB4o | |||
139 | { | 140 | { |
140 | manager = null; | 141 | manager = null; |
141 | } | 142 | } |
143 | /// <summary> | ||
144 | /// // Returns a list of avatar and UUIDs that match the query | ||
145 | /// </summary> | ||
142 | 146 | ||
147 | public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
148 | { | ||
149 | //Do nothing yet | ||
150 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | ||
151 | return returnlist; | ||
152 | } | ||
143 | /// <summary> | 153 | /// <summary> |
144 | /// Returns the providers name | 154 | /// Returns the providers name |
145 | /// </summary> | 155 | /// </summary> |
diff --git a/OpenSim/Framework/Data.DB4o/DB4oUserData.cs b/OpenSim/Framework/Data.DB4o/DB4oUserData.cs index c7113bf..4c6d4b0 100644 --- a/OpenSim/Framework/Data.DB4o/DB4oUserData.cs +++ b/OpenSim/Framework/Data.DB4o/DB4oUserData.cs | |||
@@ -27,6 +27,7 @@ | |||
27 | */ | 27 | */ |
28 | using System; | 28 | using System; |
29 | using System.IO; | 29 | using System.IO; |
30 | using System.Collections.Generic; | ||
30 | using libsecondlife; | 31 | using libsecondlife; |
31 | 32 | ||
32 | namespace OpenSim.Framework.Data.DB4o | 33 | namespace OpenSim.Framework.Data.DB4o |
@@ -131,7 +132,12 @@ namespace OpenSim.Framework.Data.DB4o | |||
131 | return null; | 132 | return null; |
132 | } | 133 | } |
133 | } | 134 | } |
134 | 135 | public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | |
136 | { | ||
137 | //Do nothing yet | ||
138 | List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); | ||
139 | return returnlist; | ||
140 | } | ||
135 | /// <summary> | 141 | /// <summary> |
136 | /// Creates a new user profile | 142 | /// Creates a new user profile |
137 | /// </summary> | 143 | /// </summary> |
diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs index 1946790..1516fec 100644 --- a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs +++ b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs | |||
@@ -28,10 +28,12 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Data; | 30 | using System.Data; |
31 | using OpenSim.Framework; | ||
31 | using System.Security.Cryptography; | 32 | using System.Security.Cryptography; |
32 | using System.Text; | 33 | using System.Text; |
33 | using libsecondlife; | 34 | using libsecondlife; |
34 | 35 | ||
36 | |||
35 | namespace OpenSim.Framework.Data.MSSQL | 37 | namespace OpenSim.Framework.Data.MSSQL |
36 | { | 38 | { |
37 | /// <summary> | 39 | /// <summary> |
@@ -130,7 +132,16 @@ namespace OpenSim.Framework.Data.MSSQL | |||
130 | 132 | ||
131 | return row; | 133 | return row; |
132 | } | 134 | } |
135 | /// <summary> | ||
136 | /// // Returns a list of avatar and UUIDs that match the query | ||
137 | /// </summary> | ||
133 | 138 | ||
139 | public List<OpenSim.Framework.Data.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
140 | { | ||
141 | //Do nothing yet | ||
142 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | ||
143 | return returnlist; | ||
144 | } | ||
134 | /// <summary> | 145 | /// <summary> |
135 | /// Adds a new specified region to the database | 146 | /// Adds a new specified region to the database |
136 | /// </summary> | 147 | /// </summary> |
@@ -190,5 +201,7 @@ namespace OpenSim.Framework.Data.MSSQL | |||
190 | { | 201 | { |
191 | return null; | 202 | return null; |
192 | } | 203 | } |
204 | // This is here because MSSQL GridData only seems to know about itself o.O | ||
205 | |||
193 | } | 206 | } |
194 | } \ No newline at end of file | 207 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs index fdfc61c..930b3f4 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs | |||
@@ -169,6 +169,91 @@ namespace OpenSim.Framework.Data.MySQL | |||
169 | return null; | 169 | return null; |
170 | } | 170 | } |
171 | } | 171 | } |
172 | /// <summary> | ||
173 | /// // Returns a list of avatar and UUIDs that match the query | ||
174 | /// </summary> | ||
175 | |||
176 | public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
177 | { | ||
178 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | ||
179 | string[] querysplit; | ||
180 | querysplit = query.Split(' '); | ||
181 | if (querysplit.Length == 2) | ||
182 | { | ||
183 | try | ||
184 | { | ||
185 | lock (database) | ||
186 | { | ||
187 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
188 | param["?first"] = querysplit[0]; | ||
189 | param["?second"] = querysplit[1]; | ||
190 | |||
191 | IDbCommand result = | ||
192 | database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first AND lastname = ?second", param); | ||
193 | IDataReader reader = result.ExecuteReader(); | ||
194 | |||
195 | |||
196 | while (reader.Read()) | ||
197 | { | ||
198 | AvatarPickerAvatar user = new AvatarPickerAvatar(); | ||
199 | user.AvatarID = new LLUUID((string)reader["UUID"]); | ||
200 | user.firstName = (string)reader["username"]; | ||
201 | user.lastName = (string)reader["surname"]; | ||
202 | returnlist.Add(user); | ||
203 | |||
204 | } | ||
205 | reader.Close(); | ||
206 | result.Dispose(); | ||
207 | } | ||
208 | } | ||
209 | catch (Exception e) | ||
210 | { | ||
211 | database.Reconnect(); | ||
212 | MainLog.Instance.Error(e.ToString()); | ||
213 | return returnlist; | ||
214 | } | ||
215 | |||
216 | |||
217 | |||
218 | } | ||
219 | else if (querysplit.Length == 1) | ||
220 | { | ||
221 | |||
222 | try | ||
223 | { | ||
224 | lock (database) | ||
225 | { | ||
226 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
227 | param["?first"] = querysplit[0]; | ||
228 | param["?second"] = querysplit[1]; | ||
229 | |||
230 | IDbCommand result = | ||
231 | database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first OR lastname = ?second", param); | ||
232 | IDataReader reader = result.ExecuteReader(); | ||
233 | |||
234 | |||
235 | while (reader.Read()) | ||
236 | { | ||
237 | AvatarPickerAvatar user = new AvatarPickerAvatar(); | ||
238 | user.AvatarID = new LLUUID((string)reader["UUID"]); | ||
239 | user.firstName = (string)reader["username"]; | ||
240 | user.lastName = (string)reader["surname"]; | ||
241 | returnlist.Add(user); | ||
242 | |||
243 | } | ||
244 | reader.Close(); | ||
245 | result.Dispose(); | ||
246 | } | ||
247 | } | ||
248 | catch (Exception e) | ||
249 | { | ||
250 | database.Reconnect(); | ||
251 | MainLog.Instance.Error(e.ToString()); | ||
252 | return returnlist; | ||
253 | } | ||
254 | } | ||
255 | return returnlist; | ||
256 | } | ||
172 | 257 | ||
173 | /// <summary> | 258 | /// <summary> |
174 | /// Returns a sim profile from it's UUID | 259 | /// Returns a sim profile from it's UUID |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs index 8846650..3ae1fba 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs | |||
@@ -97,7 +97,6 @@ namespace OpenSim.Framework.Data.MySQL | |||
97 | 97 | ||
98 | reader.Close(); | 98 | reader.Close(); |
99 | result.Dispose(); | 99 | result.Dispose(); |
100 | |||
101 | return row; | 100 | return row; |
102 | } | 101 | } |
103 | } | 102 | } |
@@ -108,7 +107,87 @@ namespace OpenSim.Framework.Data.MySQL | |||
108 | return null; | 107 | return null; |
109 | } | 108 | } |
110 | } | 109 | } |
110 | public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
111 | { | ||
112 | List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); | ||
113 | string[] querysplit; | ||
114 | querysplit = query.Split(' '); | ||
115 | if (querysplit.Length == 2) | ||
116 | { | ||
117 | try | ||
118 | { | ||
119 | lock (database) | ||
120 | { | ||
121 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
122 | param["?first"] = querysplit[0]; | ||
123 | param["?second"] = querysplit[1]; | ||
124 | |||
125 | IDbCommand result = | ||
126 | database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first AND lastname = ?second", param); | ||
127 | IDataReader reader = result.ExecuteReader(); | ||
128 | |||
129 | |||
130 | while (reader.Read()) | ||
131 | { | ||
132 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | ||
133 | user.AvatarID = new LLUUID((string)reader["UUID"]); | ||
134 | user.firstName = (string)reader["username"]; | ||
135 | user.lastName = (string)reader["surname"]; | ||
136 | returnlist.Add(user); | ||
137 | |||
138 | } | ||
139 | reader.Close(); | ||
140 | result.Dispose(); | ||
141 | } | ||
142 | } | ||
143 | catch (Exception e) | ||
144 | { | ||
145 | database.Reconnect(); | ||
146 | MainLog.Instance.Error(e.ToString()); | ||
147 | return returnlist; | ||
148 | } | ||
111 | 149 | ||
150 | |||
151 | |||
152 | } | ||
153 | else if (querysplit.Length == 1) | ||
154 | { | ||
155 | |||
156 | try | ||
157 | { | ||
158 | lock (database) | ||
159 | { | ||
160 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
161 | param["?first"] = querysplit[0]; | ||
162 | param["?second"] = querysplit[1]; | ||
163 | |||
164 | IDbCommand result = | ||
165 | database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first OR lastname = ?second", param); | ||
166 | IDataReader reader = result.ExecuteReader(); | ||
167 | |||
168 | |||
169 | while (reader.Read()) | ||
170 | { | ||
171 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | ||
172 | user.AvatarID = new LLUUID((string)reader["UUID"]); | ||
173 | user.firstName = (string)reader["username"]; | ||
174 | user.lastName = (string)reader["surname"]; | ||
175 | returnlist.Add(user); | ||
176 | |||
177 | } | ||
178 | reader.Close(); | ||
179 | result.Dispose(); | ||
180 | } | ||
181 | } | ||
182 | catch (Exception e) | ||
183 | { | ||
184 | database.Reconnect(); | ||
185 | MainLog.Instance.Error(e.ToString()); | ||
186 | return returnlist; | ||
187 | } | ||
188 | } | ||
189 | return returnlist; | ||
190 | } | ||
112 | /// <summary> | 191 | /// <summary> |
113 | /// Searches the database for a specified user profile by UUID | 192 | /// Searches the database for a specified user profile by UUID |
114 | /// </summary> | 193 | /// </summary> |
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs index 8f3e8aa..b8fc639 100644 --- a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs +++ b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs | |||
@@ -130,7 +130,16 @@ namespace OpenSim.Framework.Data.SQLite | |||
130 | 130 | ||
131 | return row; | 131 | return row; |
132 | } | 132 | } |
133 | 133 | /// <summary> | |
134 | /// // Returns a list of avatar and UUIDs that match the query | ||
135 | /// </summary> | ||
136 | |||
137 | public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
138 | { | ||
139 | //Do nothing yet | ||
140 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | ||
141 | return returnlist; | ||
142 | } | ||
134 | /// <summary> | 143 | /// <summary> |
135 | /// Adds a new specified region to the database | 144 | /// Adds a new specified region to the database |
136 | /// </summary> | 145 | /// </summary> |
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs b/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs index d7a6b39..1385ffc 100644 --- a/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs +++ b/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs | |||
@@ -26,16 +26,22 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using System.Data; | 30 | using System.Data; |
30 | using libsecondlife; | 31 | using libsecondlife; |
31 | using Mono.Data.SqliteClient; | 32 | using Mono.Data.SqliteClient; |
33 | using OpenSim.Framework; | ||
32 | using OpenSim.Framework.Console; | 34 | using OpenSim.Framework.Console; |
33 | 35 | ||
36 | |||
34 | namespace OpenSim.Framework.Data.SQLite | 37 | namespace OpenSim.Framework.Data.SQLite |
35 | { | 38 | { |
36 | /// <summary> | 39 | /// <summary> |
37 | /// A User storage interface for the DB4o database system | 40 | /// A User storage interface for the DB4o database system |
38 | /// </summary> | 41 | /// </summary> |
42 | /// | ||
43 | |||
44 | |||
39 | public class SQLiteUserData : SQLiteBase, IUserData | 45 | public class SQLiteUserData : SQLiteBase, IUserData |
40 | { | 46 | { |
41 | /// <summary> | 47 | /// <summary> |
@@ -135,6 +141,53 @@ namespace OpenSim.Framework.Data.SQLite | |||
135 | } | 141 | } |
136 | } | 142 | } |
137 | 143 | ||
144 | public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
145 | { | ||
146 | List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); | ||
147 | string[] querysplit; | ||
148 | querysplit = query.Split(' '); | ||
149 | if (querysplit.Length == 2) | ||
150 | { | ||
151 | string select = "username like '" + querysplit[0] + "%' and surname like '" + querysplit[1] + "%'"; | ||
152 | lock(ds) | ||
153 | { | ||
154 | DataRow[] rows = ds.Tables["users"].Select(select); | ||
155 | if (rows.Length > 0) | ||
156 | { | ||
157 | for (int i = 0; i < rows.Length; i++) | ||
158 | { | ||
159 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | ||
160 | DataRow row = rows[i]; | ||
161 | user.AvatarID = new LLUUID((string)row["UUID"]); | ||
162 | user.firstName = (string)row["username"]; | ||
163 | user.lastName = (string)row["surname"]; | ||
164 | returnlist.Add(user); | ||
165 | } | ||
166 | } | ||
167 | } | ||
168 | } | ||
169 | else if (querysplit.Length == 1) | ||
170 | { | ||
171 | |||
172 | string select = "username like '" + querysplit[0] + "%' OR surname like '" + querysplit[0] + "%'"; | ||
173 | lock(ds) | ||
174 | { | ||
175 | DataRow[] rows = ds.Tables["users"].Select(select); | ||
176 | if (rows.Length > 0) | ||
177 | { | ||
178 | for (int i = 0;i<rows.Length;i++) { | ||
179 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | ||
180 | DataRow row = rows[i]; | ||
181 | user.AvatarID = new LLUUID((string)row[0]); | ||
182 | user.firstName = (string)row[1]; | ||
183 | user.lastName = (string)row[2]; | ||
184 | returnlist.Add(user); | ||
185 | } | ||
186 | } | ||
187 | } | ||
188 | } | ||
189 | return returnlist; | ||
190 | } | ||
138 | /// <summary> | 191 | /// <summary> |
139 | /// Returns a user by UUID direct | 192 | /// Returns a user by UUID direct |
140 | /// </summary> | 193 | /// </summary> |
diff --git a/OpenSim/Framework/Data/GridData.cs b/OpenSim/Framework/Data/GridData.cs index b3b6ed7..23e7bf6 100644 --- a/OpenSim/Framework/Data/GridData.cs +++ b/OpenSim/Framework/Data/GridData.cs | |||
@@ -26,9 +26,19 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | using libsecondlife; | 28 | using libsecondlife; |
29 | using System.Collections.Generic; | ||
29 | 30 | ||
30 | namespace OpenSim.Framework.Data | 31 | namespace OpenSim.Framework.Data |
31 | { | 32 | { |
33 | public class AvatarPickerAvatar | ||
34 | { | ||
35 | public LLUUID AvatarID; | ||
36 | public string firstName; | ||
37 | public string lastName; | ||
38 | public AvatarPickerAvatar() | ||
39 | { | ||
40 | } | ||
41 | } | ||
32 | public enum DataResponse | 42 | public enum DataResponse |
33 | { | 43 | { |
34 | RESPONSE_OK, | 44 | RESPONSE_OK, |
@@ -66,6 +76,8 @@ namespace OpenSim.Framework.Data | |||
66 | /// <returns>An array containing all the sim profiles in the specified range</returns> | 76 | /// <returns>An array containing all the sim profiles in the specified range</returns> |
67 | RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); | 77 | RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); |
68 | 78 | ||
79 | |||
80 | List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query); | ||
69 | /// <summary> | 81 | /// <summary> |
70 | /// Authenticates a sim by use of it's recv key. | 82 | /// Authenticates a sim by use of it's recv key. |
71 | /// WARNING: Insecure | 83 | /// WARNING: Insecure |
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index ab5dbb6..d577a20 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -228,6 +228,7 @@ namespace OpenSim.Framework | |||
228 | public delegate void AgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset); | 228 | public delegate void AgentRequestSit(IClientAPI remoteClient, LLUUID agentID, LLUUID targetID, LLVector3 offset); |
229 | 229 | ||
230 | public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID); | 230 | public delegate void AgentSit(IClientAPI remoteClient, LLUUID agentID); |
231 | public delegate void AvatarPickerRequest(IClientAPI remoteClient, LLUUID agentdata, LLUUID queryID, string UserQuery); | ||
231 | 232 | ||
232 | public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient); | 233 | public delegate void MoveObject(LLUUID objectID, LLVector3 offset, LLVector3 grapPos, IClientAPI remoteClient); |
233 | 234 | ||
@@ -305,6 +306,7 @@ namespace OpenSim.Framework | |||
305 | event UpdateAgent OnAgentUpdate; | 306 | event UpdateAgent OnAgentUpdate; |
306 | event AgentRequestSit OnAgentRequestSit; | 307 | event AgentRequestSit OnAgentRequestSit; |
307 | event AgentSit OnAgentSit; | 308 | event AgentSit OnAgentSit; |
309 | event AvatarPickerRequest OnAvatarPickerRequest; | ||
308 | event Action<IClientAPI> OnRequestAvatarsData; | 310 | event Action<IClientAPI> OnRequestAvatarsData; |
309 | event AddNewPrim OnAddPrim; | 311 | event AddNewPrim OnAddPrim; |
310 | event ObjectDuplicate OnObjectDuplicate; | 312 | event ObjectDuplicate OnObjectDuplicate; |
@@ -423,6 +425,7 @@ namespace OpenSim.Framework | |||
423 | void SendRemoveInventoryItem(LLUUID itemID); | 425 | void SendRemoveInventoryItem(LLUUID itemID); |
424 | void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName); | 426 | void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName); |
425 | void SendXferPacket(ulong xferID, uint packet, byte[] data); | 427 | void SendXferPacket(ulong xferID, uint packet, byte[] data); |
428 | void SendAvatarPickerReply(AvatarPickerReplyPacket Pack); | ||
426 | 429 | ||
427 | void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID); | 430 | void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID); |
428 | void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags); | 431 | void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain, byte flags); |
diff --git a/OpenSim/Framework/IUserData.cs b/OpenSim/Framework/IUserData.cs index cb2502a..6de9e08 100644 --- a/OpenSim/Framework/IUserData.cs +++ b/OpenSim/Framework/IUserData.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | using libsecondlife; | 28 | using libsecondlife; |
29 | using System.Collections.Generic; | ||
29 | 30 | ||
30 | namespace OpenSim.Framework | 31 | namespace OpenSim.Framework |
31 | { | 32 | { |
@@ -56,6 +57,8 @@ namespace OpenSim.Framework | |||
56 | /// <returns>The user data profile</returns> | 57 | /// <returns>The user data profile</returns> |
57 | UserProfileData GetUserByName(string fname, string lname); | 58 | UserProfileData GetUserByName(string fname, string lname); |
58 | 59 | ||
60 | List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query); | ||
61 | |||
59 | /// <summary> | 62 | /// <summary> |
60 | /// Returns the current agent for a user searching by it's UUID | 63 | /// Returns the current agent for a user searching by it's UUID |
61 | /// </summary> | 64 | /// </summary> |
@@ -131,4 +134,13 @@ namespace OpenSim.Framework | |||
131 | /// </summary> | 134 | /// </summary> |
132 | void Initialise(); | 135 | void Initialise(); |
133 | } | 136 | } |
137 | public class AvatarPickerAvatar | ||
138 | { | ||
139 | public LLUUID AvatarID; | ||
140 | public string firstName; | ||
141 | public string lastName; | ||
142 | public AvatarPickerAvatar() | ||
143 | { | ||
144 | } | ||
145 | } | ||
134 | } \ No newline at end of file | 146 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/IUserService.cs b/OpenSim/Framework/IUserService.cs index 6465a48..de9865a 100644 --- a/OpenSim/Framework/IUserService.cs +++ b/OpenSim/Framework/IUserService.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | using libsecondlife; | 28 | using libsecondlife; |
29 | using System.Collections.Generic; | ||
29 | 30 | ||
30 | namespace OpenSim.Framework.Interfaces | 31 | namespace OpenSim.Framework.Interfaces |
31 | { | 32 | { |
@@ -35,6 +36,7 @@ namespace OpenSim.Framework.Interfaces | |||
35 | UserProfileData GetUserProfile(string name); | 36 | UserProfileData GetUserProfile(string name); |
36 | UserProfileData GetUserProfile(LLUUID userId); | 37 | UserProfileData GetUserProfile(LLUUID userId); |
37 | void clearUserAgent(LLUUID avatarID); | 38 | void clearUserAgent(LLUUID avatarID); |
39 | List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID QueryID, string Query); | ||
38 | 40 | ||
39 | UserProfileData SetupMasterUser(string firstName, string lastName); | 41 | UserProfileData SetupMasterUser(string firstName, string lastName); |
40 | UserProfileData SetupMasterUser(string firstName, string lastName, string password); | 42 | UserProfileData SetupMasterUser(string firstName, string lastName, string password); |
diff --git a/OpenSim/Framework/UserProfileData.cs b/OpenSim/Framework/UserProfileData.cs index d10aa36..9bd1ad1 100644 --- a/OpenSim/Framework/UserProfileData.cs +++ b/OpenSim/Framework/UserProfileData.cs | |||
@@ -146,6 +146,19 @@ namespace OpenSim.Framework | |||
146 | } | 146 | } |
147 | 147 | ||
148 | /// <summary> | 148 | /// <summary> |
149 | /// Minimal User Data required to service the AvatarPickerReply | ||
150 | /// </summary> | ||
151 | //public class AvatarPickerAvatar | ||
152 | //{ | ||
153 | //public LLUUID AvatarID; | ||
154 | //public string firstName; | ||
155 | //public string lastName; | ||
156 | //public AvatarPickerAvatar() | ||
157 | //{ | ||
158 | //} | ||
159 | //} | ||
160 | |||
161 | /// <summary> | ||
149 | /// Information about a users session | 162 | /// Information about a users session |
150 | /// </summary> | 163 | /// </summary> |
151 | public class UserAgentData | 164 | public class UserAgentData |