Example #1
0
        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);
            }
        }
Example #2
0
        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();
        }