// --------------------------------------------------------------------
 // TargetFolderInfos の中から指定された FolderTaskDetail を持つ TargetFolderInfo を探す
 // --------------------------------------------------------------------
 public TargetFolderInfo?FindTargetFolderInfo(FolderTaskDetail folderTaskDetail)
 {
     lock (_targetFolderInfos)
     {
         return(_targetFolderInfos.FirstOrDefault(x => x.FolderTaskDetail == folderTaskDetail));
     }
 }
Beispiel #2
0
        // ====================================================================
        // 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;
        }
Beispiel #3
0
        // --------------------------------------------------------------------
        // 検出ファイルリストテーブルに属性を追加
        // --------------------------------------------------------------------
        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;
        }
Beispiel #4
0
        // --------------------------------------------------------------------
        // キャッシュ 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
        }