private void HandlePluginParameters(IEncoderPlugin plugin) { List <string> arguments = (List <string>)plugin.GetRequiredArguments(); if (arguments.Count != 0) { Dictionary <string, string> parameters = new Dictionary <string, string>(); Console.WriteLine("Enter parameters: "); foreach (var arg in arguments) { Console.WriteLine(arg + ": "); parameters[arg] = Console.ReadLine(); } plugin.SetArguments(parameters); } }
public void EncodeAction(object sender, object contextObject) { IEncoderPlugin encoderPlugin = (IEncoderPlugin)contextObject; HandlePluginParameters(encoderPlugin); IEncoder encoder = encoderPlugin.GetEncoder(); TextEncoder textEncoder = new TextEncoder(encoder); TextReader textReader = GetInputTextReader(pathToReadEncode); StreamEncoder streamEncoder = new StreamEncoder(textEncoder, textReader); BinaryWriter binaryWriter = GetOutputBinaryWriter(pathToWriteEncode); streamEncoder.Encode(binaryWriter); textReader.Close(); binaryWriter.Close(); Console.WriteLine("File modified. Press any key to continue."); Console.ReadLine(); }