diff options
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/ACL.cs | 19 | ||||
-rw-r--r-- | OpenSim/Framework/AgentCircuitData.cs | 68 | ||||
-rw-r--r-- | OpenSim/Framework/AgentUpdateArgs.cs | 34 |
3 files changed, 121 insertions, 0 deletions
diff --git a/OpenSim/Framework/ACL.cs b/OpenSim/Framework/ACL.cs index 9d7827e..3b1c0f0 100644 --- a/OpenSim/Framework/ACL.cs +++ b/OpenSim/Framework/ACL.cs | |||
@@ -46,6 +46,11 @@ namespace OpenSim.Framework | |||
46 | private Dictionary<string, Resource> Resources = new Dictionary<string, Resource>(); | 46 | private Dictionary<string, Resource> Resources = new Dictionary<string, Resource>(); |
47 | private Dictionary<string, Role> Roles = new Dictionary<string, Role>(); | 47 | private Dictionary<string, Role> Roles = new Dictionary<string, Role>(); |
48 | 48 | ||
49 | /// <summary> | ||
50 | /// Adds a new role | ||
51 | /// </summary> | ||
52 | /// <param name="role"></param> | ||
53 | /// <returns></returns> | ||
49 | public ACL AddRole(Role role) | 54 | public ACL AddRole(Role role) |
50 | { | 55 | { |
51 | if (Roles.ContainsKey(role.Name)) | 56 | if (Roles.ContainsKey(role.Name)) |
@@ -56,6 +61,11 @@ namespace OpenSim.Framework | |||
56 | return this; | 61 | return this; |
57 | } | 62 | } |
58 | 63 | ||
64 | /// <summary> | ||
65 | /// Adds a new resource | ||
66 | /// </summary> | ||
67 | /// <param name="resource"></param> | ||
68 | /// <returns></returns> | ||
59 | public ACL AddResource(Resource resource) | 69 | public ACL AddResource(Resource resource) |
60 | { | 70 | { |
61 | Resources.Add(resource.Name, resource); | 71 | Resources.Add(resource.Name, resource); |
@@ -63,6 +73,12 @@ namespace OpenSim.Framework | |||
63 | return this; | 73 | return this; |
64 | } | 74 | } |
65 | 75 | ||
76 | /// <summary> | ||
77 | /// Permision for user/roll on a resource | ||
78 | /// </summary> | ||
79 | /// <param name="role"></param> | ||
80 | /// <param name="resource"></param> | ||
81 | /// <returns></returns> | ||
66 | public Permission HasPermission(string role, string resource) | 82 | public Permission HasPermission(string role, string resource) |
67 | { | 83 | { |
68 | if (!Roles.ContainsKey(role)) | 84 | if (!Roles.ContainsKey(role)) |
@@ -234,6 +250,9 @@ namespace OpenSim.Framework | |||
234 | 250 | ||
235 | #region Tests | 251 | #region Tests |
236 | 252 | ||
253 | /// <summary> | ||
254 | /// ACL Test class | ||
255 | /// </summary> | ||
237 | internal class ACLTester | 256 | internal class ACLTester |
238 | { | 257 | { |
239 | public ACLTester() | 258 | public ACLTester() |
diff --git a/OpenSim/Framework/AgentCircuitData.cs b/OpenSim/Framework/AgentCircuitData.cs index c38f0c3..6472f31 100644 --- a/OpenSim/Framework/AgentCircuitData.cs +++ b/OpenSim/Framework/AgentCircuitData.cs | |||
@@ -32,26 +32,83 @@ using OpenMetaverse.StructuredData; | |||
32 | 32 | ||
33 | namespace OpenSim.Framework | 33 | namespace OpenSim.Framework |
34 | { | 34 | { |
35 | /// <summary> | ||
36 | /// Circuit data for an agent. Connection information shared between | ||
37 | /// regions that accept UDP connections from a client | ||
38 | /// </summary> | ||
35 | public class AgentCircuitData | 39 | public class AgentCircuitData |
36 | { | 40 | { |
41 | /// <summary> | ||
42 | /// Avatar Unique Agent Identifier | ||
43 | /// </summary> | ||
37 | public UUID AgentID; | 44 | public UUID AgentID; |
45 | |||
46 | /// <summary> | ||
47 | /// Avatar's Appearance | ||
48 | /// </summary> | ||
38 | public AvatarAppearance Appearance; | 49 | public AvatarAppearance Appearance; |
50 | |||
51 | /// <summary> | ||
52 | /// Agent's root inventory folder | ||
53 | /// </summary> | ||
39 | public UUID BaseFolder; | 54 | public UUID BaseFolder; |
55 | |||
56 | /// <summary> | ||
57 | /// Base Caps path for user | ||
58 | /// </summary> | ||
40 | public string CapsPath = String.Empty; | 59 | public string CapsPath = String.Empty; |
60 | |||
61 | /// <summary> | ||
62 | /// Seed caps for neighbor regions that the user can see into | ||
63 | /// </summary> | ||
41 | public Dictionary<ulong, string> ChildrenCapSeeds; | 64 | public Dictionary<ulong, string> ChildrenCapSeeds; |
65 | |||
66 | /// <summary> | ||
67 | /// Root agent, or Child agent | ||
68 | /// </summary> | ||
42 | public bool child; | 69 | public bool child; |
70 | |||
71 | /// <summary> | ||
72 | /// Number given to the client when they log-in that they provide | ||
73 | /// as credentials to the UDP server | ||
74 | /// </summary> | ||
43 | public uint circuitcode; | 75 | public uint circuitcode; |
76 | |||
77 | /// <summary> | ||
78 | /// Agent's account first name | ||
79 | /// </summary> | ||
44 | public string firstname; | 80 | public string firstname; |
45 | public UUID InventoryFolder; | 81 | public UUID InventoryFolder; |
82 | |||
83 | /// <summary> | ||
84 | /// Agent's account last name | ||
85 | /// </summary> | ||
46 | public string lastname; | 86 | public string lastname; |
87 | |||
88 | /// <summary> | ||
89 | /// Random Unique GUID for this session. Client gets this at login and it's | ||
90 | /// only supposed to be disclosed over secure channels | ||
91 | /// </summary> | ||
47 | public UUID SecureSessionID; | 92 | public UUID SecureSessionID; |
93 | |||
94 | /// <summary> | ||
95 | /// Non secure Session ID | ||
96 | /// </summary> | ||
48 | public UUID SessionID; | 97 | public UUID SessionID; |
98 | |||
99 | /// <summary> | ||
100 | /// Position the Agent's Avatar starts in the region | ||
101 | /// </summary> | ||
49 | public Vector3 startpos; | 102 | public Vector3 startpos; |
50 | 103 | ||
51 | public AgentCircuitData() | 104 | public AgentCircuitData() |
52 | { | 105 | { |
53 | } | 106 | } |
54 | 107 | ||
108 | /// <summary> | ||
109 | /// Create AgentCircuitData from a Serializable AgentCircuitData | ||
110 | /// </summary> | ||
111 | /// <param name="cAgent"></param> | ||
55 | public AgentCircuitData(sAgentCircuitData cAgent) | 112 | public AgentCircuitData(sAgentCircuitData cAgent) |
56 | { | 113 | { |
57 | AgentID = new UUID(cAgent.AgentID); | 114 | AgentID = new UUID(cAgent.AgentID); |
@@ -68,6 +125,10 @@ namespace OpenSim.Framework | |||
68 | ChildrenCapSeeds = cAgent.ChildrenCapSeeds; | 125 | ChildrenCapSeeds = cAgent.ChildrenCapSeeds; |
69 | } | 126 | } |
70 | 127 | ||
128 | /// <summary> | ||
129 | /// Pack AgentCircuitData into an OSDMap for transmission over LLSD XML or LLSD json | ||
130 | /// </summary> | ||
131 | /// <returns>map of the agent circuit data</returns> | ||
71 | public OSDMap PackAgentCircuitData() | 132 | public OSDMap PackAgentCircuitData() |
72 | { | 133 | { |
73 | OSDMap args = new OSDMap(); | 134 | OSDMap args = new OSDMap(); |
@@ -98,6 +159,10 @@ namespace OpenSim.Framework | |||
98 | return args; | 159 | return args; |
99 | } | 160 | } |
100 | 161 | ||
162 | /// <summary> | ||
163 | /// Unpack agent circuit data map into an AgentCiruitData object | ||
164 | /// </summary> | ||
165 | /// <param name="args"></param> | ||
101 | public void UnpackAgentCircuitData(OSDMap args) | 166 | public void UnpackAgentCircuitData(OSDMap args) |
102 | { | 167 | { |
103 | if (args["agent_id"] != null) | 168 | if (args["agent_id"] != null) |
@@ -150,6 +215,9 @@ namespace OpenSim.Framework | |||
150 | } | 215 | } |
151 | } | 216 | } |
152 | 217 | ||
218 | /// <summary> | ||
219 | /// Serializable Agent Circuit Data | ||
220 | /// </summary> | ||
153 | [Serializable] | 221 | [Serializable] |
154 | public class sAgentCircuitData | 222 | public class sAgentCircuitData |
155 | { | 223 | { |
diff --git a/OpenSim/Framework/AgentUpdateArgs.cs b/OpenSim/Framework/AgentUpdateArgs.cs index a19795d..7b9ec68 100644 --- a/OpenSim/Framework/AgentUpdateArgs.cs +++ b/OpenSim/Framework/AgentUpdateArgs.cs | |||
@@ -30,18 +30,52 @@ using OpenMetaverse; | |||
30 | 30 | ||
31 | namespace OpenSim.Framework | 31 | namespace OpenSim.Framework |
32 | { | 32 | { |
33 | /// <summary> | ||
34 | /// Client provided parameters for avatar movement | ||
35 | /// </summary> | ||
33 | public class AgentUpdateArgs : EventArgs | 36 | public class AgentUpdateArgs : EventArgs |
34 | { | 37 | { |
38 | /// <summary> | ||
39 | /// Agent's unique ID | ||
40 | /// </summary> | ||
35 | public UUID AgentID; | 41 | public UUID AgentID; |
42 | |||
43 | /// <summary> | ||
44 | /// Rotation of the avatar's body | ||
45 | /// </summary> | ||
36 | public Quaternion BodyRotation; | 46 | public Quaternion BodyRotation; |
47 | |||
48 | /// <summary> | ||
49 | /// AT portion of the camera matrix | ||
50 | /// </summary> | ||
37 | public Vector3 CameraAtAxis; | 51 | public Vector3 CameraAtAxis; |
52 | |||
53 | /// <summary> | ||
54 | /// Position of the camera in the Scene | ||
55 | /// </summary> | ||
38 | public Vector3 CameraCenter; | 56 | public Vector3 CameraCenter; |
39 | public Vector3 CameraLeftAxis; | 57 | public Vector3 CameraLeftAxis; |
40 | public Vector3 CameraUpAxis; | 58 | public Vector3 CameraUpAxis; |
59 | |||
60 | /// <summary> | ||
61 | /// Bitflag field for agent movement. Fly, forward, backward, turn left, turn right, go up, go down, Straffe, etc. | ||
62 | /// </summary> | ||
41 | public uint ControlFlags; | 63 | public uint ControlFlags; |
64 | |||
65 | /// <summary> | ||
66 | /// Agent's client Draw distance setting | ||
67 | /// </summary> | ||
42 | public float Far; | 68 | public float Far; |
43 | public byte Flags; | 69 | public byte Flags; |
70 | |||
71 | /// <summary> | ||
72 | /// Rotation of the avatar's head | ||
73 | /// </summary> | ||
44 | public Quaternion HeadRotation; | 74 | public Quaternion HeadRotation; |
75 | |||
76 | /// <summary> | ||
77 | /// Session Id | ||
78 | /// </summary> | ||
45 | public UUID SessionID; | 79 | public UUID SessionID; |
46 | public byte State; | 80 | public byte State; |
47 | } | 81 | } |