aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenGridServices/OpenGrid.Framework.Data/GridData.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenGridServices/OpenGrid.Framework.Data/GridData.cs')
-rw-r--r--OpenGridServices/OpenGrid.Framework.Data/GridData.cs83
1 files changed, 83 insertions, 0 deletions
diff --git a/OpenGridServices/OpenGrid.Framework.Data/GridData.cs b/OpenGridServices/OpenGrid.Framework.Data/GridData.cs
new file mode 100644
index 0000000..6dad37e
--- /dev/null
+++ b/OpenGridServices/OpenGrid.Framework.Data/GridData.cs
@@ -0,0 +1,83 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenGrid.Framework.Data
6{
7 public enum DataResponse
8 {
9 RESPONSE_OK,
10 RESPONSE_AUTHREQUIRED,
11 RESPONSE_INVALIDCREDENTIALS,
12 RESPONSE_ERROR
13 }
14
15 /// <summary>
16 /// A standard grid interface
17 /// </summary>
18 public interface IGridData
19 {
20 /// <summary>
21 /// Returns a sim profile from a regionHandle
22 /// </summary>
23 /// <param name="regionHandle">A 64bit Region Handle</param>
24 /// <returns>A simprofile</returns>
25 SimProfileData GetProfileByHandle(ulong regionHandle);
26
27 /// <summary>
28 /// Returns a sim profile from a UUID
29 /// </summary>
30 /// <param name="UUID">A 128bit UUID</param>
31 /// <returns>A sim profile</returns>
32 SimProfileData GetProfileByLLUUID(libsecondlife.LLUUID UUID);
33
34 /// <summary>
35 /// Returns all profiles within the specified range
36 /// </summary>
37 /// <param name="Xmin">Minimum sim coordinate (X)</param>
38 /// <param name="Ymin">Minimum sim coordinate (Y)</param>
39 /// <param name="Xmax">Maximum sim coordinate (X)</param>
40 /// <param name="Ymin">Maximum sim coordinate (Y)</param>
41 /// <returns>An array containing all the sim profiles in the specified range</returns>
42 SimProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax);
43
44 /// <summary>
45 /// Authenticates a sim by use of it's recv key.
46 /// WARNING: Insecure
47 /// </summary>
48 /// <param name="UUID">The UUID sent by the sim</param>
49 /// <param name="regionHandle">The regionhandle sent by the sim</param>
50 /// <param name="simrecvkey">The recieving key sent by the sim</param>
51 /// <returns>Whether the sim has been authenticated</returns>
52 bool AuthenticateSim(libsecondlife.LLUUID UUID, ulong regionHandle, string simrecvkey);
53
54 /// <summary>
55 /// Initialises the interface
56 /// </summary>
57 void Initialise();
58
59 /// <summary>
60 /// Closes the interface
61 /// </summary>
62 void Close();
63
64 /// <summary>
65 /// The plugin being loaded
66 /// </summary>
67 /// <returns>A string containing the plugin name</returns>
68 string getName();
69
70 /// <summary>
71 /// The plugins version
72 /// </summary>
73 /// <returns>A string containing the plugin version</returns>
74 string getVersion();
75
76 /// <summary>
77 /// Adds a new profile to the database
78 /// </summary>
79 /// <param name="profile">The profile to add</param>
80 /// <returns>RESPONSE_OK if successful, error if not.</returns>
81 DataResponse AddProfile(SimProfileData profile);
82 }
83}