コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InMemoryFileSystem"/> class.
 /// </summary>
 /// <param name="fileSystemEntryComparer">The file system entry name comparer.</param>
 public InMemoryFileSystem(StringComparer fileSystemEntryComparer)
 {
     Root = new InMemoryDirectoryEntry(
         null,
         string.Empty,
         new Dictionary <string, IUnixFileSystemEntry>(fileSystemEntryComparer));
     FileSystemEntryComparer = fileSystemEntryComparer;
 }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InMemoryDirectoryEntry"/> class.
 /// </summary>
 /// <param name="parent">The parent entry.</param>
 /// <param name="name">The name of this entry.</param>
 /// <param name="children">The children of this directory entry.</param>
 public InMemoryDirectoryEntry(
     InMemoryDirectoryEntry parent,
     string name,
     IDictionary <string, IUnixFileSystemEntry> children)
     : base(parent, name, _defaultPermissions)
 {
     Children = children;
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InMemoryFileEntry"/> class.
 /// </summary>
 /// <param name="parent">The parent entry.</param>
 /// <param name="name">The name of this entry.</param>
 /// <param name="data">The file data.</param>
 public InMemoryFileEntry(
     InMemoryDirectoryEntry parent,
     string name,
     byte[] data)
     : base(parent, name, _defaultPermissions)
 {
     Data = data;
 }
コード例 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InMemoryFileEntry"/> class.
 /// </summary>
 /// <param name="fileSystem">The file system this entry belongs to.</param>
 /// <param name="parent">The parent entry.</param>
 /// <param name="name">The name of this entry.</param>
 /// <param name="data">The file data.</param>
 public InMemoryFileEntry(
     IUnixFileSystem fileSystem,
     InMemoryDirectoryEntry parent,
     string name,
     byte[] data)
     : base(fileSystem, parent, name, _defaultPermissions)
 {
     Data = data;
 }
コード例 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InMemoryFileSystemEntry"/> class.
 /// </summary>
 /// <param name="parent">The parent entry.</param>
 /// <param name="name">The name of this entry.</param>
 /// <param name="permissions">The permissions of this entry.</param>
 protected InMemoryFileSystemEntry(
     InMemoryDirectoryEntry parent,
     string name,
     IUnixPermissions permissions)
 {
     Name        = name;
     Permissions = permissions;
     Parent      = parent;
     Owner       = "owner";
     Group       = "group";
     CreatedTime = DateTimeOffset.Now;
 }
コード例 #6
0
        /// <inheritdoc />
        public Task <IUnixDirectoryEntry> CreateDirectoryAsync(
            IUnixDirectoryEntry targetDirectory,
            string directoryName,
            CancellationToken cancellationToken)
        {
            var dirEntry   = (InMemoryDirectoryEntry)targetDirectory;
            var childEntry = new InMemoryDirectoryEntry(
                dirEntry,
                directoryName,
                new Dictionary <string, IUnixFileSystemEntry>(FileSystemEntryComparer));

            dirEntry.Children.Add(directoryName, childEntry);
            var now = DateTimeOffset.Now;

            dirEntry.SetLastWriteTime(now)
            .SetCreateTime(now);
            return(Task.FromResult <IUnixDirectoryEntry>(childEntry));
        }