2007-10-31 01:21:04 +00:00
/ *
* Copyright ( c ) Contributors , http : //opensimulator.org/
* See CONTRIBUTORS . TXT for a full list of copyright holders .
*
* 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 OpenSim Project nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission .
*
2007-12-10 05:25:16 +00:00
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ` ` AS IS ' ' AND ANY
2007-10-31 01:21:04 +00:00
* 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 THE CONTRIBUTORS 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 .
*
* /
2007-11-13 22:48:19 +00:00
using System.Collections.Generic ;
2007-12-27 21:41:48 +00:00
using libsecondlife ;
2007-10-31 01:21:04 +00:00
2007-11-19 11:20:36 +00:00
namespace OpenSim.Framework
2007-10-31 01:21:04 +00:00
{
public interface IUserService
{
2008-02-22 18:11:10 +00:00
UserProfileData GetUserProfile ( string firstName , string lastName , string authAddr ) ;
UserProfileData GetUserProfile ( string firstName , string authAddr ) ; // must differentiate this from GetUserProfile call
2007-12-15 21:58:07 +00:00
//UserProfileData GetUserProfile(string name);
2008-02-22 18:11:10 +00:00
UserProfileData GetUserProfileByAccount ( string account ) ;
UserProfileData GetUserProfile ( LLUUID userId , string authAddr ) ;
void clearUserAgent ( LLUUID avatarID , string authAddr ) ;
void UpdateUserAgentData ( LLUUID agentId , bool agentOnline , LLVector3 currentPos , int logoutTime , string authAddr ) ;
2007-11-13 22:48:19 +00:00
List < AvatarPickerAvatar > GenerateAgentPickerRequestResponse ( LLUUID QueryID , string Query ) ;
2007-10-31 01:21:04 +00:00
UserProfileData SetupMasterUser ( string firstName , string lastName ) ;
UserProfileData SetupMasterUser ( string firstName , string lastName , string password ) ;
2007-11-03 17:49:45 +00:00
UserProfileData SetupMasterUser ( LLUUID userId ) ;
2007-10-31 01:21:04 +00:00
2008-02-22 18:11:10 +00:00
bool AuthenticateUser ( LLUUID agentID , string sessionhash , out string asAddress ) ; //rex
2007-10-31 01:21:04 +00:00
/// <summary>
///
/// </summary>
/// <param name="user"></param>
2007-12-01 18:49:17 +00:00
LLUUID AddUserProfile ( string firstName , string lastName , string pass , uint regX , uint regY ) ;
2008-01-01 06:12:04 +00:00
/// <summary>
/// Adds a new friend to the database for XUser
/// </summary>
/// <param name="friendlistowner">The agent that who's friends list is being added to</param>
/// <param name="friend">The agent that being added to the friends list of the friends list owner</param>
/// <param name="perms">A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects </param>
void AddNewUserFriend ( LLUUID friendlistowner , LLUUID friend , uint perms ) ;
/// <summary>
/// Delete friend on friendlistowner's friendlist.
/// </summary>
/// <param name="friendlistowner">The agent that who's friends list is being updated</param>
/// <param name="friend">The Ex-friend agent</param>
void RemoveUserFriend ( LLUUID friendlistowner , LLUUID friend ) ;
/// <summary>
/// Update permissions for friend on friendlistowner's friendlist.
/// </summary>
/// <param name="friendlistowner">The agent that who's friends list is being updated</param>
/// <param name="friend">The agent that is getting or loosing permissions</param>
/// <param name="perms">A uint bit vector for set perms that the friend being added has; 0 = none, 1=This friend can see when they sign on, 2 = map, 4 edit objects </param>
void UpdateUserFriendPerms ( LLUUID friendlistowner , LLUUID friend , uint perms ) ;
/// <summary>
/// Returns a list of FriendsListItems that describe the friends and permissions in the friend relationship for LLUUID friendslistowner
/// </summary>
/// <param name="friendlistowner">The agent that we're retreiving the friends Data.</param>
List < FriendListItem > GetUserFriendList ( LLUUID friendlistowner ) ;
2007-10-31 01:21:04 +00:00
}
2007-12-27 21:41:48 +00:00
}