8using System.Diagnostics.CodeAnalysis;
10using NanoXLSX.Interfaces;
11using NanoXLSX.Interfaces.Reader;
12using NanoXLSX.Registry;
19 internal static class ReaderPlugInHandler
29 [ExcludeFromCodeCoverage]
30 internal static void HandleInlineQueuePlugins(Stream stream, Workbook workbook,
string queueUuid, IOptions readerOptions,
int? index)
39 Stream working = stream;
40 MemoryStream owned =
null;
41 if (!stream.CanSeek && PlugInLoader.HasQueuePlugins(queueUuid))
43 owned =
new MemoryStream();
50 IPluginInlineReader queueReader =
null;
51 string lastUuid =
null;
55 queueReader = PlugInLoader.GetNextQueuePlugIn<IPluginInlineReader>(queueUuid, lastUuid, out currentUuid);
56 if (queueReader !=
null)
62 queueReader.Init(working, workbook, readerOptions, index);
63 queueReader.Execute();
64 lastUuid = currentUuid;
71 }
while (queueReader !=
null);