36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
```csharp title="C#"
|
|
using Kreuzberg;
|
|
|
|
var processor = new UnregisterableProcessor();
|
|
PostProcessorRegistry.Register(processor);
|
|
|
|
Console.WriteLine("Processor registered");
|
|
var processors = KreuzbergLib.ListPostProcessors();
|
|
Console.WriteLine($"Active processors: {string.Join(", ", processors)}");
|
|
|
|
PostProcessorRegistry.Unregister(processor.Name);
|
|
Console.WriteLine("Processor unregistered");
|
|
|
|
processors = KreuzbergLib.ListPostProcessors();
|
|
Console.WriteLine($"Active processors: {string.Join(", ", processors)}");
|
|
|
|
public class UnregisterableProcessor : IPostProcessor
|
|
{
|
|
public string Name => "removable-processor";
|
|
public string Version => "1.0.0";
|
|
|
|
public void Initialize() { }
|
|
public void Shutdown() { }
|
|
|
|
public void Process(ExtractionResult result, ExtractionConfig config)
|
|
{
|
|
Console.WriteLine("Processing...");
|
|
}
|
|
|
|
public ProcessingStage ProcessingStage() => ProcessingStage.Middle;
|
|
public bool ShouldProcess(ExtractionResult result, ExtractionConfig config) => true;
|
|
public ulong EstimatedDurationMs(ExtractionResult result) => 10;
|
|
public int Priority() => 50;
|
|
}
|
|
```
|