From a7fe1b63f31fdfe438ed52512ccd277f9e33ff2e Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Fri, 1 Jun 2007 23:34:37 +0000 Subject: * ZOMG Wtf Comments? * OpenGrid.Framework.Data is now well documented --- .../OpenGrid.Framework.Data/UserProfileData.cs | 185 +++++++++++++++++---- 1 file changed, 156 insertions(+), 29 deletions(-) (limited to 'OpenGridServices/OpenGrid.Framework.Data/UserProfileData.cs') 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 @@ +/* +* Copyright (c) OpenSim project, http://sim.opensecondlife.org/ +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of the nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ using System; using System.Collections.Generic; using System.Text; @@ -5,50 +31,151 @@ using libsecondlife; namespace OpenGrid.Framework.Data { + /// + /// Information about a particular user known to the userserver + /// public class UserProfileData { + /// + /// The ID value for this user + /// public LLUUID UUID; - public string username; // The configurable part of the users username - public string surname; // The users surname (can be used to indicate user class - eg 'Test User' or 'Test Admin') - public string passwordHash; // Hash of the users password - public string passwordSalt; // Salt for the users password + /// + /// The first component of a users account name + /// + public string username; + /// + /// The second component of a users account name + /// + public string surname; - public ulong homeRegion; // RegionHandle of home - public LLVector3 homeLocation; // Home Location inside the sim - public LLVector3 homeLookAt; // Coordinates where the user is looking + /// + /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt) + /// + /// This is double MD5'd because the client sends an unsalted MD5 to the loginserver + public string passwordHash; + /// + /// The salt used for the users hash, should be 32 bytes or longer + /// + public string passwordSalt; + /// + /// 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 + /// + public ulong homeRegion; + /// + /// The coordinates inside the region of the home location + /// + public LLVector3 homeLocation; + /// + /// Where the user will be looking when they rez. + /// + public LLVector3 homeLookAt; - public int created; // UNIX Epoch Timestamp (User Creation) - public int lastLogin; // UNIX Epoch Timestamp (Last Login Time) + /// + /// A UNIX Timestamp (seconds since epoch) for the users creation + /// + public int created; + /// + /// A UNIX Timestamp for the users last login date / time + /// + public int lastLogin; - public string userInventoryURI; // URI to inventory server for this user - public string userAssetURI; // URI to asset server for this user + /// + /// A URI to the users inventory server, used for foreigners and large grids + /// + public string userInventoryURI; + /// + /// A URI to the users asset server, used for foreigners and large grids. + /// + public string userAssetURI; - public uint profileCanDoMask; // Profile window "I can do" mask + /// + /// A uint mask containing the "I can do" fields of the users profile + /// + public uint profileCanDoMask; + /// + /// A uint mask containing the "I want to do" part of the users profile + /// public uint profileWantDoMask; // Profile window "I want to" mask - public string profileAboutText; // My about window text - public string profileFirstText; // First Life Text + /// + /// The about text listed in a users profile. + /// + public string profileAboutText; + /// + /// The first life about text listed in a users profile + /// + public string profileFirstText; - public LLUUID profileImage; // My avatars profile image - public LLUUID profileFirstImage; // First-life image - public UserAgentData currentAgent; // The users last agent + /// + /// The profile image for an avatar stored on the asset server + /// + public LLUUID profileImage; + /// + /// The profile image for the users first life tab + /// + public LLUUID profileFirstImage; + /// + /// The users last registered agent (filled in on the user server) + /// + public UserAgentData currentAgent; } + /// + /// Information about a users session + /// public class UserAgentData { - public LLUUID UUID; // Account ID - public string agentIP; // The IP of the agent - public uint agentPort; // The port of the agent - public bool agentOnline; // The online status of the agent - public LLUUID sessionID; // The session ID for the agent (used by client) - public LLUUID secureSessionID; // The secure session ID for the agent (used by client) - public LLUUID regionID; // The region ID the agent occupies - public int loginTime; // EPOCH based Timestamp - public int logoutTime; // Timestamp or 0 if N/A - public LLUUID currentRegion; // UUID of the users current region - public ulong currentHandle; // RegionHandle of the users current region - public LLVector3 currentPos; // Current position in the region + /// + /// The UUID of the users avatar (not the agent!) + /// + public LLUUID UUID; + /// + /// The IP address of the user + /// + public string agentIP; + /// + /// The port of the user + /// + public uint agentPort; + /// + /// Is the user online? + /// + public bool agentOnline; + /// + /// The session ID for the user (also the agent ID) + /// + public LLUUID sessionID; + /// + /// The "secure" session ID for the user + /// + /// Not very secure. Dont rely on it for anything more than Linden Lab does. + public LLUUID secureSessionID; + /// + /// The region the user logged into initially + /// + public LLUUID regionID; + /// + /// A unix timestamp from when the user logged in + /// + public int loginTime; + /// + /// When this agent expired and logged out, 0 if still online + /// + public int logoutTime; + /// + /// Current region the user is logged into + /// + public LLUUID currentRegion; + /// + /// Region handle of the current region the user is in + /// + public ulong currentHandle; + /// + /// The position of the user within the region + /// + public LLVector3 currentPos; } } -- cgit v1.1