fileOperation that assumes file operations are local. More...
Public Member Functions | |
TypeName ("uncollated") | |
Runtime type information. More... | |
uncollatedFileOperation (bool verbose) | |
Default construct. More... | |
virtual | ~uncollatedFileOperation ()=default |
Destructor. More... | |
virtual bool | mkDir (const fileName &, mode_t=0777) const |
Make directory. More... | |
virtual bool | chMod (const fileName &, const mode_t) const |
Set the file mode. More... | |
virtual mode_t | mode (const fileName &, const bool followLink=true) const |
Return the file mode. More... | |
virtual fileName::Type | type (const fileName &, const bool followLink=true) const |
Return the file type: DIRECTORY, FILE or LINK. More... | |
virtual bool | exists (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
Does the name exist (as DIRECTORY or FILE) in the file system? More... | |
virtual bool | isDir (const fileName &, const bool followLink=true) const |
Does the name exist as a DIRECTORY in the file system? More... | |
virtual bool | isFile (const fileName &, const bool checkGzip=true, const bool followLink=true) const |
Does the name exist as a FILE in the file system? More... | |
virtual off_t | fileSize (const fileName &, const bool followLink=true) const |
Return size of file. More... | |
virtual time_t | lastModified (const fileName &, const bool followLink=true) const |
Return time of last file modification. More... | |
virtual double | highResLastModified (const fileName &, const bool followLink=true) const |
Return time of last file modification. More... | |
virtual fileNameList | readDir (const fileName &, const fileName::Type=fileName::FILE, const bool filtergz=true, const bool followLink=true) const |
Read a directory and return the entries as a string list. More... | |
virtual bool | cp (const fileName &src, const fileName &dst, const bool followLink=true) const |
Copy, recursively if necessary, the source to the destination. More... | |
virtual bool | ln (const fileName &src, const fileName &dst) const |
Create a softlink. dst should not exist. Returns true if. More... | |
virtual bool | mv (const fileName &src, const fileName &dst, const bool followLink=false) const |
Rename src to dst. More... | |
virtual bool | mvBak (const fileName &, const std::string &ext="bak") const |
Rename to a corresponding backup file. More... | |
virtual bool | rm (const fileName &) const |
Remove a file, returning true if successful otherwise false. More... | |
virtual bool | rmDir (const fileName &dir, const bool silent=false) const |
Remove a directory and its contents. More... | |
virtual fileName | filePath (const bool checkGlobal, const IOobject &io, const word &typeName, const bool search) const |
Search for an object. checkGlobal : also check undecomposed case. More... | |
virtual fileName | dirPath (const bool checkGlobal, const IOobject &io, const bool search) const |
Search for a directory. checkGlobal : also check undecomposed. More... | |
virtual fileNameList | readObjects (const objectRegistry &db, const fileName &instance, const fileName &local, word &newInstance) const |
Search directory for objects. Used in IOobjectList. More... | |
virtual bool | readHeader (IOobject &, const fileName &, const word &typeName) const |
Read object header from supplied file. More... | |
virtual autoPtr< ISstream > | readStream (regIOobject &, const fileName &, const word &typeName, const bool procValid=true) const |
Reads header for regIOobject and returns an ISstream. More... | |
virtual bool | read (regIOobject &, const bool masterOnly, const IOstreamOption::streamFormat format, const word &typeName) const |
Top-level read. More... | |
virtual autoPtr< ISstream > | NewIFstream (const fileName &) const |
Generate an ISstream that reads a file. More... | |
virtual autoPtr< OSstream > | NewOFstream (const fileName &pathname, IOstreamOption streamOpt=IOstreamOption(), const bool valid=true) const |
Generate an OSstream that writes a file. More... | |
![]() | |
TypeName ("fileOperation") | |
Runtime type information. More... | |
fileOperation (const label comm, const bool distributedRoots=false) | |
Construct from communicator, optionally with distributed roots. More... | |
declareRunTimeSelectionTable (autoPtr, fileOperation, word,(bool verbose),(verbose)) | |
virtual | ~fileOperation ()=default |
Destructor. More... | |
bool | distributed () const noexcept |
Distributed roots (parallel run) More... | |
bool | distributed (bool on) const noexcept |
Set distributed roots on/off (mutable) More... | |
virtual fileName | objectPath (const IOobject &io, const word &typeName) const |
Generate disk file name for object. Opposite of filePath. More... | |
virtual bool | writeObject (const regIOobject &io, IOstreamOption streamOpt=IOstreamOption(), const bool valid=true) const |
Writes a regIOobject (so header, contents and divider). More... | |
virtual fileName | filePath (const fileName &) const |
Search for a file or directory. Use IOobject version in. More... | |
virtual label | addWatch (const fileName &) const |
Add watching of a file. Returns handle. More... | |
virtual bool | removeWatch (const label) const |
Remove watch on a file (using handle) More... | |
virtual label | findWatch (const labelList &watchIndices, const fileName &) const |
Find index (or -1) of file in list of handles. More... | |
virtual void | addWatches (regIOobject &, const fileNameList &) const |
Helper: add watches for list of regIOobjects. More... | |
virtual fileName | getFile (const label) const |
Get name of file being watched (using handle) More... | |
virtual void | updateStates (const bool masterOnly, const bool syncPar) const |
Update state of all files. More... | |
virtual fileMonitor::fileState | getState (const label) const |
Get current state of file (using handle) More... | |
virtual void | setUnmodified (const label) const |
Set current state of file (using handle) to unmodified. More... | |
virtual word | processorsDir (const IOobject &io) const |
Actual name of processors dir (for use in mode PROCOBJECT,. More... | |
virtual word | processorsDir (const fileName &) const |
Actual name of processors dir (for use in mode PROCOBJECT,. More... | |
virtual void | setNProcs (const label nProcs) |
Set number of processor directories/results. Only used in. More... | |
virtual label | nProcs (const fileName &dir, const fileName &local="") const |
Get number of processor directories/results. Used for e.g. More... | |
virtual instantList | findTimes (const fileName &, const word &) const |
Get sorted list of times. More... | |
virtual IOobject | findInstance (const IOobject &io, const scalar startValue, const word &stopInstance) const |
Find instance where IOobject is. Fails if cannot be found. More... | |
virtual void | setTime (const Time &) const |
Callback for time change. More... | |
virtual void | flush () const |
Forcibly wait until all output done. Flush any cached data. More... | |
fileName | processorsCasePath (const IOobject &, const word &procDir) const |
Generate path (like io.path) from root+casename with any. More... | |
fileName | processorsPath (const IOobject &, const word &instance, const word &procDir) const |
Generate path (like io.path) with provided instance and any. More... | |
fileName | processorsPath (const fileName &, const word &procDir) const |
Operating on fileName: replace processorXXX with procDir. More... | |
Protected Member Functions | |
fileName | filePathInfo (const bool checkGlobal, const bool isFile, const IOobject &io, const bool search) const |
Search for an object. More... | |
virtual refPtr< dirIndexList > | lookupProcessorsPath (const fileName &) const |
Lookup name of processorsDDD using cache. More... | |
![]() | |
fileMonitor & | monitor () const |
Get or create fileMonitor singleton. More... | |
refPtr< dirIndexList > | lookupAndCacheProcessorsPath (const fileName &objectPath, const bool syncPar) const |
Lookup name of processorsDDD using cache. More... | |
bool | exists (IOobject &io) const |
Additional Inherited Members | |
![]() | |
enum | pathType : int { NOTFOUND = 0, ABSOLUTE, OBJECT, WRITEOBJECT, PROCUNCOLLATED, PROCBASEOBJECT = PROCUNCOLLATED + 1, PROCOBJECT = PROCBASEOBJECT + 1, PARENTOBJECT, FINDINSTANCE, PROCUNCOLLATEDINSTANCE, PROCBASEINSTANCE, PROCINSTANCE } |
Enumeration for the location of an IOobject. More... | |
typedef Tuple2< fileName, Tuple2< pathType, int > > | dirIndex |
Augment fileName with pathType and local offset. More... | |
typedef List< dirIndex > | dirIndexList |
typedef IntRange< int > | procRangeType |
![]() | |
static autoPtr< fileOperation > | NewUncollated () |
Static construct the commonly used uncollatedFileOperation. More... | |
static autoPtr< fileOperation > | New (const word &handlerType, bool verbose=false) |
Select fileHandler-type. More... | |
static instantList | sortTimes (const fileNameList &dirEntries, const word &constantName="constant") |
Sort directory entries according to time value,. More... | |
static label | splitProcessorPath (const fileName &objectPath, fileName &path, fileName &procDir, fileName &local, procRangeType &group, label &nProcs) |
Split objectPath into part before 'processor' and part after. More... | |
static label | detectProcessorPath (const fileName &objPath) |
Detect processor number from '/aa/bb/processorDDD/cc'. More... | |
![]() | |
static const Enum< pathType > | pathTypeNames_ |
static word | processorsBaseDir = "processors" |
Return the processors directory name (usually "processors") More... | |
static word | defaultFileHandler |
Name of the default fileHandler. More... | |
static autoPtr< fileOperation > | fileHandlerPtr_ |
Static fileOperation. More... | |
![]() | |
static labelList | ioRanks () |
Retrieve list of IO ranks from FOAM_IORANKS env variable. More... | |
static void | mergeTimes (const instantList &extraTimes, const word &constantName, instantList ×) |
Merge two times. More... | |
static bool | isFileOrDir (const bool isFile, const fileName &) |
Helper: check for file (isFile) or directory (!isFile) More... | |
![]() | |
const label | comm_ |
Communicator to use. More... | |
bool | distributed_ |
Distributed roots (parallel run) More... | |
HashTable< dirIndexList > | procsDirs_ |
Detected processors directories. More... | |
autoPtr< fileMonitor > | monitorPtr_ |
File-change monitor for all registered files. More... | |
fileOperation that assumes file operations are local.
Definition at line 51 of file uncollatedFileOperation.H.
|
explicit |
Default construct.
Definition at line 184 of file uncollatedFileOperation.C.
References DetailInfo, and Foam::endl().
|
virtualdefault |
Destructor.
|
protected |
Search for an object.
checkGlobal : also check undecomposed case isFile : true:check for file false:check for directory
Definition at line 61 of file uncollatedFileOperation.C.
References IOobject::caseName(), TimePaths::constant(), IOobject::db(), objectRegistry::dbDir(), Time::findInstancePath(), TimePaths::globalCaseName(), IOobject::instance(), fileName::isAbsolute(), Foam::isDir(), Foam::isFile(), IOobject::local(), IOobject::name(), IOobject::objectPath(), path(), IOobject::path(), TimePaths::processorCase(), IOobject::rootPath(), Foam::search(), TimePaths::system(), and IOobject::time().
|
protectedvirtual |
Lookup name of processorsDDD using cache.
Reimplemented from fileOperation.
Definition at line 172 of file uncollatedFileOperation.C.
TypeName | ( | "uncollated" | ) |
Runtime type information.
Make directory.
Implements fileOperation.
Definition at line 201 of file uncollatedFileOperation.C.
References Foam::mkDir(), and Foam::mode().
Set the file mode.
Implements fileOperation.
Definition at line 211 of file uncollatedFileOperation.C.
References Foam::chMod(), and Foam::mode().
Return the file mode.
Implements fileOperation.
Definition at line 221 of file uncollatedFileOperation.C.
References Foam::mode().
|
virtual |
Return the file type: DIRECTORY, FILE or LINK.
Implements fileOperation.
Definition at line 231 of file uncollatedFileOperation.C.
References Foam::type().
|
virtual |
Does the name exist (as DIRECTORY or FILE) in the file system?
Optionally enable/disable check for gzip file.
Implements fileOperation.
Definition at line 241 of file uncollatedFileOperation.C.
References Foam::exists().
Does the name exist as a DIRECTORY in the file system?
Implements fileOperation.
Definition at line 252 of file uncollatedFileOperation.C.
References Foam::isDir().
|
virtual |
Does the name exist as a FILE in the file system?
Optionally enable/disable check for gzip file.
Implements fileOperation.
Definition at line 262 of file uncollatedFileOperation.C.
References Foam::isFile().
Return size of file.
Implements fileOperation.
Definition at line 273 of file uncollatedFileOperation.C.
References Foam::fileSize().
Return time of last file modification.
Implements fileOperation.
Definition at line 283 of file uncollatedFileOperation.C.
References Foam::lastModified().
Return time of last file modification.
Implements fileOperation.
Definition at line 293 of file uncollatedFileOperation.C.
References Foam::highResLastModified().
|
virtual |
Read a directory and return the entries as a string list.
Implements fileOperation.
Definition at line 332 of file uncollatedFileOperation.C.
References Foam::readDir().
Copy, recursively if necessary, the source to the destination.
Implements fileOperation.
Definition at line 344 of file uncollatedFileOperation.C.
References Foam::cp().
Create a softlink. dst should not exist. Returns true if.
successful.
Implements fileOperation.
Definition at line 355 of file uncollatedFileOperation.C.
References Foam::ln().
Rename src to dst.
Implements fileOperation.
Definition at line 365 of file uncollatedFileOperation.C.
References Foam::mv().
Rename to a corresponding backup file.
If the backup file already exists, attempt with "01" .. "99" suffix
Implements fileOperation.
Definition at line 303 of file uncollatedFileOperation.C.
References Foam::mvBak().
Remove a file, returning true if successful otherwise false.
Implements fileOperation.
Definition at line 313 of file uncollatedFileOperation.C.
References Foam::rm().
Remove a directory and its contents.
Implements fileOperation.
Definition at line 322 of file uncollatedFileOperation.C.
References Foam::rmDir().
|
virtual |
Search for an object. checkGlobal : also check undecomposed case.
Implements fileOperation.
Definition at line 376 of file uncollatedFileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), IOobject::objectPath(), Foam::Pout, and Foam::search().
|
virtual |
Search for a directory. checkGlobal : also check undecomposed.
case
Implements fileOperation.
Definition at line 404 of file uncollatedFileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), IOobject::objectPath(), Foam::Pout, and Foam::search().
|
virtual |
Search directory for objects. Used in IOobjectList.
Use non-time searching version
Reimplemented from fileOperation.
Definition at line 431 of file uncollatedFileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), Time::findInstancePath(), IOobject::objectPath(), Foam::Pout, and objectRegistry::time().
Read object header from supplied file.
Implements fileOperation.
Definition at line 480 of file uncollatedFileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), autoPtr< T >::good(), IOobject::headerClassName(), InfoInFunction, IOobject::objectPath(), and Foam::Pout.
|
virtual |
Reads header for regIOobject and returns an ISstream.
to read the contents.
Implements fileOperation.
Definition at line 528 of file uncollatedFileOperation.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::FatalIOError, FatalIOErrorInFunction, autoPtr< T >::good(), Foam::constant::atomic::group, IOobject::name(), IOobject::objectPath(), path(), Foam::readBlock(), and IOobject::readHeader().
|
virtual |
Top-level read.
Implements fileOperation.
Definition at line 609 of file uncollatedFileOperation.C.
References UPstream::commsStruct::above(), UPstream::commsStruct::below(), regIOobject::close(), Foam::expressions::patchExpr::debug, Foam::endl(), forAll, format(), IOobject::globalObject(), IOobject::headerClassName(), IOobject::note(), IOobject::objectPath(), Foam::Pout, regIOobject::readData(), and regIOobject::writeData().
|
virtual |
Generate an ISstream that reads a file.
Implements fileOperation.
Definition at line 703 of file uncollatedFileOperation.C.
|
virtual |
Generate an OSstream that writes a file.
Implements fileOperation.
Definition at line 713 of file uncollatedFileOperation.C.