public virtual bool Restart(string Path, CSyncParamBase SyncParam) { Stop(true); if (SyncWithFilesAndDB(SyncParam)) { return(Start(Path)); // Запускаем сканирование } return(false); }
/// <summary> /// /// </summary> /// <param name="Path"> /// Путь к файлу или папке /// </param> /// <param name="ParentScanner"> /// /// </param> /// <param name="Sync"> /// Нужно ли выполнить синхронизацию объекта с БД и файлами, уже имеющимися в каталоге. /// При этом вызывается функция SyncWithFilesAndDB, а Start не вызавается /// </param> /// <param name="SyncParam"> /// Параметр, необходимый для функции SyncWithFilesAndDB /// </param> public CScannerBase(string Path, CScannerBase ParentScanner, bool Sync, CSyncParamBase SyncParam = null) { Parent = ParentScanner; // Выполняем синхронизацию или запускаем сканирование if (Sync) { SyncSuccessfully = SyncWithFilesAndDB(SyncParam); } else { Start(Path); } }
/// <summary> /// Синхронизация сканера с БД и файлами. /// Эта функция нужна в том случае, если в xml-файлах были сделаны какие-то изменения в тот момент, /// когда данная программа была закрыта /// </summary> /// <param name="Param"></param> public abstract bool SyncWithFilesAndDB(CSyncParamBase Param);