diff --git a/CSharp/Plugins/UniversalEditor.Plugins.FileSystem/DataFormats/FileSystem/TerminalReality/POD/PODDataFormat.cs b/CSharp/Plugins/UniversalEditor.Plugins.FileSystem/DataFormats/FileSystem/TerminalReality/POD/PODDataFormat.cs
index df192f5c..25ba0139 100644
--- a/CSharp/Plugins/UniversalEditor.Plugins.FileSystem/DataFormats/FileSystem/TerminalReality/POD/PODDataFormat.cs
+++ b/CSharp/Plugins/UniversalEditor.Plugins.FileSystem/DataFormats/FileSystem/TerminalReality/POD/PODDataFormat.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using UniversalEditor.IO;
using UniversalEditor.ObjectModels.FileSystem;
+using UniversalEditor.ObjectModels.FileSystem.FileSources;
namespace UniversalEditor.DataFormats.FileSystem.TerminalReality.POD
{
@@ -85,10 +86,7 @@ namespace UniversalEditor.DataFormats.FileSystem.TerminalReality.POD
File file = fsom.AddFile(fileName);
file.Size = length;
- file.Properties.Add("reader", reader);
- file.Properties.Add("length", length);
- file.Properties.Add("offset", offset);
- file.DataRequest += file_DataRequest;
+ file.Source = new EmbeddedFileSource(reader, offset, length);
}
break;
}
@@ -112,10 +110,7 @@ namespace UniversalEditor.DataFormats.FileSystem.TerminalReality.POD
File file = fsom.AddFile(fileName);
file.Size = lengths[i];
- file.Properties.Add("reader", reader);
- file.Properties.Add("length", lengths[i]);
- file.Properties.Add("offset", offsets[i]);
- file.DataRequest += file_DataRequest;
+ file.Source = new EmbeddedFileSource(reader, offsets[i], lengths[i]);
}
break;
}
@@ -149,10 +144,7 @@ namespace UniversalEditor.DataFormats.FileSystem.TerminalReality.POD
File file = fsom.AddFile(filename);
file.Size = lengths[i];
- file.Properties.Add("reader", reader);
- file.Properties.Add("length", lengths[i]);
- file.Properties.Add("offset", offsets[i]);
- file.DataRequest += file_DataRequest;
+ file.Source = new EmbeddedFileSource(reader, offsets[i], lengths[i]);
}
// russellm directory
@@ -170,18 +162,6 @@ namespace UniversalEditor.DataFormats.FileSystem.TerminalReality.POD
}
}
- private void file_DataRequest(object sender, DataRequestEventArgs e)
- {
- File file = (sender as File);
- Reader reader = (Reader)file.Properties["reader"];
- uint length = (uint)file.Properties["length"];
- uint offset = (uint)file.Properties["offset"];
-
- reader.Accessor.Seek(offset, SeekOrigin.Begin);
- byte[] data = reader.ReadBytes(length);
- e.Data = data;
- }
-
protected override void SaveInternal(ObjectModel objectModel)
{
FileSystemObjectModel fsom = (objectModel as FileSystemObjectModel);
diff --git a/CSharp/Plugins/UniversalEditor.Plugins.Microsoft/DataFormats/FileSystem/Microsoft/POD/PODDataFormat.cs b/CSharp/Plugins/UniversalEditor.Plugins.Microsoft/DataFormats/FileSystem/Microsoft/POD/PODDataFormat.cs
deleted file mode 100644
index 9d6c81e7..00000000
--- a/CSharp/Plugins/UniversalEditor.Plugins.Microsoft/DataFormats/FileSystem/Microsoft/POD/PODDataFormat.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using UniversalEditor.IO;
-using UniversalEditor.ObjectModels.FileSystem;
-using UniversalEditor.ObjectModels.FileSystem.FileSources;
-
-namespace UniversalEditor.DataFormats.FileSystem.Microsoft.POD
-{
- public class PODDataFormat : DataFormat
- {
- private static DataFormatReference _dfr = null;
- protected override DataFormatReference MakeReferenceInternal()
- {
- if (_dfr == null)
- {
- _dfr = base.MakeReferenceInternal();
- _dfr.Capabilities.Add(typeof(FileSystemObjectModel), DataFormatCapabilities.All);
- }
- return _dfr;
- }
-
- private string mvarComment = String.Empty;
- public string Comment { get { return mvarComment; } set { mvarComment = value; } }
-
- protected override void LoadInternal(ref ObjectModel objectModel)
- {
- FileSystemObjectModel fsom = (objectModel as FileSystemObjectModel);
- if (fsom == null) throw new ObjectModelNotSupportedException();
-
- Reader reader = base.Accessor.Reader;
- int fileCount = reader.ReadInt32();
- mvarComment = reader.ReadFixedLengthString(80).TrimNull();
-
- for (int i = 0; i < fileCount; i++)
- {
- string fileName = reader.ReadFixedLengthString(32).TrimNull();
-
- int length = reader.ReadInt32();
- int offset = reader.ReadInt32();
-
- File file = fsom.AddFile(fileName);
- file.Size = length;
- file.Source = new EmbeddedFileSource(reader, offset, length);
- }
- }
-
- protected override void SaveInternal(ObjectModel objectModel)
- {
- FileSystemObjectModel fsom = (objectModel as FileSystemObjectModel);
- if (fsom == null) throw new ObjectModelNotSupportedException();
-
- Writer writer = base.Accessor.Writer;
-
- File[] files = fsom.GetAllFiles();
- writer.WriteInt32(files.Length);
-
- writer.WriteFixedLengthString(mvarComment, 80);
-
- int offset = 84 + (40 * files.Length);
-
- foreach (File file in files)
- {
- writer.WriteFixedLengthString(file.Name, 32);
-
- int length = (int)file.Source.GetLength();
- writer.WriteInt32(length);
- writer.WriteInt32(offset);
-
- offset += length;
- }
- }
- }
-}
diff --git a/CSharp/Plugins/UniversalEditor.Plugins.Microsoft/UniversalEditor.Plugins.Microsoft.csproj b/CSharp/Plugins/UniversalEditor.Plugins.Microsoft/UniversalEditor.Plugins.Microsoft.csproj
index ce7aaf39..d2d686de 100644
--- a/CSharp/Plugins/UniversalEditor.Plugins.Microsoft/UniversalEditor.Plugins.Microsoft.csproj
+++ b/CSharp/Plugins/UniversalEditor.Plugins.Microsoft/UniversalEditor.Plugins.Microsoft.csproj
@@ -51,7 +51,6 @@
-