using System;
using System.Collections.Generic;
using OpenMetaverse;
namespace OpenSim.Region.Framework.Interfaces
{
///
/// This maintains the relationship between a UUID and a user name.
///
public interface IUserManagement
{
string GetUserName(UUID uuid);
string GetUserHomeURL(UUID uuid);
string GetUserUUI(UUID uuid);
string GetUserServerURL(UUID uuid, string serverType);
///
/// Get user ID by the given name.
///
///
/// UUID.Zero if no user with that name is found or if the name is "Unknown User"
UUID GetUserIdByName(string name);
///
/// Get user ID by the given name.
///
///
///
/// UUID.Zero if no user with that name is found or if the name is "Unknown User"
UUID GetUserIdByName(string firstName, string lastName);
///
/// Add a user.
///
///
/// If an account is found for the UUID, then the names in this will be used rather than any information
/// extracted from creatorData.
///
///
/// The creator data for this user.
void AddUser(UUID uuid, string creatorData);
///
/// Add a user.
///
///
/// The UUID is related to the name without any other checks being performed, such as user account presence.
///
///
///
///
void AddUser(UUID uuid, string firstName, string lastName);
///
/// Add a user.
///
///
/// The arguments apart from uuid are formed into a creatorData string and processing proceeds as for the
/// AddUser(UUID uuid, string creatorData) method.
///
///
///
///
void AddUser(UUID uuid, string firstName, string lastName, string homeURL);
bool IsLocalGridUser(UUID uuid);
}
}