aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Serialization/ArchiveConstants.cs
diff options
context:
space:
mode:
authorMelanie2010-08-06 18:08:40 +0100
committerMelanie2010-08-06 18:08:40 +0100
commit26387252f5adbf71dc77084ff2d1b463fad5038c (patch)
tree0453fd501165368affa2917180ef3e43c5555ea0 /OpenSim/Framework/Serialization/ArchiveConstants.cs
parentMerge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff)
parentFix a parenthesis in prior commit (diff)
downloadopensim-SC_OLD-26387252f5adbf71dc77084ff2d1b463fad5038c.zip
opensim-SC_OLD-26387252f5adbf71dc77084ff2d1b463fad5038c.tar.gz
opensim-SC_OLD-26387252f5adbf71dc77084ff2d1b463fad5038c.tar.bz2
opensim-SC_OLD-26387252f5adbf71dc77084ff2d1b463fad5038c.tar.xz
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Framework/Serialization/ArchiveConstants.cs')
-rw-r--r--OpenSim/Framework/Serialization/ArchiveConstants.cs29
1 files changed, 27 insertions, 2 deletions
diff --git a/OpenSim/Framework/Serialization/ArchiveConstants.cs b/OpenSim/Framework/Serialization/ArchiveConstants.cs
index 475a9de..3143e3b 100644
--- a/OpenSim/Framework/Serialization/ArchiveConstants.cs
+++ b/OpenSim/Framework/Serialization/ArchiveConstants.cs
@@ -27,6 +27,7 @@
27 27
28using System; 28using System;
29using System.Collections.Generic; 29using System.Collections.Generic;
30using System.Text;
30using OpenMetaverse; 31using OpenMetaverse;
31 32
32namespace OpenSim.Framework.Serialization 33namespace OpenSim.Framework.Serialization
@@ -171,6 +172,30 @@ namespace OpenSim.Framework.Serialization
171 public static string CreateOarObjectPath(string objectName, UUID uuid, Vector3 pos) 172 public static string CreateOarObjectPath(string objectName, UUID uuid, Vector3 pos)
172 { 173 {
173 return OBJECTS_PATH + CreateOarObjectFilename(objectName, uuid, pos); 174 return OBJECTS_PATH + CreateOarObjectFilename(objectName, uuid, pos);
174 } 175 }
176
177 /// <summary>
178 /// Extract a plain path from an IAR path
179 /// </summary>
180 /// <param name="iarPath"></param>
181 /// <returns></returns>
182 public static string ExtractPlainPathFromIarPath(string iarPath)
183 {
184 List<string> plainDirs = new List<string>();
185
186 string[] iarDirs = iarPath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
187
188 foreach (string iarDir in iarDirs)
189 {
190 if (!iarDir.Contains(ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR))
191 plainDirs.Add(iarDir);
192
193 int i = iarDir.LastIndexOf(ArchiveConstants.INVENTORY_NODE_NAME_COMPONENT_SEPARATOR);
194
195 plainDirs.Add(iarDir.Remove(i));
196 }
197
198 return string.Join("/", plainDirs.ToArray());
199 }
175 } 200 }
176} 201} \ No newline at end of file