Beispiel #1
0
        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;
                    }
                }
            }
        }
Beispiel #2
0
        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;
                }
            }
        }