class FilePermissionsApplier

Declaration

class FilePermissionsApplier { /* full declaration omitted */ };

Description

FilePermssionsApplier helps to copy permissions from an input file to an output one. It memorizes the status of the input file and can apply permissions and dates to the output file.

Declared at: llvm/include/llvm/Support/FileUtilities.h:117

Member Variables

private llvm::StringRef InputFilename
private sys::fs::file_status InputStatus

Method Overview

  • private FilePermissionsApplier(llvm::StringRef InputFilename, sys::fs::file_status Status)
  • public llvm::Error apply(llvm::StringRef OutputFilename, bool CopyDates = false, Optional<sys::fs::perms> OverwritePermissions = None)
  • public static Expected<llvm::FilePermissionsApplier> create(llvm::StringRef InputFilename)

Methods

FilePermissionsApplier(
    llvm::StringRef InputFilename,
    sys::fs::file_status Status)

Declared at: llvm/include/llvm/Support/FileUtilities.h:128

Parameters

llvm::StringRef InputFilename
sys::fs::file_status Status

llvm::Error apply(llvm::StringRef OutputFilename,
                  bool CopyDates = false,
                  Optional<sys::fs::perms>
                      OverwritePermissions = None)

Description

Apply stored permissions to the \p OutputFilename. Copy LastAccess and ModificationTime if \p CopyDates is true. Overwrite stored permissions if \p OverwritePermissions is specified.

Declared at: llvm/include/llvm/Support/FileUtilities.h:124

Parameters

llvm::StringRef OutputFilename
bool CopyDates = false
Optional<sys::fs::perms> OverwritePermissions = None

static Expected<llvm::FilePermissionsApplier>
create(llvm::StringRef InputFilename)

Declared at: llvm/include/llvm/Support/FileUtilities.h:119

Parameters

llvm::StringRef InputFilename