// -------------------------------------------------------------------- // TargetFolderInfos の中から指定された FolderTaskDetail を持つ TargetFolderInfo を探す // -------------------------------------------------------------------- public TargetFolderInfo?FindTargetFolderInfo(FolderTaskDetail folderTaskDetail) { lock (_targetFolderInfos) { return(_targetFolderInfos.FirstOrDefault(x => x.FolderTaskDetail == folderTaskDetail)); } }
// ==================================================================== // private 関数 // ==================================================================== // -------------------------------------------------------------------- // 検出ファイルリストテーブルにファイル名を追加 // -------------------------------------------------------------------- private void AddFileNames(TargetFolderInfo targetFolderInfo) { // 動作状況設定 SetFolderTaskStatus(targetFolderInfo, FolderTaskStatus.Running); // 作業 AddFileNamesCore(targetFolderInfo); // 動作状況設定 targetFolderInfo.SetFolderTaskDetail(FolderTaskDetail.AddFileNames, FolderTaskDetail.AddInfos); SetFolderTaskStatus(targetFolderInfo, FolderTaskStatus.Queued); _prevFolderTaskDetail = FolderTaskDetail.AddFileNames; }
// -------------------------------------------------------------------- // 検出ファイルリストテーブルに属性を追加 // -------------------------------------------------------------------- private void AddInfos(TargetFolderInfo targetFolderInfo) { // 動作状況設定 SetFolderTaskStatus(targetFolderInfo, FolderTaskStatus.Running); YlModel.Instance.EnvModel.LogWriter.LogMessage(Common.TRACE_EVENT_TYPE_STATUS, "属性確認中... " + targetFolderInfo.TargetPath); // 作業 AddInfosCore(targetFolderInfo); #if DEBUGz Thread.Sleep(500); #endif // 動作状況設定 targetFolderInfo.SetFolderTaskDetail(FolderTaskDetail.AddInfos, FolderTaskDetail.Done); SetFolderTaskStatus(targetFolderInfo, FolderTaskStatus.DoneInMemory); _prevFolderTaskDetail = FolderTaskDetail.AddInfos; }
// -------------------------------------------------------------------- // キャッシュ DB からディスク DB へコピー // -------------------------------------------------------------------- private void CacheToDisk(TargetFolderInfo targetFolderInfo) { Debug.Assert(targetFolderInfo.IsParent, "CacheToDisk() not parent"); // 動作状況設定 SetFolderTaskStatus(targetFolderInfo, FolderTaskStatus.Running); // 作業 CacheToDiskCore(targetFolderInfo); #if TEST YlModel.Instance.EnvModel.LogWriter.ShowLogMessage(TraceEventType.Information, "CacheToDisk() キャッシュ追加:" + targetFolderInfo.TargetPath); #endif // 動作状況設定 targetFolderInfo.SetFolderTaskDetail(FolderTaskDetail.CacheToDisk, FolderTaskDetail.FindSubFolders); SetFolderTaskStatus(targetFolderInfo, FolderTaskStatus.Queued); _prevFolderTaskDetail = FolderTaskDetail.CacheToDisk; #if DEBUGz Thread.Sleep(60 * 1000); #endif }