An encapsulation of filesystem-related operations. More...
Public Types | |
enum | pathType : int { NOTFOUND = 0, ABSOLUTE, OBJECT, WRITEOBJECT, PROCUNCOLLATED, PROCBASEOBJECT = PROCUNCOLLATED + 1, PROCOBJECT = PROCBASEOBJECT + 1, PARENTOBJECT, FINDINSTANCE, PROCUNCOLLATEDINSTANCE, PROCBASEINSTANCE, PROCINSTANCE } |
typedef Tuple2< fileName, Tuple2< pathType, int > > | dirIndex |
typedef List< dirIndex > | dirIndexList |
typedef IntRange< int > | procRangeType |
Public Member Functions | |
TypeName ("fileOperation") | |
fileOperation (const label comm, const bool distributedRoots=false) | |
declareRunTimeSelectionTable (autoPtr, fileOperation, word,(bool verbose),(verbose)) | |
virtual | ~fileOperation ()=default |
bool | distributed () const noexcept |
bool | distributed (bool on) const noexcept |
virtual bool | mkDir (const fileName &, mode_t=0777) const =0 |
virtual bool | chMod (const fileName &, const mode_t) const =0 |
virtual mode_t | mode (const fileName &, const bool followLink=true) const =0 |
virtual fileName::Type | type (const fileName &, const bool followLink=true) const =0 |
virtual bool | exists (const fileName &, const bool checkGzip=true, const bool followLink=true) const =0 |
virtual bool | isDir (const fileName &, const bool followLink=true) const =0 |
virtual bool | isFile (const fileName &, const bool checkGzip=true, const bool followLink=true) const =0 |
virtual off_t | fileSize (const fileName &, const bool followLink=true) const =0 |
virtual time_t | lastModified (const fileName &, const bool followLink=true) const =0 |
virtual double | highResLastModified (const fileName &, const bool followLink=true) const =0 |
virtual fileNameList | readDir (const fileName &, const fileName::Type=fileName::FILE, const bool filtergz=true, const bool followLink=true) const =0 |
virtual bool | cp (const fileName &src, const fileName &dst, const bool followLink=true) const =0 |
virtual bool | ln (const fileName &src, const fileName &dst) const =0 |
virtual bool | mv (const fileName &src, const fileName &dst, const bool followLink=false) const =0 |
virtual bool | mvBak (const fileName &, const std::string &ext="bak") const =0 |
virtual bool | rm (const fileName &) const =0 |
virtual bool | rmDir (const fileName &dir, const bool silent=false) const =0 |
virtual fileName | objectPath (const IOobject &io, const word &typeName) const |
virtual fileName | filePath (const bool checkGlobal, const IOobject &, const word &typeName, const bool search=true) const =0 |
virtual fileName | dirPath (const bool checkGlobal, const IOobject &io, const bool search=true) const =0 |
virtual fileNameList | readObjects (const objectRegistry &db, const fileName &instance, const fileName &local, word &newInstance) const |
virtual bool | readHeader (IOobject &, const fileName &, const word &typeName) const =0 |
virtual autoPtr< ISstream > | readStream (regIOobject &, const fileName &, const word &typeName, const bool valid=true) const =0 |
virtual bool | read (regIOobject &, const bool masterOnly, const IOstreamOption::streamFormat format, const word &typeName) const =0 |
virtual bool | writeObject (const regIOobject &io, IOstreamOption streamOpt=IOstreamOption(), const bool valid=true) const |
virtual fileName | filePath (const fileName &) const |
virtual autoPtr< ISstream > | NewIFstream (const fileName &) const =0 |
virtual autoPtr< OSstream > | NewOFstream (const fileName &pathname, IOstreamOption streamOpt=IOstreamOption(), const bool valid=true) const =0 |
virtual label | addWatch (const fileName &) const |
virtual bool | removeWatch (const label) const |
virtual label | findWatch (const labelList &watchIndices, const fileName &) const |
virtual void | addWatches (regIOobject &, const fileNameList &) const |
virtual fileName | getFile (const label) const |
virtual void | updateStates (const bool masterOnly, const bool syncPar) const |
virtual fileMonitor::fileState | getState (const label) const |
virtual void | setUnmodified (const label) const |
virtual word | processorsDir (const IOobject &io) const |
virtual word | processorsDir (const fileName &) const |
virtual void | setNProcs (const label nProcs) |
virtual label | nProcs (const fileName &dir, const fileName &local="") const |
virtual instantList | findTimes (const fileName &, const word &) const |
virtual IOobject | findInstance (const IOobject &io, const scalar startValue, const word &stopInstance) const |
virtual void | setTime (const Time &) const |
virtual void | flush () const |
fileName | processorsCasePath (const IOobject &, const word &procDir) const |
fileName | processorsPath (const IOobject &, const word &instance, const word &procDir) const |
fileName | processorsPath (const fileName &, const word &procDir) const |
Static Public Member Functions | |
static autoPtr< fileOperation > | NewUncollated () |
static autoPtr< fileOperation > | New (const word &handlerType, bool verbose=false) |
static instantList | sortTimes (const fileNameList &dirEntries, const word &constantName="constant") |
static label | splitProcessorPath (const fileName &objectPath, fileName &path, fileName &procDir, fileName &local, procRangeType &group, label &nProcs) |
static label | detectProcessorPath (const fileName &objPath) |
Static Public Attributes | |
static const Enum< pathType > | pathTypeNames_ |
static word | processorsBaseDir = "processors" |
static word | defaultFileHandler |
static autoPtr< fileOperation > | fileHandlerPtr_ |
Protected Member Functions | |
fileMonitor & | monitor () const |
refPtr< dirIndexList > | lookupAndCacheProcessorsPath (const fileName &objectPath, const bool syncPar) const |
virtual refPtr< dirIndexList > | lookupProcessorsPath (const fileName &objectPath) const |
bool | exists (IOobject &io) const |
Static Protected Member Functions | |
static labelList | ioRanks () |
static void | mergeTimes (const instantList &extraTimes, const word &constantName, instantList ×) |
static bool | isFileOrDir (const bool isFile, const fileName &) |
Protected Attributes | |
const label | comm_ |
bool | distributed_ |
HashTable< dirIndexList > | procsDirs_ |
autoPtr< fileMonitor > | monitorPtr_ |
Definition at line 93 of file fileOperation.H.
typedef List<dirIndex> dirIndexList |
Definition at line 94 of file fileOperation.H.
typedef IntRange<int> procRangeType |
Definition at line 98 of file fileOperation.H.
enum pathType : int |
Definition at line 68 of file fileOperation.H.
|
explicit |
Definition at line 687 of file fileOperation.C.
|
virtualdefault |
|
protected |
Definition at line 291 of file fileOperation.C.
References IOobject::fileModificationChecking, IOobject::inotify, and IOobject::inotifyMaster.
|
staticprotected |
Definition at line 215 of file fileOperation.C.
References Foam::getEnv().
|
staticprotected |
Definition at line 309 of file fileOperation.C.
References forAll, Foam::less(), Foam::name(), List::setSize(), Foam::sort(), and List::transfer().
Definition at line 382 of file fileOperation.C.
References f(), Foam::isDir(), and Foam::isFile().
|
protected |
sortProcessorDirs(procDirs);
Definition at line 390 of file fileOperation.C.
References DynamicList::append(), Foam::expressions::patchExpr::debug, DebugInfo, Foam::endl(), IOobject::fileModificationChecking, Tuple2::first(), Foam::constant::atomic::group, IOobject::inotifyMaster, UPstream::master(), Foam::max(), UPstream::msgType(), Foam::name(), refPtr::New(), UPstream::parRun(), path(), Foam::Pout, Foam::readDir(), Foam::reduce(), rp(), Pstream::scatter(), Tuple2::second(), fileOperation::setNProcs(), and IOobject::timeStampMaster.
|
protectedvirtual |
Reimplemented in uncollatedFileOperation.
Definition at line 634 of file fileOperation.C.
Definition at line 641 of file fileOperation.C.
References Foam::isDir(), Foam::isFile(), IOobject::name(), word::null, IOobject::objectPath(), and IOobject::typeHeaderOk().
TypeName | ( | "fileOperation" | ) |
|
static |
Definition at line 1467 of file fileOperation.C.
Referenced by faMeshReconstructor::writeMesh().
declareRunTimeSelectionTable | ( | autoPtr | , |
fileOperation | , | ||
word | , | ||
(bool verbose) | , | ||
(verbose) | |||
) |
|
static |
Definition at line 699 of file fileOperation.C.
References Foam::abort(), DebugInFunction, Foam::endl(), Foam::FatalError, and FatalErrorInLookup.
Referenced by Foam::fileHandler(), argList::parse(), and Time::readDict().
|
static |
Definition at line 231 of file fileOperation.C.
References Foam::less(), List::resize(), and Foam::sort().
|
inlinenoexcept |
Definition at line 234 of file fileOperation.H.
References fileOperation::distributed_.
Referenced by if(), and faMeshReconstructor::writeMesh().
Definition at line 725 of file fileOperation.C.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Referenced by Time::writeObject().
|
virtual |
Reimplemented in collatedFileOperation.
Definition at line 734 of file fileOperation.C.
References IOobject::objectPath().
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Referenced by IOobject::globalFilePath(), IOobject::localFilePath(), and surfaceFormatsCore::relativeFilePath().
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
virtual |
Reimplemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Definition at line 1142 of file fileOperation.C.
References objectRegistry::dbDir(), Foam::expressions::patchExpr::debug, Foam::endl(), fileName::FILE, Foam::isDir(), word::null, IOobject::objectPath(), path(), IOobject::path(), Foam::Pout, and Foam::readDir().
Referenced by IOobjectList::IOobjectList(), and masterUncollatedFileOperation::readObjects().
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Referenced by regIOobject::headerOk(), and IOobject::typeHeaderOk().
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Referenced by regIOobject::read(), and regIOobject::readHeaderOk().
|
virtual |
Reimplemented in masterUncollatedFileOperation, and collatedFileOperation.
Definition at line 744 of file fileOperation.C.
References IOstream::good(), Foam::mkDir(), IOobject::objectPath(), os(), fileName::path(), regIOobject::writeData(), IOobject::writeEndDivider(), and IOobject::writeHeader().
Referenced by STDMD::initialise(), and regIOobject::writeObject().
|
virtual |
Definition at line 788 of file fileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), Foam::exists(), Foam::constant::atomic::group, fileName::null, path(), Foam::Pout, and WarningInFunction.
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
Referenced by openFoamTableReader< Type >::operator()().
|
pure virtual |
Implemented in masterUncollatedFileOperation, and uncollatedFileOperation.
|
virtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 844 of file fileOperation.C.
|
virtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 850 of file fileOperation.C.
Referenced by regIOobject::addWatch(), regIOobject::checkOut(), regIOobject::read(), Time::readDict(), and Time::~Time().
Reimplemented in masterUncollatedFileOperation.
Definition at line 857 of file fileOperation.C.
References forAll.
Referenced by regIOobject::addWatch().
|
virtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 874 of file fileOperation.C.
References DynamicList::append(), f(), and regIOobject::watchIndices().
Referenced by Time::read(), Time::readDict(), Time::readModifiedObjects(), and Time::setMonitoring().
|
virtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 910 of file fileOperation.C.
Referenced by regIOobject::addWatch(), regIOobject::read(), Time::readDict(), and regIOobject::readIfModified().
Reimplemented in masterUncollatedFileOperation.
Definition at line 917 of file fileOperation.C.
References UPstream::parRun().
Referenced by Time::readModifiedObjects().
|
virtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 927 of file fileOperation.C.
|
virtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 935 of file fileOperation.C.
Referenced by regIOobject::writeObject().
Reimplemented in collatedFileOperation.
Definition at line 505 of file fileOperation.H.
References fileOperation::processorsBaseDir.
Reimplemented in collatedFileOperation.
Definition at line 512 of file fileOperation.H.
References fileOperation::processorsBaseDir.
|
virtual |
Reimplemented in collatedFileOperation.
Definition at line 1181 of file fileOperation.C.
Referenced by fileOperation::lookupAndCacheProcessorsPath().
Definition at line 1186 of file fileOperation.C.
References Foam::endl(), Foam::constant::atomic::group, Foam::isDir(), UPstream::master(), Foam::max(), UPstream::msgType(), Foam::nl, Foam::readDir(), rp(), Pstream::scatter(), and WarningInFunction.
|
virtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 942 of file fileOperation.C.
References Foam::expressions::patchExpr::debug, fileName::DIRECTORY, Foam::endl(), Foam::Pout, and Foam::readDir().
Referenced by TimePaths::findTimes(), masterUncollatedFileOperation::findTimes(), and masterUncollatedFileOperation::readObjects().
|
virtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 995 of file fileOperation.C.
References TimePaths::constant(), DebugInFunction, Foam::endl(), Foam::exists(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, IOobject::instance(), IOobject::local(), IOobject::MUST_READ, IOobject::MUST_READ_IF_MODIFIED, IOobject::name(), IOobject::readOpt(), IOobject::time(), and TimePaths::times().
|
inlinevirtual |
Reimplemented in masterUncollatedFileOperation.
Definition at line 543 of file fileOperation.H.
Referenced by Time::setTime(), and masterUncollatedFileOperation::setTime().
|
virtual |
Reimplemented in masterUncollatedFileOperation, and collatedFileOperation.
Definition at line 1233 of file fileOperation.C.
References Foam::expressions::patchExpr::debug, Foam::endl(), and Foam::Pout.
Referenced by masterUncollatedFileOperation::flush().
Foam::fileName processorsCasePath | ( | const IOobject & | io, |
const word & | procDir | ||
) | const |
Definition at line 1245 of file fileOperation.C.
References TimePaths::globalCaseName(), IOobject::rootPath(), and IOobject::time().
Foam::fileName processorsPath | ( | const IOobject & | io, |
const word & | instance, | ||
const word & | procDir | ||
) | const |
Definition at line 1255 of file fileOperation.C.
References IOobject::db(), objectRegistry::dbDir(), and IOobject::local().
Foam::fileName processorsPath | ( | const fileName & | dir, |
const word & | procDir | ||
) | const |
Definition at line 1270 of file fileOperation.C.
References Foam::endl(), fileName::name(), fileName::null, fileName::path(), string::starts_with(), and WarningInFunction.
|
static |
Definition at line 1296 of file fileOperation.C.
References Foam::constant::atomic::group, path(), Foam::pos(), and Foam::read().
|
static |
Definition at line 1456 of file fileOperation.C.
References Foam::constant::atomic::group, and path().
|
static |
Definition at line 90 of file fileOperation.H.
Referenced by masterUncollatedFileOperation::filePath().
|
protected |
Definition at line 106 of file fileOperation.H.
|
mutableprotected |
Definition at line 109 of file fileOperation.H.
Referenced by fileOperation::distributed().
|
mutableprotected |
Definition at line 112 of file fileOperation.H.
|
mutableprotected |
Definition at line 115 of file fileOperation.H.
|
static |
Definition at line 163 of file fileOperation.H.
Referenced by fileOperation::processorsDir().
|
static |
Definition at line 166 of file fileOperation.H.
Referenced by argList::argList(), Foam::fileHandler(), and argList::parse().
|
static |
Definition at line 176 of file fileOperation.H.
Referenced by Foam::fileHandler(), and argList::parse().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.