public static FileAttributes AzureFileNtfsAttributesToLocalAttributes(CloudFileNtfsAttributes cloudFileNtfsAttributes) { FileAttributes fileAttributes = FileAttributes.Normal; if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.ReadOnly) == CloudFileNtfsAttributes.ReadOnly) { fileAttributes |= FileAttributes.ReadOnly; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.Hidden) == CloudFileNtfsAttributes.Hidden) { fileAttributes |= FileAttributes.Hidden; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.System) == CloudFileNtfsAttributes.System) { fileAttributes |= FileAttributes.System; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.Directory) == CloudFileNtfsAttributes.Directory) { fileAttributes |= FileAttributes.Directory; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.Archive) == CloudFileNtfsAttributes.Archive) { fileAttributes |= FileAttributes.Archive; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.Temporary) == CloudFileNtfsAttributes.Temporary) { fileAttributes |= FileAttributes.Temporary; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.Offline) == CloudFileNtfsAttributes.Offline) { fileAttributes |= FileAttributes.Offline; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.NotContentIndexed) == CloudFileNtfsAttributes.NotContentIndexed) { fileAttributes |= FileAttributes.NotContentIndexed; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.NoScrubData) == CloudFileNtfsAttributes.NoScrubData) { fileAttributes |= FileAttributes.NoScrubData; } if ((cloudFileNtfsAttributes & CloudFileNtfsAttributes.Normal) == CloudFileNtfsAttributes.None) { if (fileAttributes != FileAttributes.Normal) { fileAttributes = fileAttributes & (~FileAttributes.Normal); } } return(fileAttributes); }
/// <summary> /// Converts a CloudFileNtfsAttributes to a string /// </summary> /// <param name="attributes"><see cref="CloudFileNtfsAttributes"/></param> /// <returns>string</returns> internal static string ToString(CloudFileNtfsAttributes attributes) { return(string.Join("|", directory.Select(r => { if (attributes.HasFlag(r.Key)) { return r.Value; } return null; }).Where(r => r != null))); }
private void GenerateDirNodeWithAttributes( DirNode parent, int dirLevel, CloudFileNtfsAttributes smbAttributes) { FileNode fileNode = new FileNode(DMLibTestBase.FileName + "_0"); fileNode.SizeInByte = 1024; fileNode.SMBAttributes = smbAttributes; parent.AddFileNode(fileNode); fileNode = new FileNode(DMLibTestBase.FileName + "_1"); fileNode.SizeInByte = 1024; fileNode.SMBAttributes = smbAttributes; parent.AddFileNode(fileNode); if (dirLevel <= 0) { return; } --dirLevel; DirNode dirNode = new DirNode(DMLibTestBase.DirName + "_0"); this.GenerateDirNodeWithAttributes(dirNode, dirLevel, smbAttributes); if (smbAttributes == CloudFileNtfsAttributes.Normal) { dirNode.SMBAttributes = CloudFileNtfsAttributes.Directory; } else { dirNode.SMBAttributes = CloudFileNtfsAttributes.Directory | smbAttributes; } parent.AddDirNode(dirNode); dirNode = new DirNode(DMLibTestBase.DirName + "_1"); this.GenerateDirNodeWithAttributes(dirNode, dirLevel, smbAttributes); if (smbAttributes == CloudFileNtfsAttributes.Normal) { dirNode.SMBAttributes = CloudFileNtfsAttributes.Directory; } else { dirNode.SMBAttributes = CloudFileNtfsAttributes.Directory | smbAttributes; } parent.AddDirNode(dirNode); }
public static CloudFileNtfsAttributes LocalAttributesToAzureFileNtfsAttributes(FileAttributes fileAttributes) { CloudFileNtfsAttributes cloudFileNtfsAttributes = CloudFileNtfsAttributes.None; if ((fileAttributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.ReadOnly; } if ((fileAttributes & FileAttributes.Hidden) == FileAttributes.Hidden) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.Hidden; } if ((fileAttributes & FileAttributes.System) == FileAttributes.System) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.System; } if ((fileAttributes & FileAttributes.Directory) == FileAttributes.Directory) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.Directory; } if ((fileAttributes & FileAttributes.Archive) == FileAttributes.Archive) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.Archive; } if ((fileAttributes & FileAttributes.Normal) == FileAttributes.Normal) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.Normal; } if ((fileAttributes & FileAttributes.Temporary) == FileAttributes.Temporary) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.Temporary; } if ((fileAttributes & FileAttributes.Offline) == FileAttributes.Offline) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.Offline; } if ((fileAttributes & FileAttributes.NotContentIndexed) == FileAttributes.NotContentIndexed) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.NotContentIndexed; } if ((fileAttributes & FileAttributes.NoScrubData) == FileAttributes.NoScrubData) { cloudFileNtfsAttributes |= CloudFileNtfsAttributes.NoScrubData; } if (cloudFileNtfsAttributes == CloudFileNtfsAttributes.None) { cloudFileNtfsAttributes = CloudFileNtfsAttributes.Normal; } return(cloudFileNtfsAttributes); }