Esempio n. 1
0
        public VolumeContainer([NotNull] SystemClock systemClock, [NotNull] FakeFileSystemChangeTracker changeTracker,
                               [NotNull] ILoggedOnUserAccount loggedOnAccount)
        {
            Guard.NotNull(systemClock, nameof(systemClock));
            Guard.NotNull(changeTracker, nameof(changeTracker));
            Guard.NotNull(loggedOnAccount, nameof(loggedOnAccount));

            SystemClock          = systemClock;
            ChangeTracker        = changeTracker;
            this.loggedOnAccount = loggedOnAccount;
        }
Esempio n. 2
0
        internal FakeFileSystemWatcher([NotNull] FakeFileSystem owner, [NotNull] FakeFileSystemChangeTracker changeTracker,
                                       [CanBeNull] AbsolutePath path, [NotNull] string filter)
        {
            Guard.NotNull(owner, nameof(owner));
            Guard.NotNull(changeTracker, nameof(changeTracker));
            Guard.NotNull(filter, nameof(filter));

            this.owner         = owner;
            this.changeTracker = changeTracker;
            directoryToWatch   = path;
            pathFilter         = new PathFilter(filter, true);

            consumerThread = new Thread(() => ConsumerLoop(consumerCancellationTokenSource.Token))
            {
                IsBackground = true
            };
        }
Esempio n. 3
0
        protected DirectoryEntry([NotNull] string name, FileAttributes attributes, [CanBeNull] DirectoryEntry parent,
                                 [CanBeNull] VolumeEntry root, [NotNull] FakeFileSystemChangeTracker changeTracker, [NotNull] SystemClock systemClock,
                                 [NotNull] ILoggedOnUserAccount loggedOnAccount)
            : base(name, attributes, changeTracker, loggedOnAccount)
        {
            Guard.NotNull(systemClock, nameof(systemClock));

            Parent        = parent;
            Root          = root ?? (VolumeEntry)this;
            SystemClock   = systemClock;
            PathFormatter = new DirectoryEntryPathFormatter(this);

            if (parent?.IsEncrypted == true)
            {
                SetEncrypted();
            }

            CreationTimeUtc = systemClock.UtcNow();
            UpdateLastWriteLastAccessTime();
        }