コード例 #1
0
        public void WritablePersistentUniqueIdTest()
        {
            var devices = MediaDevice.GetDevices();
            var device  = devices.FirstOrDefault(this.deviceSelect);

            Assert.IsNotNull(device, "Device");
            device.Connect();

            UploadTestTree(device);

            MediaDirectoryInfo dir    = device.GetDirectoryInfo(Path.Combine(this.workingFolder, @"UploadTree\Aaa\Abb"));
            string             dirPui = dir.PersistentUniqueId;
            MediaDirectoryInfo dirGet = device.GetFileSystemInfoFromPersistentUniqueId(dirPui) as MediaDirectoryInfo;

            MediaFileInfo file    = device.GetFileInfo(Path.Combine(this.workingFolder, @"UploadTree\Aaa\Abb\Acc\Ctest.txt"));
            string        filePui = file.PersistentUniqueId;
            MediaFileInfo fileGet = device.GetFileSystemInfoFromPersistentUniqueId(filePui) as MediaFileInfo;

            string tmp = Path.GetTempFileName();

            device.DownloadFileFromPersistentUniqueId(filePui, tmp);
            var text = File.ReadAllText(tmp);

            device.Disconnect();

            Assert.IsNotNull(dirPui, "dirPui");
            Assert.AreEqual(dir, dirGet, "dirGet");

            Assert.IsNotNull(filePui, "filePui");
            Assert.AreEqual(file, fileGet, "fileGet");

            Assert.AreEqual("test", text, "text");
        }
コード例 #2
0
        public void Update(MediaDevice device)
        {
            this.device = device;
            MediaDirectoryInfo root = null;

            root = this.device?.GetRootDirectory();
            this.ExplorerRoot = root != null ? new List <ItemViewModel>()
            {
                new ItemViewModel(root)
            } : null;
        }
コード例 #3
0
        public void PersistentUniqueIdTest()
        {
            var devices = MediaDevice.GetDevices();
            var device  = devices.FirstOrDefault(this.deviceSelect);

            Assert.IsNotNull(device, "Device");
            device.Connect();

            MediaDirectoryInfo dir = device.GetFileSystemInfoFromPersistentUniqueId(this.FolderPersistentUniqueId) as MediaDirectoryInfo;

            MediaFileInfo file = device.GetFileSystemInfoFromPersistentUniqueId(this.FilePersistentUniqueId) as MediaFileInfo;

            device.Disconnect();

            Assert.IsNotNull(dir, "Dir");
            Assert.IsTrue(dir.Attributes.HasFlag(MediaFileAttributes.Directory), "dir.IsDirectory");
            Assert.AreEqual(this.FolderPersistentUniqueIdPath, dir.FullName, "dir.FullName");

            Assert.IsNotNull(file, "File");
            Assert.IsTrue(file.Attributes.HasFlag(MediaFileAttributes.Normal), "file.IsFile");
            Assert.AreEqual(this.FilePersistentUniqueIdPath, file.FullName, "file.FullName");
        }
コード例 #4
0
 public void Update(MediaDevice device)
 {
     this.device = device;
     this.root   = this.device?.GetRootDirectory();
     NotifyAllPropertiesChanged();
 }
コード例 #5
0
ファイル: Program.cs プロジェクト: lulzzz/SyncMusicToDevice
        private static IEnumerable <MediaDirectoryInfo> EnumerateDirectoriesRecursively(MediaDirectoryInfo parentDirectory,
                                                                                        int depth = 1)
        {
            IEnumerable <MediaDirectoryInfo> result           = new List <MediaDirectoryInfo>();
            IEnumerable <MediaDirectoryInfo> childDirectories = parentDirectory.EnumerateDirectories();

            foreach (MediaDirectoryInfo childDirectory in childDirectories)
            {
                result = result.Append(childDirectory);
                if (depth > 1)
                {
                    result = result.Concat(EnumerateDirectoriesRecursively(childDirectory, depth - 1));
                }
            }

            return(result);
        }