aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs')
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs185
1 files changed, 156 insertions, 29 deletions
diff --git a/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs b/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs
index 3f42762..35ebcf3 100644
--- a/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs
+++ b/OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs
@@ -1,3 +1,29 @@
1/*
2* Copyright (c) OpenSim project, http://sim.opensecondlife.org/
3*
4* Redistribution and use in source and binary forms, with or without
5* modification, are permitted provided that the following conditions are met:
6* * Redistributions of source code must retain the above copyright
7* notice, this list of conditions and the following disclaimer.
8* * Redistributions in binary form must reproduce the above copyright
9* notice, this list of conditions and the following disclaimer in the
10* documentation and/or other materials provided with the distribution.
11* * Neither the name of the <organization> nor the
12* names of its contributors may be used to endorse or promote products
13* derived from this software without specific prior written permission.
14*
15* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
16* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18* DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
19* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*
26*/
1using System; 27using System;
2using System.Collections.Generic; 28using System.Collections.Generic;
3using System.Text; 29using System.Text;
@@ -5,50 +31,151 @@ using libsecondlife;
5 31
6namespace OpenGrid.Framework.Data 32namespace OpenGrid.Framework.Data
7{ 33{
34 /// <summary>
35 /// Information about a particular user known to the userserver
36 /// </summary>
8 public class UserProfileData 37 public class UserProfileData
9 { 38 {
39 /// <summary>
40 /// The ID value for this user
41 /// </summary>
10 public LLUUID UUID; 42 public LLUUID UUID;
11 public string username; // The configurable part of the users username
12 public string surname; // The users surname (can be used to indicate user class - eg 'Test User' or 'Test Admin')
13 43
14 public string passwordHash; // Hash of the users password 44 /// <summary>
15 public string passwordSalt; // Salt for the users password 45 /// The first component of a users account name
46 /// </summary>
47 public string username;
48 /// <summary>
49 /// The second component of a users account name
50 /// </summary>
51 public string surname;
16 52
17 public ulong homeRegion; // RegionHandle of home 53 /// <summary>
18 public LLVector3 homeLocation; // Home Location inside the sim 54 /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt)
19 public LLVector3 homeLookAt; // Coordinates where the user is looking 55 /// </summary>
56 /// <remarks>This is double MD5'd because the client sends an unsalted MD5 to the loginserver</remarks>
57 public string passwordHash;
58 /// <summary>
59 /// The salt used for the users hash, should be 32 bytes or longer
60 /// </summary>
61 public string passwordSalt;
20 62
63 /// <summary>
64 /// The regionhandle of the users preffered home region. If multiple sims occupy the same spot, the grid may decide which region the user logs into
65 /// </summary>
66 public ulong homeRegion;
67 /// <summary>
68 /// The coordinates inside the region of the home location
69 /// </summary>
70 public LLVector3 homeLocation;
71 /// <summary>
72 /// Where the user will be looking when they rez.
73 /// </summary>
74 public LLVector3 homeLookAt;
21 75
22 public int created; // UNIX Epoch Timestamp (User Creation) 76 /// <summary>
23 public int lastLogin; // UNIX Epoch Timestamp (Last Login Time) 77 /// A UNIX Timestamp (seconds since epoch) for the users creation
78 /// </summary>
79 public int created;
80 /// <summary>
81 /// A UNIX Timestamp for the users last login date / time
82 /// </summary>
83 public int lastLogin;
24 84
25 public string userInventoryURI; // URI to inventory server for this user 85 /// <summary>
26 public string userAssetURI; // URI to asset server for this user 86 /// A URI to the users inventory server, used for foreigners and large grids
87 /// </summary>
88 public string userInventoryURI;
89 /// <summary>
90 /// A URI to the users asset server, used for foreigners and large grids.
91 /// </summary>
92 public string userAssetURI;
27 93
28 public uint profileCanDoMask; // Profile window "I can do" mask 94 /// <summary>
95 /// A uint mask containing the "I can do" fields of the users profile
96 /// </summary>
97 public uint profileCanDoMask;
98 /// <summary>
99 /// A uint mask containing the "I want to do" part of the users profile
100 /// </summary>
29 public uint profileWantDoMask; // Profile window "I want to" mask 101 public uint profileWantDoMask; // Profile window "I want to" mask
30 102
31 public string profileAboutText; // My about window text 103 /// <summary>
32 public string profileFirstText; // First Life Text 104 /// The about text listed in a users profile.
105 /// </summary>
106 public string profileAboutText;
107 /// <summary>
108 /// The first life about text listed in a users profile
109 /// </summary>
110 public string profileFirstText;
33 111
34 public LLUUID profileImage; // My avatars profile image 112 /// <summary>
35 public LLUUID profileFirstImage; // First-life image 113 /// The profile image for an avatar stored on the asset server
36 public UserAgentData currentAgent; // The users last agent 114 /// </summary>
115 public LLUUID profileImage;
116 /// <summary>
117 /// The profile image for the users first life tab
118 /// </summary>
119 public LLUUID profileFirstImage;
120 /// <summary>
121 /// The users last registered agent (filled in on the user server)
122 /// </summary>
123 public UserAgentData currentAgent;
37 } 124 }
38 125
126 /// <summary>
127 /// Information about a users session
128 /// </summary>
39 public class UserAgentData 129 public class UserAgentData
40 { 130 {
41 public LLUUID UUID; // Account ID 131 /// <summary>
42 public string agentIP; // The IP of the agent 132 /// The UUID of the users avatar (not the agent!)
43 public uint agentPort; // The port of the agent 133 /// </summary>
44 public bool agentOnline; // The online status of the agent 134 public LLUUID UUID;
45 public LLUUID sessionID; // The session ID for the agent (used by client) 135 /// <summary>
46 public LLUUID secureSessionID; // The secure session ID for the agent (used by client) 136 /// The IP address of the user
47 public LLUUID regionID; // The region ID the agent occupies 137 /// </summary>
48 public int loginTime; // EPOCH based Timestamp 138 public string agentIP;
49 public int logoutTime; // Timestamp or 0 if N/A 139 /// <summary>
50 public LLUUID currentRegion; // UUID of the users current region 140 /// The port of the user
51 public ulong currentHandle; // RegionHandle of the users current region 141 /// </summary>
52 public LLVector3 currentPos; // Current position in the region 142 public uint agentPort;
143 /// <summary>
144 /// Is the user online?
145 /// </summary>
146 public bool agentOnline;
147 /// <summary>
148 /// The session ID for the user (also the agent ID)
149 /// </summary>
150 public LLUUID sessionID;
151 /// <summary>
152 /// The "secure" session ID for the user
153 /// </summary>
154 /// <remarks>Not very secure. Dont rely on it for anything more than Linden Lab does.</remarks>
155 public LLUUID secureSessionID;
156 /// <summary>
157 /// The region the user logged into initially
158 /// </summary>
159 public LLUUID regionID;
160 /// <summary>
161 /// A unix timestamp from when the user logged in
162 /// </summary>
163 public int loginTime;
164 /// <summary>
165 /// When this agent expired and logged out, 0 if still online
166 /// </summary>
167 public int logoutTime;
168 /// <summary>
169 /// Current region the user is logged into
170 /// </summary>
171 public LLUUID currentRegion;
172 /// <summary>
173 /// Region handle of the current region the user is in
174 /// </summary>
175 public ulong currentHandle;
176 /// <summary>
177 /// The position of the user within the region
178 /// </summary>
179 public LLVector3 currentPos;
53 } 180 }
54} 181}