void SetShareLeafName(String shareLeafName) { if (PlatformPath.IsValidUnixFileName(shareLeafName)) { this.shareLeafName = shareLeafName; } else { String newShareLeafName = NfsPath.LeafName(shareLeafName); if (!PlatformPath.IsValidUnixFileName(newShareLeafName)) { throw new InvalidOperationException(String.Format("The file you supplied '{0}' is not a valid unix file name", shareLeafName)); } this.shareLeafName = newShareLeafName; } }
public Nfs3Procedure.Status TryGetDirectory(String shareDirectoryName, out RootShareDirectory rootShareDirectory, out ShareObject shareDirectoryObject) { String subPath; String rootShareName = NfsPath.SplitShareNameAndSubPath(shareDirectoryName, out subPath); if (rootShareName == null) { rootShareDirectory = null; shareDirectoryObject = null; return(Nfs3Procedure.Status.ErrorInvalidArgument); } Nfs3Procedure.Status status = TryGetRootSharedDirectory(rootShareName, out rootShareDirectory); if (status != Nfs3Procedure.Status.Ok) { shareDirectoryObject = null; return(status); } if (rootShareDirectory == null) { shareDirectoryObject = null; return(Nfs3Procedure.Status.ErrorNoSuchFileOrDirectory); } if (subPath == null) { shareDirectoryObject = rootShareDirectory.shareObject; } else { String localPathAndName = PlatformPath.LocalCombine(rootShareDirectory.localShareDirectory, subPath); status = TryGetSharedObject(localPathAndName, subPath, out shareDirectoryObject); if (status != Nfs3Procedure.Status.Ok) { return(status); } if (shareDirectoryObject == null) { return(Nfs3Procedure.Status.ErrorNoSuchFileOrDirectory); } shareDirectoryObject.RefreshFileAttributes(permissions); } return(Nfs3Procedure.Status.Ok); }
public Nfs3Procedure.Status TryGetSharedObject(String localPathAndName, out ShareObject shareObject) { return(TryGetSharedObject(localPathAndName, NfsPath.LeafName(localPathAndName), out shareObject)); }