aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenGridServices/OpenGrid.Framework.Data/UserData.cs')
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/UserData.cs101
1 files changed, 101 insertions, 0 deletions
diff --git a/OpenGridServices/OpenGrid.Framework.Data/UserData.cs b/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
new file mode 100644
index 0000000..4802c5f
--- /dev/null
+++ b/OpenGridServices/OpenGrid.Framework.Data/UserData.cs
@@ -0,0 +1,101 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using libsecondlife;
5
6namespace OpenGrid.Framework.Data
7{
8 public interface IUserData
9 {
10 /// <summary>
11 /// Returns a user profile from a database via their UUID
12 /// </summary>
13 /// <param name="user">The accounts UUID</param>
14 /// <returns>The user data profile</returns>
15 UserProfileData getUserByUUID(LLUUID user);
16
17 /// <summary>
18 /// Returns a users profile by searching their username
19 /// </summary>
20 /// <param name="name">The users username</param>
21 /// <returns>The user data profile</returns>
22 UserProfileData getUserByName(string name);
23
24 /// <summary>
25 /// Returns a users profile by searching their username parts
26 /// </summary>
27 /// <param name="fname">Account firstname</param>
28 /// <param name="lname">Account lastname</param>
29 /// <returns>The user data profile</returns>
30 UserProfileData getUserByName(string fname, string lname);
31
32 /// <summary>
33 /// Returns the current agent for a user searching by it's UUID
34 /// </summary>
35 /// <param name="user">The users UUID</param>
36 /// <returns>The current agent session</returns>
37 UserAgentData getAgentByUUID(LLUUID user);
38
39 /// <summary>
40 /// Returns the current session agent for a user searching by username
41 /// </summary>
42 /// <param name="name">The users account name</param>
43 /// <returns>The current agent session</returns>
44 UserAgentData getAgentByName(string name);
45
46 /// <summary>
47 /// Returns the current session agent for a user searching by username parts
48 /// </summary>
49 /// <param name="fname">The users first account name</param>
50 /// <param name="lname">The users account surname</param>
51 /// <returns>The current agent session</returns>
52 UserAgentData getAgentByName(string fname, string lname);
53
54 /// <summary>
55 /// Adds a new User profile to the database
56 /// </summary>
57 /// <param name="user">UserProfile to add</param>
58 void addNewUserProfile(UserProfileData user);
59
60 /// <summary>
61 /// Adds a new agent to the database
62 /// </summary>
63 /// <param name="agent">The agent to add</param>
64 void addNewUserAgent(UserAgentData agent);
65
66 /// <summary>
67 /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES)
68 /// </summary>
69 /// <param name="from">The account to transfer from</param>
70 /// <param name="to">The account to transfer to</param>
71 /// <param name="amount">The amount to transfer</param>
72 /// <returns>Successful?</returns>
73 bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount);
74
75 /// <summary>
76 /// Attempts to move inventory between accounts, if inventory is copyable it will be copied into the target account.
77 /// </summary>
78 /// <param name="from">User to transfer from</param>
79 /// <param name="to">User to transfer to</param>
80 /// <param name="inventory">Specified inventory item</param>
81 /// <returns>Successful?</returns>
82 bool inventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory);
83
84 /// <summary>
85 /// Returns the plugin version
86 /// </summary>
87 /// <returns>Plugin version in MAJOR.MINOR.REVISION.BUILD format</returns>
88 string getVersion();
89
90 /// <summary>
91 /// Returns the plugin name
92 /// </summary>
93 /// <returns>Plugin name, eg MySQL User Provider</returns>
94 string getName();
95
96 /// <summary>
97 /// Initialises the plugin (artificial constructor)
98 /// </summary>
99 void Initialise();
100 }
101}