Пример #1
0
        private string[] ParseList(LibGPhoto2.CameraList list)
        {
            int count = list.Count();

            string[] results = new string[count];

            for (int i = 0; i < count; i++)
            {
                results[i] = list.GetName(i);
            }

            return(results);
        }
Пример #2
0
        /// <summary>
        /// Gets all the files at the specified path
        /// </summary>
        /// <param name="directory">The path to get the files at
        /// A <see cref="System.String"/>
        /// </param>
        /// <returns>An array containing all the files found
        /// A <see cref="File"/>
        /// </returns>
        public File[] GetFiles(string directory)
        {
            string fullDirectory = CombinePath(BaseDirectory, directory);

            using (LibGPhoto2.CameraList list = camera.Device.ListFiles(fullDirectory, camera.Context))
            {
                string[] filenames = ParseList(list);
                File[]   files     = new File[filenames.Length];
                for (int i = 0; i < files.Length; i++)
                {
                    files[i] = GetFileInternal(directory, filenames[i]);
                }

                return(files);
            }
        }
Пример #3
0
        private int CountRecursive(string directory, bool recursive)
        {
            int count = 0;

            using (LibGPhoto2.CameraList list = camera.Device.ListFiles(directory, camera.Context))
                count += list.Count();

            if (!recursive)
            {
                return(count);
            }

            using (LibGPhoto2.CameraList list = camera.Device.ListFolders(directory, camera.Context))
                foreach (string s in ParseList(list))
                {
                    count += CountRecursive(CombinePath(directory, s), recursive);
                }

            return(count);
        }
Пример #4
0
 /// <summary>
 /// Lists all the folders found at the specified path
 /// </summary>
 /// <param name="directory">
 /// A <see cref="System.String"/>
 /// </param>
 /// <returns>An array containing the names of all the directories
 /// A <see cref="System.String"/>
 /// </returns>
 public string[] GetFolders(string directory)
 {
     using (LibGPhoto2.CameraList list = camera.Device.ListFolders(CombinePath(BaseDirectory, directory), camera.Context))
         return(ParseList(list));
 }