浏览代码

update sharpcifs

Luke Pulverenti 8 年之前
父节点
当前提交
6c60656dad
共有 1 个文件被更改,包括 20 次插入5 次删除
  1. 20 5
      Emby.Common.Implementations/IO/SharpCifsFileSystem.cs

+ 20 - 5
Emby.Common.Implementations/IO/SharpCifsFileSystem.cs

@@ -166,23 +166,38 @@ namespace Emby.Common.Implementations.IO
         public void SetHidden(string path, bool isHidden)
         {
             var file = CreateSmbFile(path);
+            SetHidden(file, isHidden);
+        }
+
+        public void SetReadOnly(string path, bool isReadOnly)
+        {
+            var file = CreateSmbFile(path);
+            SetReadOnly(file, isReadOnly);
+        }
+
+        public void SetAttributes(string path, bool isHidden, bool isReadOnly)
+        {
+            var file = CreateSmbFile(path);
+            SetHidden(file, isHidden);
+            SetReadOnly(file, isReadOnly);
+        }
 
+        private void SetHidden(SmbFile file, bool isHidden)
+        {
             var isCurrentlyHidden = file.IsHidden();
 
             if (isCurrentlyHidden && !isHidden)
             {
-                file.SetAttributes(file.GetAttributes() & ~SmbFile.AttrReadonly);
+                file.SetAttributes(file.GetAttributes() & ~SmbFile.AttrHidden);
             }
             else if (!isCurrentlyHidden && isHidden)
             {
-                file.SetAttributes(file.GetAttributes() | SmbFile.AttrReadonly);
+                file.SetAttributes(file.GetAttributes() | SmbFile.AttrHidden);
             }
         }
 
-        public void SetReadOnly(string path, bool isReadOnly)
+        private void SetReadOnly(SmbFile file, bool isReadOnly)
         {
-            var file = CreateSmbFile(path);
-
             var isCurrentlyReadOnly = !file.CanWrite();
 
             if (isCurrentlyReadOnly && !isReadOnly)