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; } } } }
private void Inject(ArchiveEntry entry, String sourcePath) { string sourceExtension = PathEx.GetMultiDotComparableExtension(entry.Name); string sourceFullPath = sourcePath + sourceExtension; IArchiveEntryInjector injector; if (_injectors.TryGetValue(sourceExtension, out injector)) { sourceFullPath = sourcePath + injector.SourceExtension; if (injector.TryInject(_source, sourceFullPath, _injectionData, entry)) { _injected = true; return; } } if (_conversion != true) { if (DefaultInjector.TryInject(_source, sourceFullPath, _injectionData, entry)) { _injected = true; } } }