PluginManager Class Reference

#include <PluginManager.h>

List of all members.

Public Member Functions

 PluginManager ()
 ~PluginManager ()
void loadPlugins (string)
void initialize (void)
void preSim (void)
void midSim (NodeList &)
void postSim (void)
void close (void)
void setROOTDIR (string s)
void setOutFile (string s)
void setSIMDIR (string s)
void setRunName (string s)
void setT (int i)
void setDUMP (string s)
void setAnalysisPoint (int i)
void setLogic (string s)
void setSpecs (string s)
string getLogic (void)
string getSpecs (void)
bool fileChange ()

Private Attributes

int lastCalc
bool inFileChange
vector< PluginWrapperplugins
int t
string ROOTDIR
string outFile
string SIMDIR
string RunName
string DUMP
string logic
string specs
int analysisPt

Detailed Description

Copyright (C) 2004-2008 Tomas Helikar & Mathbio Research Group, Department of Mathematics, University of Nebraska at Omaha

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

DESCRIPTION

The plugin manager class is a class used by Simulation as a container for PluginWrappers. PluginManager takes care of loading all of the plugins, initializing them, running data between them and the main simulation and closing them after the simulation.


Constructor & Destructor Documentation

PluginManager::PluginManager ( void   ) 

PluginManager constructor, initializes values

PluginManager::~PluginManager ( void   ) 

PluginManager destructor, empty


Member Function Documentation

void PluginManager::close ( void   ) 

close ensures that each plugin is closed

bool PluginManager::fileChange (  )  [inline]
string PluginManager::getLogic ( void   )  [inline]
string PluginManager::getSpecs ( void   )  [inline]
void PluginManager::initialize ( void   ) 

initialize is called once while the program is starting up, It allows plugins to setup any variables they need to.

void PluginManager::loadPlugins ( string  path  ) 

loadPlugins opens path/config.txt and loads all plugins listed in that file

void PluginManager::midSim ( NodeList n  ) 

midSim is called during every simulation step, PluginManager then provides to each plugin the current level of any requested boolean node as well as then setting the level of any requested Input node.

As with preSim, the plugins are called in the order provided in config.txt and multiple plugins doing similar things may cause errors.

void PluginManager::postSim ( void   ) 

postSim calls the postSim function on each plugin

void PluginManager::preSim ( void   ) 

preSim is called before each new Simulation, in case any plugin wants to change input files every simulation. It provides to all plugins the specs and logic files, and then asks them if they would like to make any changes. If there are modifications to an input file the PluginManager takes the new file and provides it to the simulation, and to all other plugins as well.

It is important to note that plugins are called in the order they are listed in the config file and if pluginOne makes a change to the files and then pluginTwo makes a change pluginOne is not consulted. Because of this multiple plugins performing similar modifications may cause erroneuos behavior.

void PluginManager::setAnalysisPoint ( int  i  )  [inline]
void PluginManager::setDUMP ( string  s  )  [inline]
void PluginManager::setLogic ( string  s  )  [inline]
void PluginManager::setOutFile ( string  s  )  [inline]
void PluginManager::setROOTDIR ( string  s  )  [inline]
void PluginManager::setRunName ( string  s  )  [inline]
void PluginManager::setSIMDIR ( string  s  )  [inline]
void PluginManager::setSpecs ( string  s  )  [inline]
void PluginManager::setT ( int  i  )  [inline]

Member Data Documentation

string PluginManager::DUMP [private]
int PluginManager::lastCalc [private]
string PluginManager::logic [private]
string PluginManager::outFile [private]
string PluginManager::ROOTDIR [private]
string PluginManager::RunName [private]
string PluginManager::SIMDIR [private]
string PluginManager::specs [private]
int PluginManager::t [private]

The documentation for this class was generated from the following files:

Generated on Fri May 7 00:40:43 2010 for ChemChains by  doxygen 1.6.1