Esempio n. 1
0
        /// <summary>
        /// Gets a ZephyrFile implementation matching the URL type passed in.
        /// </summary>
        /// <param name="url">The Fullname or URL of the directory.</param>
        /// <param name="clients">A collection of connection clients.</param>
        /// <returns>A ZephyrFile implementation.</returns>
        public static ZephyrDirectory GetZephyrDirectory(string url, Clients clients = null)
        {
            ZephyrDirectory dir  = null;
            UrlType         type = GetUrlType(url);

            switch (type)
            {
            case UrlType.LocalDirectory:
                dir = new WindowsZephyrDirectory(url);
                break;

            case UrlType.NetworkDirectory:
                dir = new WindowsZephyrDirectory(url);
                break;

            case UrlType.AwsS3Directory:
                dir = new AwsS3ZephyrDirectory(clients?.aws, url);
                break;

            default:
                throw new Exception($"Url [{url}] Is Not A Known Directory Type.");
            }

            return(dir);
        }
Esempio n. 2
0
        /// <summary>
        /// Implementation of the ZephyrDirectory GetDirectories method using Windows FileSystem.
        /// </summary>
        /// <returns>An enumeration of WindowsZephyrDirectory objects.</returns>
        public override IEnumerable <ZephyrDirectory> GetDirectories()
        {
            String[] directories = Directory.GetDirectories(FullName);

            List <ZephyrDirectory> synDirs = new List <ZephyrDirectory>();

            foreach (string dir in directories)
            {
                ZephyrDirectory synDir = new WindowsZephyrDirectory(Path.Combine(FullName, dir));
                synDirs.Add(synDir);
            }

            return(synDirs);
        }