aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Communications')
-rw-r--r--OpenSim/Framework/Communications/IUserService.cs112
1 files changed, 112 insertions, 0 deletions
diff --git a/OpenSim/Framework/Communications/IUserService.cs b/OpenSim/Framework/Communications/IUserService.cs
new file mode 100644
index 0000000..2b6e0d5
--- /dev/null
+++ b/OpenSim/Framework/Communications/IUserService.cs
@@ -0,0 +1,112 @@
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 OpenSim 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.Collections.Generic;
29using libsecondlife;
30
31namespace OpenSim.Framework
32{
33 public interface IUserService
34 {
35 /// <summary>
36 /// Loads a user profile by name
37 /// </summary>
38 /// <param name="fname">First name</param>
39 /// <param name="lname">Last name</param>
40 /// <returns>A user profile. Returns null if no profile is found</returns>
41 UserProfileData GetUserProfile(string firstName, string lastName);
42
43 //UserProfileData GetUserProfile(string name);
44
45 /// <summary>
46 /// Loads a user profile from a database by UUID
47 /// </summary>
48 /// <param name="uuid">The target UUID</param>
49 /// <returns>A user profile. Returns null if no user profile is found.</returns>
50 UserProfileData GetUserProfile(LLUUID userId);
51
52 void clearUserAgent(LLUUID avatarID);
53 List<AvatarPickerAvatar> GenerateAgentPickerRequestResponse(LLUUID QueryID, string Query);
54
55 UserProfileData SetupMasterUser(string firstName, string lastName);
56 UserProfileData SetupMasterUser(string firstName, string lastName, string password);
57 UserProfileData SetupMasterUser(LLUUID userId);
58
59 /// <summary>
60 ///
61 /// </summary>
62 /// <param name="user"></param>
63 LLUUID AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY);
64
65
66 /// <summary>
67 /// Adds a new friend to the database for XUser
68 /// </summary>
69 /// <param name="friendlistowner">The agent that who's friends list is being added to</param>
70 /// <param name="friend">The agent that being added to the friends list of the friends list owner</param>
71 /// <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>
72 void AddNewUserFriend(LLUUID friendlistowner, LLUUID friend, uint perms);
73
74 /// <summary>
75 /// Delete friend on friendlistowner's friendlist.
76 /// </summary>
77 /// <param name="friendlistowner">The agent that who's friends list is being updated</param>
78 /// <param name="friend">The Ex-friend agent</param>
79 void RemoveUserFriend(LLUUID friendlistowner, LLUUID friend);
80
81 /// <summary>
82 /// Update permissions for friend on friendlistowner's friendlist.
83 /// </summary>
84 /// <param name="friendlistowner">The agent that who's friends list is being updated</param>
85 /// <param name="friend">The agent that is getting or loosing permissions</param>
86 /// <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>
87 void UpdateUserFriendPerms(LLUUID friendlistowner, LLUUID friend, uint perms);
88
89 /// <summary>
90 /// Updates a user profile
91 /// </summary>
92 /// <param name="UserProfile">Profile to update</param>
93 /// <returns></returns>
94 bool UpdateUserProfileProperties(UserProfileData UserProfile);
95
96 /// <summary>
97 /// Logs off a user on the user server
98 /// </summary>
99 /// <param name="UserID">UUID of the user</param>
100 /// <param name="regionData">UUID of the Region</param>
101 /// <param name="posx">final position x</param>
102 /// <param name="posy">final position y</param>
103 /// <param name="posz">final position z</param>
104 void LogOffUser(LLUUID userid, LLUUID regionid, ulong regionhandle, float posx, float posy, float posz);
105
106 /// <summary>
107 /// Returns a list of FriendsListItems that describe the friends and permissions in the friend relationship for LLUUID friendslistowner
108 /// </summary>
109 /// <param name="friendlistowner">The agent that we're retreiving the friends Data.</param>
110 List<FriendListItem> GetUserFriendList(LLUUID friendlistowner);
111 }
112} \ No newline at end of file