aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/IUserData.cs
diff options
context:
space:
mode:
authorlbsa712007-10-31 07:28:23 +0000
committerlbsa712007-10-31 07:28:23 +0000
commit064404ab409ddd0a3b25027a98582696295c46fd (patch)
treebd84ec2e23930f76e7cc81c8529ef71936c86dd9 /OpenSim/Framework/IUserData.cs
parentmade illogical bitwise operations logical (diff)
downloadopensim-SC_OLD-064404ab409ddd0a3b25027a98582696295c46fd.zip
opensim-SC_OLD-064404ab409ddd0a3b25027a98582696295c46fd.tar.gz
opensim-SC_OLD-064404ab409ddd0a3b25027a98582696295c46fd.tar.bz2
opensim-SC_OLD-064404ab409ddd0a3b25027a98582696295c46fd.tar.xz
* Moved OpenSim/Framework/General to OpenSim/Framework for great justice.
Diffstat (limited to 'OpenSim/Framework/IUserData.cs')
-rw-r--r--OpenSim/Framework/IUserData.cs134
1 files changed, 134 insertions, 0 deletions
diff --git a/OpenSim/Framework/IUserData.cs b/OpenSim/Framework/IUserData.cs
new file mode 100644
index 0000000..cb2502a
--- /dev/null
+++ b/OpenSim/Framework/IUserData.cs
@@ -0,0 +1,134 @@
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 libsecondlife;
29
30namespace OpenSim.Framework
31{
32 /// <summary>
33 /// An interface for connecting to user storage servers.
34 /// </summary>
35 public interface IUserData
36 {
37 /// <summary>
38 /// Returns a user profile from a database via their UUID
39 /// </summary>
40 /// <param name="user">The accounts UUID</param>
41 /// <returns>The user data profile</returns>
42 UserProfileData GetUserByUUID(LLUUID user);
43
44 /// <summary>
45 /// Returns a users profile by searching their username
46 /// </summary>
47 /// <param name="name">The users username</param>
48 /// <returns>The user data profile</returns>
49 UserProfileData GetUserByName(string name);
50
51 /// <summary>
52 /// Returns a users profile by searching their username parts
53 /// </summary>
54 /// <param name="fname">Account firstname</param>
55 /// <param name="lname">Account lastname</param>
56 /// <returns>The user data profile</returns>
57 UserProfileData GetUserByName(string fname, string lname);
58
59 /// <summary>
60 /// Returns the current agent for a user searching by it's UUID
61 /// </summary>
62 /// <param name="user">The users UUID</param>
63 /// <returns>The current agent session</returns>
64 UserAgentData GetAgentByUUID(LLUUID user);
65
66 /// <summary>
67 /// Returns the current session agent for a user searching by username
68 /// </summary>
69 /// <param name="name">The users account name</param>
70 /// <returns>The current agent session</returns>
71 UserAgentData GetAgentByName(string name);
72
73 /// <summary>
74 /// Returns the current session agent for a user searching by username parts
75 /// </summary>
76 /// <param name="fname">The users first account name</param>
77 /// <param name="lname">The users account surname</param>
78 /// <returns>The current agent session</returns>
79 UserAgentData GetAgentByName(string fname, string lname);
80
81 /// <summary>
82 /// Adds a new User profile to the database
83 /// </summary>
84 /// <param name="user">UserProfile to add</param>
85 void AddNewUserProfile(UserProfileData user);
86
87 /// <summary>
88 /// Updates an existing user profile
89 /// </summary>
90 /// <param name="user">UserProfile to update</param>
91 bool UpdateUserProfile(UserProfileData user);
92
93 /// <summary>
94 /// Adds a new agent to the database
95 /// </summary>
96 /// <param name="agent">The agent to add</param>
97 void AddNewUserAgent(UserAgentData agent);
98
99 /// <summary>
100 /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
101 /// </summary>
102 /// <param name="from">The account to transfer from</param>
103 /// <param name="to">The account to transfer to</param>
104 /// <param name="amount">The amount to transfer</param>
105 /// <returns>Successful?</returns>
106 bool MoneyTransferRequest(LLUUID from, LLUUID to, uint amount);
107
108 /// <summary>
109 /// Attempts to move inventory between accounts, if inventory is copyable it will be copied into the target account.
110 /// </summary>
111 /// <param name="from">User to transfer from</param>
112 /// <param name="to">User to transfer to</param>
113 /// <param name="inventory">Specified inventory item</param>
114 /// <returns>Successful?</returns>
115 bool InventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory);
116
117 /// <summary>
118 /// Returns the plugin version
119 /// </summary>
120 /// <returns>Plugin version in MAJOR.MINOR.REVISION.BUILD format</returns>
121 string GetVersion();
122
123 /// <summary>
124 /// Returns the plugin name
125 /// </summary>
126 /// <returns>Plugin name, eg MySQL User Provider</returns>
127 string getName();
128
129 /// <summary>
130 /// Initialises the plugin (artificial constructor)
131 /// </summary>
132 void Initialise();
133 }
134} \ No newline at end of file