Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "systemCall.H"
00027 #include <OpenFOAM/dictionary.H>
00028 #include <OpenFOAM/Time.H>
00029
00030
00031
00032 namespace Foam
00033 {
00034 defineTypeNameAndDebug(systemCall, 0);
00035 }
00036
00037
00038
00039
00040 Foam::systemCall::systemCall
00041 (
00042 const word& name,
00043 const objectRegistry&,
00044 const dictionary& dict,
00045 const bool
00046 )
00047 :
00048 name_(name),
00049 executeCalls_(),
00050 endCalls_(),
00051 writeCalls_()
00052 {
00053 read(dict);
00054 }
00055
00056
00057
00058
00059 Foam::systemCall::~systemCall()
00060 {}
00061
00062
00063
00064
00065 void Foam::systemCall::read(const dictionary& dict)
00066 {
00067 dict.readIfPresent("executeCalls", executeCalls_);
00068 dict.readIfPresent("endCalls", endCalls_);
00069 dict.readIfPresent("writeCalls", writeCalls_);
00070
00071 if (executeCalls_.empty() && endCalls_.empty() && writeCalls_.empty())
00072 {
00073 WarningIn("Foam::system::read(const dictionary&)")
00074 << "no executeCalls, endCalls or writeCalls defined."
00075 << endl;
00076 }
00077 }
00078
00079
00080 void Foam::systemCall::execute()
00081 {
00082 forAll(executeCalls_, callI)
00083 {
00084 ::system(executeCalls_[callI].c_str());
00085 }
00086 }
00087
00088
00089 void Foam::systemCall::end()
00090 {
00091 forAll(endCalls_, callI)
00092 {
00093 ::system(endCalls_[callI].c_str());
00094 }
00095 }
00096
00097
00098 void Foam::systemCall::write()
00099 {
00100 forAll(writeCalls_, callI)
00101 {
00102 ::system(writeCalls_[callI].c_str());
00103 }
00104 }
00105
00106
00107