//internal ConvertManagerImpl(IImportContext Ms, ConvertFileBehaviour iFileCreatedByConvertion, PartialFileBehaviour iSourceFileUsedForConvertion, 
        //    PartialFileBehaviour iConvertedFileExtractedFromRar)
        internal ConvertManagerImpl(IImportContext Ms, IConverterUserSettings iConverterUserSettings)

            : base(Ms)
        {
            _FileCreatedByConvertion = iConverterUserSettings.FileCreatedByConvertion;
            _SourceFileUsedForConvertion = iConverterUserSettings.SourceFileUsedForConvertion;
            _ConvertedFileExtractedFromRar = iConverterUserSettings.ConvertedFileExtractedFromRar;

            if (_FileCreatedByConvertion == ConvertFileBehaviour.SameFolder)
                _ComputeTargetName = (fn, h) => Path.GetDirectoryName(fn);
            else _ComputeTargetName = (fn, h) => ComputeName(fn, h);

        }
        private Func<string, bool> Action(PartialFileBehaviour pfb,bool rarcontext)
        {
            switch (pfb)
            {
                case PartialFileBehaviour.DoNothing:
                    return (fn) => true;

                case PartialFileBehaviour.Delete:
                    return (fn) => Delete(fn, rarcontext==false);

              }

            throw new Exception("Algo Error");
        }