Base class for function objects and boundary conditions using dynamic code that provides methods for managing loading/unloading/updating of a dynamic library. For these purposes, it uses a dynamicCodeContext object to maintain information about the state. More...
Public Member Functions | |
ClassName ("codedBase") | |
Runtime type information. More... | |
codedBase ()=default | |
Default construct. More... | |
virtual | ~codedBase ()=default |
Destructor. More... | |
Protected Member Functions | |
void | setCodeContext (const dictionary &dict) |
Set code context from a dictionary. More... | |
void | append (const std::string &str) |
Add content to SHA1 hashing. More... | |
void | updateLibrary (const word &name, const dynamicCodeContext &context) const |
Update library as required, using the given context. More... | |
void | updateLibrary (const word &name, const dictionary &dict) const |
void | updateLibrary (const word &name) const |
virtual dlLibraryTable & | libs () const =0 |
Mutable access to the loaded dynamic libraries. More... | |
virtual void | prepare (dynamicCode &dynCode, const dynamicCodeContext &context) const =0 |
Adapt the context for the current object. More... | |
virtual string | description () const =0 |
virtual void | clearRedirect () const =0 |
virtual const dictionary & | codeDict () const =0 |
codedBase (const codedBase &)=delete | |
No copy construct. More... | |
void | operator= (const codedBase &)=delete |
No copy assignment. More... | |
Static Protected Member Functions | |
static void | writeCodeDict (Ostream &os, const dictionary &dict) |
Write code-dictionary contents. More... | |
Base class for function objects and boundary conditions using dynamic code that provides methods for managing loading/unloading/updating of a dynamic library. For these purposes, it uses a dynamicCodeContext object to maintain information about the state.
For simple coded objects, the default state management is sufficient. When there are more complicated code segments (eg, functionObjects::codedFunctionObject), the state management must also register these elements as well, starting with an initial setCodeContext() call and followed by append() to register each element.
Definition at line 67 of file codedBase.H.
|
default |
Default construct.
|
virtualdefault |
Destructor.
|
staticprotected |
|
protected |
Set code context from a dictionary.
Definition at line 302 of file codedBase.C.
References dict.
Referenced by codedFunctionObject::read().
|
protected |
Add content to SHA1 hashing.
Definition at line 308 of file codedBase.C.
Referenced by codedFunctionObject::read().
|
protected |
Update library as required, using the given context.
Definition at line 315 of file codedBase.C.
References dlLibraryTable::basename(), dynamicCode::checkSecurity(), DetailInfo, dynamicCodeContext::dict(), Foam::endl(), Foam::name(), dictionary::name(), dynamicCodeContext::sha1(), dictionary::startLineNumber(), and SHA1::str().
|
protected |
Update library as required, using the given code dictionary to use for the context
Definition at line 374 of file codedBase.C.
References dict, and Foam::name().
|
protected |
Update library as required, using the predefined context or use the codeDict() to generate one
Definition at line 383 of file codedBase.C.
References Foam::name().
|
protectedpure virtual |
Mutable access to the loaded dynamic libraries.
Implemented in codedFunctionObject, CodedSource< Type >, codedMixedFvPatchField< Type >, codedPoints0MotionSolver, and CodedField< Type >.
|
protectedpure virtual |
Adapt the context for the current object.
Implemented in codedFunctionObject, CodedSource< Type >, codedMixedFvPatchField< Type >, codedPoints0MotionSolver, and CodedField< Type >.
|
protectedpure virtual |
Implemented in codedFunctionObject, CodedSource< Type >, codedMixedFvPatchField< Type >, codedPoints0MotionSolver, and CodedField< Type >.
|
protectedpure virtual |
Implemented in codedFunctionObject, CodedSource< Type >, codedMixedFvPatchField< Type >, codedPoints0MotionSolver, and CodedField< Type >.
|
protectedpure virtual |
Implemented in codedFunctionObject, CodedSource< Type >, codedMixedFvPatchField< Type >, codedPoints0MotionSolver, and CodedField< Type >.
|
protecteddelete |
No copy assignment.
ClassName | ( | "codedBase" | ) |
Runtime type information.