blob: 76fed598006aa850d800d75aa3249486aa7d7d3c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Environment.Modules.LandManagement;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenSim.Framework.Communications;
using libsecondlife;
using libsecondlife.Packets;
namespace OpenSim.Region.DataSnapshot
{
public class EstateSnapshot : IDataSnapshotProvider
{
private Scene m_scene = null;
private DataSnapshotManager m_parent = null;
#region IDataSnapshotProvider Members
public XmlNode RequestSnapshotData(XmlDocument factory)
{
//Estate data section - contains who owns a set of sims and the name of the set.
//In Opensim all the estate names are the same as the Master Avatar (owner of the sim)
//Now in DataSnapshotProvider module form!
XmlNode estatedata = factory.CreateNode(XmlNodeType.Element, "estate", "");
LLUUID ownerid = m_scene.RegionInfo.MasterAvatarAssignedUUID;
//TODO: Change to query userserver about the master avatar UUID ?
String firstname = m_scene.RegionInfo.MasterAvatarFirstName;
String lastname = m_scene.RegionInfo.MasterAvatarLastName;
//TODO: Fix the marshalling system to have less copypasta gruntwork
XmlNode user = factory.CreateNode(XmlNodeType.Element, "user", "");
XmlAttribute type = (XmlAttribute)factory.CreateNode(XmlNodeType.Attribute, "type", "");
type.Value = "owner";
user.Attributes.Append(type);
//TODO: Create more TODOs
XmlNode username = factory.CreateNode(XmlNodeType.Element, "name", "");
username.InnerText = firstname + " " + lastname;
user.AppendChild(username);
XmlNode useruuid = factory.CreateNode(XmlNodeType.Element, "uuid", "");
useruuid.InnerText = ownerid.ToString();
user.AppendChild(useruuid);
estatedata.AppendChild(user);
return estatedata;
}
public void Initialize(Scene scene, DataSnapshotManager parent)
{
m_scene = scene;
m_parent = parent;
}
public Scene GetParentScene
{
get { return m_scene; }
}
#endregion
}
}
|