PluginManager Class Reference
#include <PluginManager.h>
List of all members.
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
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::~PluginManager |
( |
void |
|
) |
|
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
The documentation for this class was generated from the following files: