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 @@ -