/// <summary> /// Generates a new CommandQueue with the given CancellationToken /// </summary> /// <param name="registry"></param> /// <param name="tokenSource"></param> public CommandQueue(CommandRegistry registry, CancellationTokenSource tokenSource) { _registry = registry; _tokenSource = tokenSource; _queue = new ConcurrentQueue <QueueData>(); _metadata = new List <CommandMetadata>(); _scanners = new List <ScannerData>(); _lock = new Object(); _mre = new ManualResetEvent(false); }
/// <summary> /// Returns an instance of the parser that is currently registered. /// </summary> /// <param name="registry">Registry to be used by the parser</param> /// <param name="input">String input provided to the parser</param> /// <param name="args">Additional arguments to be used by the parser</param> /// <param name="metadata">Metadata to be used by the parser</param> /// <param name="exeData">CommandExecutorData to be used by the parser</param> /// <param name="ctx">Context to be used by the parser</param> /// <param name="callback">Callback method to be invoked when the parser completes</param> public AbstractParser GetParser(CommandRegistry registry, string input, IEnumerable <object> args, CommandMetadata metadata, CommandExecutorData exeData, IContextObject ctx, InputResultDelegate callback) { ThrowIfDisposed(); return((AbstractParser)Activator.CreateInstance(_parser, registry, input, args, metadata, exeData, ctx, callback)); }
/// <summary> /// Constructs a new context object using the given command registry /// </summary> /// <param name="registry"></param> public ContextObject(CommandRegistry registry) { Registry = registry; }