aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Modules/ExportSerialiser/ExportSerialisationModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Modules/ExportSerialiser/ExportSerialisationModule.cs')
-rw-r--r--OpenSim/Region/Environment/Modules/ExportSerialiser/ExportSerialisationModule.cs97
1 files changed, 50 insertions, 47 deletions
diff --git a/OpenSim/Region/Environment/Modules/ExportSerialiser/ExportSerialisationModule.cs b/OpenSim/Region/Environment/Modules/ExportSerialiser/ExportSerialisationModule.cs
index f811f22..91770af 100644
--- a/OpenSim/Region/Environment/Modules/ExportSerialiser/ExportSerialisationModule.cs
+++ b/OpenSim/Region/Environment/Modules/ExportSerialiser/ExportSerialisationModule.cs
@@ -37,10 +37,54 @@ namespace OpenSim.Region.Environment.Modules.ExportSerialiser
37{ 37{
38 public class ExportSerialisationModule : IRegionModule, IRegionSerialiser 38 public class ExportSerialisationModule : IRegionModule, IRegionSerialiser
39 { 39 {
40 private List<Scene> m_regions = new List<Scene>();
41 private List<IFileSerialiser> m_serialisers = new List<IFileSerialiser>();
42 private Commander m_commander = new Commander("Export"); 40 private Commander m_commander = new Commander("Export");
41 private List<Scene> m_regions = new List<Scene>();
43 private string m_savedir = "exports" + "/"; 42 private string m_savedir = "exports" + "/";
43 private List<IFileSerialiser> m_serialisers = new List<IFileSerialiser>();
44
45 #region IRegionModule Members
46
47 public void Initialise(Scene scene, IConfigSource source)
48 {
49 scene.RegisterModuleCommander("Export", m_commander);
50 scene.EventManager.OnPluginConsole += EventManager_OnPluginConsole;
51 scene.RegisterModuleInterface<IRegionSerialiser>(this);
52
53 lock (m_regions)
54 {
55 m_regions.Add(scene);
56 }
57 }
58
59 public void PostInitialise()
60 {
61 lock (m_serialisers)
62 {
63 m_serialisers.Add(new SerialiseTerrain());
64 m_serialisers.Add(new SerialiseObjects());
65 }
66
67 LoadCommanderCommands();
68 }
69
70 public void Close()
71 {
72 m_regions.Clear();
73 }
74
75 public string Name
76 {
77 get { return "ExportSerialisationModule"; }
78 }
79
80 public bool IsSharedModule
81 {
82 get { return true; }
83 }
84
85 #endregion
86
87 #region IRegionSerialiser Members
44 88
45 public List<string> SerialiseRegion(Scene scene, string saveDir) 89 public List<string> SerialiseRegion(Scene scene, string saveDir)
46 { 90 {
@@ -76,22 +120,9 @@ namespace OpenSim.Region.Environment.Modules.ExportSerialiser
76 return results; 120 return results;
77 } 121 }
78 122
123 #endregion
79 124
80 #region IRegionModule Members 125 private void EventManager_OnPluginConsole(string[] args)
81
82 public void Initialise(Scene scene, IConfigSource source)
83 {
84 scene.RegisterModuleCommander("Export", m_commander);
85 scene.EventManager.OnPluginConsole += EventManager_OnPluginConsole;
86 scene.RegisterModuleInterface<IRegionSerialiser>(this);
87
88 lock (m_regions)
89 {
90 m_regions.Add(scene);
91 }
92 }
93
94 void EventManager_OnPluginConsole(string[] args)
95 { 126 {
96 if (args[0] == "export") 127 if (args[0] == "export")
97 { 128 {
@@ -108,7 +139,7 @@ namespace OpenSim.Region.Environment.Modules.ExportSerialiser
108 { 139 {
109 foreach (Scene region in m_regions) 140 foreach (Scene region in m_regions)
110 { 141 {
111 if (region.RegionInfo.RegionName == (string)args[0]) 142 if (region.RegionInfo.RegionName == (string) args[0])
112 { 143 {
113 List<string> results = SerialiseRegion(region, m_savedir + region.RegionInfo.RegionID.ToString() + "/"); 144 List<string> results = SerialiseRegion(region, m_savedir + region.RegionInfo.RegionID.ToString() + "/");
114 } 145 }
@@ -133,33 +164,5 @@ namespace OpenSim.Region.Environment.Modules.ExportSerialiser
133 m_commander.RegisterCommand("save", serialiseSceneCommand); 164 m_commander.RegisterCommand("save", serialiseSceneCommand);
134 m_commander.RegisterCommand("save-all", serialiseAllScenesCommand); 165 m_commander.RegisterCommand("save-all", serialiseAllScenesCommand);
135 } 166 }
136
137 public void PostInitialise()
138 {
139 lock (m_serialisers)
140 {
141 m_serialisers.Add(new SerialiseTerrain());
142 m_serialisers.Add(new SerialiseObjects());
143 }
144
145 LoadCommanderCommands();
146 }
147
148 public void Close()
149 {
150 m_regions.Clear();
151 }
152
153 public string Name
154 {
155 get { return "ExportSerialisationModule"; }
156 }
157
158 public bool IsSharedModule
159 {
160 get { return true; }
161 }
162
163 #endregion
164 } 167 }
165} 168} \ No newline at end of file