aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Data/IUserAccountData.cs55
-rw-r--r--OpenSim/Data/MySQL/MySQLUserAccountData.cs180
-rw-r--r--OpenSim/Data/MySQL/Resources/008_UserStore.sql5
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/User/LocalUserServiceConnector.cs6
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/User/RemoteUserServiceConnector.cs4
-rw-r--r--OpenSim/Services/Connectors/User/UserServiceConnector.cs145
-rw-r--r--OpenSim/Services/Interfaces/IUserService.cs35
-rw-r--r--OpenSim/Services/UserService/UserService.cs14
8 files changed, 275 insertions, 169 deletions
diff --git a/OpenSim/Data/IUserAccountData.cs b/OpenSim/Data/IUserAccountData.cs
new file mode 100644
index 0000000..6bec188
--- /dev/null
+++ b/OpenSim/Data/IUserAccountData.cs
@@ -0,0 +1,55 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Collections.Generic;
30using OpenMetaverse;
31using OpenSim.Framework;
32
33namespace OpenSim.Data
34{
35 public class UserAccountData
36 {
37 public UUID PrincipalID;
38 public UUID ScopeID;
39 public Dictionary<string, object> Data;
40 }
41
42 /// <summary>
43 /// An interface for connecting to the authentication datastore
44 /// </summary>
45 public interface IUserAccountData
46 {
47 UserAccountData Get(UUID principalID, UUID ScopeID);
48
49 List<UserAccountData> Query(UUID principalID, UUID ScopeID, string query);
50
51 bool Store(UserAccountData data);
52
53 bool SetDataItem(UUID principalID, string item, string value);
54 }
55}
diff --git a/OpenSim/Data/MySQL/MySQLUserAccountData.cs b/OpenSim/Data/MySQL/MySQLUserAccountData.cs
new file mode 100644
index 0000000..39d60ca
--- /dev/null
+++ b/OpenSim/Data/MySQL/MySQLUserAccountData.cs
@@ -0,0 +1,180 @@
1/*
2 * Copyright (c) Contributors, http://opensimulator.org/
3 * See CONTRIBUTORS.TXT for a full list of copyright holders.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the OpenSimulator Project nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28using System;
29using System.Collections;
30using System.Collections.Generic;
31using System.Data;
32using OpenMetaverse;
33using OpenSim.Framework;
34using MySql.Data.MySqlClient;
35
36namespace OpenSim.Data.MySQL
37{
38 public class MySqlUserAccountData : MySqlFramework, IUserAccountData
39 {
40 private string m_Realm;
41 private List<string> m_ColumnNames = null;
42 private int m_LastExpire = 0;
43
44 public MySqlUserAccountData(string connectionString, string realm)
45 : base(connectionString)
46 {
47 m_Realm = realm;
48
49 Migration m = new Migration(m_Connection, GetType().Assembly, "UserStore");
50 m.Update();
51 }
52
53 public List<UserAccountData> Query(UUID principalID, UUID scopeID, string query)
54 {
55 return null;
56 }
57
58 public UserAccountData Get(UUID principalID, UUID scopeID)
59 {
60 UserAccountData ret = new UserAccountData();
61 ret.Data = new Dictionary<string, object>();
62
63 string command = "select * from `"+m_Realm+"` where UUID = ?principalID";
64 if (scopeID != UUID.Zero)
65 command += " and ScopeID = ?scopeID";
66
67 MySqlCommand cmd = new MySqlCommand(command);
68
69 cmd.Parameters.AddWithValue("?principalID", principalID.ToString());
70 cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
71
72 IDataReader result = ExecuteReader(cmd);
73
74 if (result.Read())
75 {
76 ret.PrincipalID = principalID;
77 UUID scope;
78 UUID.TryParse(result["ScopeID"].ToString(), out scope);
79 ret.ScopeID = scope;
80
81 if (m_ColumnNames == null)
82 {
83 m_ColumnNames = new List<string>();
84
85 DataTable schemaTable = result.GetSchemaTable();
86 foreach (DataRow row in schemaTable.Rows)
87 m_ColumnNames.Add(row["ColumnName"].ToString());
88 }
89
90 foreach (string s in m_ColumnNames)
91 {
92 if (s == "UUID")
93 continue;
94 if (s == "ScopeID")
95 continue;
96
97 ret.Data[s] = result[s].ToString();
98 }
99
100 result.Close();
101 CloseReaderCommand(cmd);
102
103 return ret;
104 }
105
106 result.Close();
107 CloseReaderCommand(cmd);
108
109 return null;
110 }
111
112 public bool Store(UserAccountData data)
113 {
114 if (data.Data.ContainsKey("UUID"))
115 data.Data.Remove("UUID");
116 if (data.Data.ContainsKey("ScopeID"))
117 data.Data.Remove("ScopeID");
118
119 string[] fields = new List<string>(data.Data.Keys).ToArray();
120
121 MySqlCommand cmd = new MySqlCommand();
122
123 string update = "update `"+m_Realm+"` set ";
124 bool first = true;
125 foreach (string field in fields)
126 {
127 if (!first)
128 update += ", ";
129 update += "`" + field + "` = ?"+field;
130
131 first = false;
132
133 cmd.Parameters.AddWithValue("?"+field, data.Data[field]);
134 }
135
136 update += " where UUID = ?principalID";
137
138 if (data.ScopeID != UUID.Zero)
139 update += " and ScopeID = ?scopeID";
140
141 cmd.CommandText = update;
142 cmd.Parameters.AddWithValue("?principalID", data.PrincipalID.ToString());
143 cmd.Parameters.AddWithValue("?scopeID", data.ScopeID.ToString());
144
145 if (ExecuteNonQuery(cmd) < 1)
146 {
147 string insert = "insert into `" + m_Realm + "` (`UUID`, `ScopeID`, `" +
148 String.Join("`, `", fields) +
149 "`) values ( ?principalID, ?scopeID, ?" + String.Join(", ?", fields) + ")";
150
151 cmd.CommandText = insert;
152
153 if (ExecuteNonQuery(cmd) < 1)
154 {
155 cmd.Dispose();
156 return false;
157 }
158 }
159
160 cmd.Dispose();
161
162 return true;
163 }
164
165 public bool SetDataItem(UUID principalID, string item, string value)
166 {
167 MySqlCommand cmd = new MySqlCommand("update `" + m_Realm +
168 "` set `" + item + "` = ?" + item + " where UUID = ?UUID");
169
170
171 cmd.Parameters.AddWithValue("?"+item, value);
172 cmd.Parameters.AddWithValue("?UUID", principalID.ToString());
173
174 if (ExecuteNonQuery(cmd) > 0)
175 return true;
176
177 return false;
178 }
179 }
180}
diff --git a/OpenSim/Data/MySQL/Resources/008_UserStore.sql b/OpenSim/Data/MySQL/Resources/008_UserStore.sql
new file mode 100644
index 0000000..4500bd5
--- /dev/null
+++ b/OpenSim/Data/MySQL/Resources/008_UserStore.sql
@@ -0,0 +1,5 @@
1BEGIN;
2
3ALTER TABLE users add scopeID char(36) not null default '00000000-0000-0000-0000-000000000000';
4
5COMMIT;
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/User/LocalUserServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/User/LocalUserServiceConnector.cs
index fcd0304..cca5bb4 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/User/LocalUserServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/User/LocalUserServiceConnector.cs
@@ -42,7 +42,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.User
42 LogManager.GetLogger( 42 LogManager.GetLogger(
43 MethodBase.GetCurrentMethod().DeclaringType); 43 MethodBase.GetCurrentMethod().DeclaringType);
44 44
45 private IUserAccountDataService m_UserService; 45 private IUserAccountService m_UserService;
46 46
47 private bool m_Enabled = false; 47 private bool m_Enabled = false;
48 48
@@ -82,7 +82,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.User
82 82
83 Object[] args = new Object[] { source }; 83 Object[] args = new Object[] { source };
84 m_UserService = 84 m_UserService =
85 ServerUtils.LoadPlugin<IUserAccountDataService>(serviceDll, 85 ServerUtils.LoadPlugin<IUserAccountService>(serviceDll,
86 args); 86 args);
87 87
88 if (m_UserService == null) 88 if (m_UserService == null)
@@ -113,7 +113,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.User
113 if (!m_Enabled) 113 if (!m_Enabled)
114 return; 114 return;
115 115
116 scene.RegisterModuleInterface<IUserAccountDataService>(m_UserService); 116 scene.RegisterModuleInterface<IUserAccountService>(m_UserService);
117 } 117 }
118 118
119 public void RemoveRegion(Scene scene) 119 public void RemoveRegion(Scene scene)
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/User/RemoteUserServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/User/RemoteUserServiceConnector.cs
index a2b854b..cef9129 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/User/RemoteUserServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/User/RemoteUserServiceConnector.cs
@@ -37,7 +37,7 @@ using OpenSim.Services.Connectors;
37namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.User 37namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.User
38{ 38{
39 public class RemoteUserServicesConnector : UserServicesConnector, 39 public class RemoteUserServicesConnector : UserServicesConnector,
40 ISharedRegionModule, IUserAccountDataService 40 ISharedRegionModule, IUserAccountService
41 { 41 {
42 private static readonly ILog m_log = 42 private static readonly ILog m_log =
43 LogManager.GetLogger( 43 LogManager.GetLogger(
@@ -96,7 +96,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.User
96 if (!m_Enabled) 96 if (!m_Enabled)
97 return; 97 return;
98 98
99 scene.RegisterModuleInterface<IUserAccountDataService>(this); 99 scene.RegisterModuleInterface<IUserAccountService>(this);
100 } 100 }
101 101
102 public void RemoveRegion(Scene scene) 102 public void RemoveRegion(Scene scene)
diff --git a/OpenSim/Services/Connectors/User/UserServiceConnector.cs b/OpenSim/Services/Connectors/User/UserServiceConnector.cs
index fb03844..d418938 100644
--- a/OpenSim/Services/Connectors/User/UserServiceConnector.cs
+++ b/OpenSim/Services/Connectors/User/UserServiceConnector.cs
@@ -39,7 +39,7 @@ using OpenMetaverse;
39 39
40namespace OpenSim.Services.Connectors 40namespace OpenSim.Services.Connectors
41{ 41{
42 public class UserServicesConnector : IUserAccountDataService 42 public class UserServicesConnector : IUserAccountService
43 { 43 {
44 private static readonly ILog m_log = 44 private static readonly ILog m_log =
45 LogManager.GetLogger( 45 LogManager.GetLogger(
@@ -81,153 +81,34 @@ namespace OpenSim.Services.Connectors
81 m_ServerURI = serviceURI; 81 m_ServerURI = serviceURI;
82 } 82 }
83 83
84 public UserAccountData GetUserAccountData(UUID scopeID, string firstName, string lastName) 84 public UserAccount GetUserAccount(UUID scopeID, string firstName, string lastName)
85 { 85 {
86 string uri = m_ServerURI + "/users/"; 86 return null;
87 UserAccountData data = new UserAccountData();
88 data.FirstName = firstName;
89 data.LastName = lastName;
90 data.ScopeID = scopeID;
91 data.UserID = UUID.Zero;
92
93 try
94 {
95 data = SynchronousRestObjectRequester.
96 MakeRequest<UserAccountData, UserAccountData>("POST", uri, data);
97 }
98 catch (Exception e)
99 {
100 m_log.WarnFormat("[USER CONNECTOR]: Unable to send request to user server. Reason: {1}", e.Message);
101 return null;
102 }
103
104 if (data.UserID == UUID.Zero)
105 return null;
106
107 return data;
108 } 87 }
109 88
110 public UserAccountData GetUserAccountData(UUID scopeID, UUID userID) 89 public UserAccount GetUserAccount(UUID scopeID, UUID userID)
111 { 90 {
112 string uri = m_ServerURI + "/users/"; 91 return null;
113 UserAccountData data = new UserAccountData();
114 data.FirstName = String.Empty;
115 data.LastName = String.Empty;
116 data.ScopeID = scopeID;
117 data.UserID = userID;
118
119 try
120 {
121 data = SynchronousRestObjectRequester.
122 MakeRequest<UserAccountData, UserAccountData>("POST", uri, data);
123 }
124 catch (Exception e)
125 {
126 m_log.WarnFormat("[USER CONNECTOR]: Unable to send request to user server. Reason: {1}", e.Message);
127 return null;
128 }
129
130 if (data.UserID == UUID.Zero)
131 return null;
132
133 return data;
134 } 92 }
135 93
136 public bool SetHomePosition(UserAccountData data, UUID regionID, UUID regionSecret) 94 public bool SetHomePosition(UserAccount data, UUID regionID, UUID regionSecret)
137 { 95 {
138 string uri = m_ServerURI + "/user/"; 96 return false;
139 bool result = false;
140
141 UserAccountDataMessage msg = new UserAccountDataMessage();
142
143 msg.Data = data;
144 msg.RegionID = regionID;
145 msg.RegionSecret = regionSecret;
146
147 try
148 {
149 result = SynchronousRestObjectRequester.
150 MakeRequest<UserAccountDataMessage, bool>("POST", uri, msg);
151 }
152 catch (Exception e)
153 {
154 m_log.WarnFormat("[USER CONNECTOR]: Unable to send request to user server. Reason: {1}", e.Message);
155 return false;
156 }
157
158 return result;
159 } 97 }
160 98
161 public bool SetUserAccountData(UserAccountData data, UUID principalID, UUID sessionID) 99 public bool SetUserAccount(UserAccount data, UUID principalID, string token)
162 { 100 {
163 string uri = m_ServerURI + "/user/"; 101 return false;
164 bool result = false;
165
166 UserAccountDataMessage msg = new UserAccountDataMessage();
167
168 msg.Data = data;
169 msg.PrincipalID = principalID;
170 msg.SessionID = sessionID;
171
172 try
173 {
174 result = SynchronousRestObjectRequester.
175 MakeRequest<UserAccountDataMessage, bool>("POST", uri, msg);
176 }
177 catch (Exception e)
178 {
179 m_log.WarnFormat("[USER CONNECTOR]: Unable to send request to user server. Reason: {1}", e.Message);
180 return false;
181 }
182
183 return result;
184 } 102 }
185 103
186 public bool CreateUserAccountData(UserAccountData data, UUID principalID, UUID sessionID) 104 public bool CreateUserAccount(UserAccount data, UUID principalID, string token)
187 { 105 {
188 string uri = m_ServerURI + "/newuser/"; 106 return false;
189 bool result = false;
190
191 UserAccountDataMessage msg = new UserAccountDataMessage();
192
193 msg.Data = data;
194 msg.PrincipalID = principalID;
195 msg.SessionID = sessionID;
196
197 try
198 {
199 result = SynchronousRestObjectRequester.
200 MakeRequest<UserAccountDataMessage, bool>("POST", uri, msg);
201 }
202 catch (Exception e)
203 {
204 m_log.WarnFormat("[USER CONNECTOR]: Unable to send request to user server. Reason: {1}", e.Message);
205 return false;
206 }
207
208 return result;
209 } 107 }
210 108
211 public List<UserAccountData> GetUserAccountData(UUID scopeID, string query) 109 public List<UserAccount> GetUserAccount(UUID scopeID, string query)
212 { 110 {
213 string uri = m_ServerURI + "/userlist/"; 111 return null;
214 UserAccountData data = new UserAccountData();
215 data.FirstName = query;
216 data.ScopeID = scopeID;
217 List<UserAccountData> result;
218
219 try
220 {
221 result = SynchronousRestObjectRequester.
222 MakeRequest<UserAccountData, List<UserAccountData>>("POST", uri, data);
223 }
224 catch (Exception e)
225 {
226 m_log.WarnFormat("[USER CONNECTOR]: Unable to send request to user server. Reason: {1}", e.Message);
227 return null;
228 }
229
230 return result;
231 } 112 }
232 } 113 }
233} 114}
diff --git a/OpenSim/Services/Interfaces/IUserService.cs b/OpenSim/Services/Interfaces/IUserService.cs
index 35254a1..92bd8ef 100644
--- a/OpenSim/Services/Interfaces/IUserService.cs
+++ b/OpenSim/Services/Interfaces/IUserService.cs
@@ -30,13 +30,13 @@ using OpenMetaverse;
30 30
31namespace OpenSim.Services.Interfaces 31namespace OpenSim.Services.Interfaces
32{ 32{
33 public class UserAccountData 33 public class UserAccount
34 { 34 {
35 public UserAccountData() 35 public UserAccount()
36 { 36 {
37 } 37 }
38 38
39 public UserAccountData(UUID userID, UUID homeRegionID, float homePositionX, 39 public UserAccount(UUID userID, UUID homeRegionID, float homePositionX,
40 float homePositionY, float homePositionZ, float homeLookAtX, 40 float homePositionY, float homePositionZ, float homeLookAtX,
41 float homeLookAtY, float homeLookAtZ) 41 float homeLookAtY, float homeLookAtZ)
42 { 42 {
@@ -78,41 +78,26 @@ namespace OpenSim.Services.Interfaces
78 78
79 }; 79 };
80 80
81 public class UserAccountDataMessage 81 public interface IUserAccountService
82 { 82 {
83 public UserAccountData Data; 83 UserAccount GetUserAccount(UUID scopeID, UUID userID);
84 84 UserAccount GetUserAccount(UUID scopeID, string FirstName, string LastName);
85 // Set to the region's ID and secret when updating home location
86 //
87 public UUID RegionID;
88 public UUID RegionSecret;
89
90 // Set to the auth info of the user requesting creation/update
91 //
92 public UUID PrincipalID;
93 public UUID SessionID;
94 };
95
96 public interface IUserAccountDataService
97 {
98 UserAccountData GetUserAccountData(UUID scopeID, UUID userID);
99 UserAccountData GetUserAccountData(UUID scopeID, string FirstName, string LastName);
100 // Returns the list of avatars that matches both the search 85 // Returns the list of avatars that matches both the search
101 // criterion and the scope ID passed 86 // criterion and the scope ID passed
102 // 87 //
103 List<UserAccountData> GetUserAccountData(UUID scopeID, string query); 88 List<UserAccount> GetUserAccount(UUID scopeID, string query);
104 89
105 90
106 // This will set only the home region portion of the data! 91 // This will set only the home region portion of the data!
107 // Can't be used to set god level, flags, type or change the name! 92 // Can't be used to set god level, flags, type or change the name!
108 // 93 //
109 bool SetHomePosition(UserAccountData data, UUID RegionID, UUID RegionSecret); 94 bool SetHomePosition(UserAccount data, UUID RegionID, UUID RegionSecret);
110 95
111 // Update all updatable fields 96 // Update all updatable fields
112 // 97 //
113 bool SetUserAccountData(UserAccountData data, UUID PrincipalID, UUID SessionID); 98 bool SetUserAccount(UserAccount data, UUID PrincipalID, string token);
114 99
115 // Creates a user data record 100 // Creates a user data record
116 bool CreateUserAccountData(UserAccountData data, UUID PrincipalID, UUID SessionID); 101 bool CreateUserAccount(UserAccount data, UUID PrincipalID, string token);
117 } 102 }
118} 103}
diff --git a/OpenSim/Services/UserService/UserService.cs b/OpenSim/Services/UserService/UserService.cs
index 78793657..e8b9fc3 100644
--- a/OpenSim/Services/UserService/UserService.cs
+++ b/OpenSim/Services/UserService/UserService.cs
@@ -35,39 +35,39 @@ using OpenMetaverse;
35 35
36namespace OpenSim.Services.UserAccountService 36namespace OpenSim.Services.UserAccountService
37{ 37{
38 public class UserAccountService : UserAccountServiceBase, IUserAccountDataService 38 public class UserAccountService : UserAccountServiceBase, IUserAccountService
39 { 39 {
40 public UserAccountService(IConfigSource config) : base(config) 40 public UserAccountService(IConfigSource config) : base(config)
41 { 41 {
42 } 42 }
43 43
44 public UserAccountData GetUserAccountData(UUID scopeID, string firstName, 44 public UserAccount GetUserAccount(UUID scopeID, string firstName,
45 string lastName) 45 string lastName)
46 { 46 {
47 return null; 47 return null;
48 } 48 }
49 49
50 public UserAccountData GetUserAccountData(UUID scopeID, UUID userID) 50 public UserAccount GetUserAccount(UUID scopeID, UUID userID)
51 { 51 {
52 return null; 52 return null;
53 } 53 }
54 54
55 public bool SetHomePosition(UserAccountData data, UUID regionID, UUID regionSecret) 55 public bool SetHomePosition(UserAccount data, UUID regionID, UUID regionSecret)
56 { 56 {
57 return false; 57 return false;
58 } 58 }
59 59
60 public bool SetUserAccountData(UserAccountData data, UUID principalID, UUID sessionID) 60 public bool SetUserAccount(UserAccount data, UUID principalID, string token)
61 { 61 {
62 return false; 62 return false;
63 } 63 }
64 64
65 public bool CreateUserAccountData(UserAccountData data, UUID principalID, UUID sessionID) 65 public bool CreateUserAccount(UserAccount data, UUID principalID, string token)
66 { 66 {
67 return false; 67 return false;
68 } 68 }
69 69
70 public List<UserAccountData> GetUserAccountData(UUID scopeID, 70 public List<UserAccount> GetUserAccount(UUID scopeID,
71 string query) 71 string query)
72 { 72 {
73 return null; 73 return null;