Example #1
0
        public unsafe string[] GetFiles(string path)
        {
            if (!this.connected)
            {
                throw new Exception("Not connected to device");
            }
            string s   = this.FullPath(this.current_directory, path);
            void * dir = null;

            if (MobileDevice.AFCDirectoryOpen(this.hAFC, Encoding.UTF8.GetBytes(s), ref dir) != 0)
            {
                throw new Exception("Path does not exist");
            }
            string    buffer = null;
            ArrayList list   = new ArrayList();

            MobileDevice.AFCDirectoryRead(this.hAFC, dir, ref buffer);
            while (buffer != null)
            {
                if (!this.IsDirectory(this.FullPath(s, buffer)))
                {
                    list.Add(buffer);
                }
                MobileDevice.AFCDirectoryRead(this.hAFC, dir, ref buffer);
            }
            MobileDevice.AFCDirectoryClose(this.hAFC, dir);
            return((string[])list.ToArray(typeof(string)));
        }