private void Inject(WpdEntry entry, String targetPath) { string targetExtension = entry.Extension.ToLowerInvariant(); IWpdEntryInjector injector; if (_injectors.TryGetValue(targetExtension, out injector)) { string targetFullPath = targetPath + '.' + injector.SourceExtension; using (Stream input = _source.TryOpen(targetFullPath)) { if (input != null) { injector.Inject(entry, input, _headers, _content, _buff); _injected = true; return; } } } if (_conversion != true) { string targetFullPath = targetPath + '.' + targetExtension; using (Stream input = _source.TryOpen(targetFullPath)) { if (input != null) { DefaultInjector.Inject(entry, input, _headers, _content, _buff); _injected = true; } } } }
public bool TryInject(IUiInjectionSource source, string sourceFullPath, ArchiveEntryInjectionData data, ArchiveEntry entry) { Dictionary <string, string> sourceEntries; using (Stream input = source.TryOpen(sourceFullPath)) { if (input != null) { string entryName; ZtrTextReader reader = new ZtrTextReader(input, StringsZtrFormatter.Instance); sourceEntries = reader.Read(out entryName).ToDictionary(e => e.Key, e => e.Value); using (Stream output = data.OuputStreamFactory(entry)) Inject(data.Listing, entry, sourceEntries, output); return(true); } } sourceEntries = source.TryProvideStrings(); if (sourceEntries == null) { return(false); } using (Stream output = data.OuputStreamFactory(entry)) Inject(data.Listing, entry, sourceEntries, output); return(true); }
public bool TryInject(IUiInjectionSource source, string sourceFullPath, ArchiveEntryInjectionData data, ArchiveEntry entry) { using (Stream input = source.TryOpen(sourceFullPath)) { if (input == null) return false; using (Stream output = data.OuputStreamFactory(entry)) input.CopyToStream(output, (int)input.Length, data.Buffer); return true; } }
public bool TryInject(IUiInjectionSource source, string sourceFullPath, ArchiveEntryInjectionData data, ArchiveEntry entry) { using (Stream input = source.TryOpen(sourceFullPath)) { if (input == null) { return(false); } using (Stream output = data.OuputStreamFactory(entry)) input.CopyToStream(output, (int)input.Length, data.Buffer); return(true); } }
public bool TryInject(IUiInjectionSource source, string sourceFullPath, ArchiveEntryInjectionData data, ArchiveEntry entry) { Dictionary<string, string> sourceEntries; using (Stream input = source.TryOpen(sourceFullPath)) { if (input != null) { string entryName; ZtrTextReader reader = new ZtrTextReader(input, StringsZtrFormatter.Instance); sourceEntries = reader.Read(out entryName).ToDictionary(e => e.Key, e => e.Value); using (Stream output = data.OuputStreamFactory(entry)) Inject(data.Listing, entry, sourceEntries, output); return true; } } MemoryInjectionSource memorySource = source as MemoryInjectionSource; if (memorySource == null) return false; sourceEntries = memorySource.TryProvideStrings(); if (sourceEntries == null) return false; using (Stream output = data.OuputStreamFactory(entry)) Inject(data.Listing, entry, sourceEntries, output); return true; }