OpenWalnut 1.2.5
|
Class loading project files. More...
#include <WProjectFile.h>
Public Member Functions | |
WProjectFile (boost::filesystem::path project) | |
Default constructor. | |
virtual | ~WProjectFile () |
Destructor. | |
virtual void | load () |
Parses the project file and applies it. | |
virtual void | save () |
Saves the current state to the file specified in the constructor. | |
virtual void | save (const std::vector< boost::shared_ptr< WProjectFileIO > > &writer) |
Saves the current state to the file specified in the constructor. | |
Static Public Member Functions | |
static boost::shared_ptr < WProjectFileIO > | getCameraWriter () |
Returns an instance of the Camera writer. | |
static boost::shared_ptr < WProjectFileIO > | getModuleWriter () |
Returns an instance of the module writer. | |
static boost::shared_ptr < WProjectFileIO > | getROIWriter () |
Returns an instance of the ROI writer. | |
Protected Member Functions | |
virtual void | threadMain () |
Function that has to be overwritten for execution. | |
Protected Attributes | |
boost::filesystem::path | m_project |
The project file to parse. | |
std::vector< boost::shared_ptr < WProjectFileIO > > | m_parsers |
The parser instances. |
Class loading project files.
This class opens an file and reads it line by line. It delegates the actual parsing to each of the known WProjectFileIO instances which then do their job.
Definition at line 45 of file WProjectFile.h.
WProjectFile::WProjectFile | ( | boost::filesystem::path | project | ) | [explicit] |
Default constructor.
It does NOT parse the file. Parsing is done by apply().
project | the project file to load. |
Definition at line 40 of file WProjectFile.cpp.
References m_parsers.
WProjectFile::~WProjectFile | ( | ) | [virtual] |
boost::shared_ptr< WProjectFileIO > WProjectFile::getCameraWriter | ( | ) | [static] |
Returns an instance of the Camera writer.
Definition at line 63 of file WProjectFile.cpp.
boost::shared_ptr< WProjectFileIO > WProjectFile::getModuleWriter | ( | ) | [static] |
Returns an instance of the module writer.
Definition at line 68 of file WProjectFile.cpp.
boost::shared_ptr< WProjectFileIO > WProjectFile::getROIWriter | ( | ) | [static] |
Returns an instance of the ROI writer.
Definition at line 73 of file WProjectFile.cpp.
void WProjectFile::load | ( | ) | [virtual] |
Parses the project file and applies it.
It applies the project file asynchronously!
Definition at line 78 of file WProjectFile.cpp.
References WKernel::getRootContainer(), WKernel::getRunningKernel(), and WThreadedRunner::run().
void WProjectFile::save | ( | ) | [virtual] |
Saves the current state to the file specified in the constructor.
Definition at line 109 of file WProjectFile.cpp.
References m_parsers.
void WProjectFile::save | ( | const std::vector< boost::shared_ptr< WProjectFileIO > > & | writer | ) | [virtual] |
Saves the current state to the file specified in the constructor.
This also supports a custom list of writers. This is useful to only write some parts of the state.
writer | the list of writers to use. |
Definition at line 87 of file WProjectFile.cpp.
References wlog::info(), and m_project.
void WProjectFile::threadMain | ( | ) | [protected, virtual] |
Function that has to be overwritten for execution.
It gets executed in a separate thread after run() has been called.
Reimplemented from WThreadedRunner.
Definition at line 114 of file WProjectFile.cpp.
References wlog::error(), WKernel::getRootContainer(), WKernel::getRunningKernel(), wlog::info(), m_parsers, m_project, and wlog::warn().
std::vector< boost::shared_ptr< WProjectFileIO > > WProjectFile::m_parsers [protected] |
The parser instances.
They are used to parse the file.
Definition at line 117 of file WProjectFile.h.
Referenced by save(), threadMain(), WProjectFile(), and ~WProjectFile().
boost::filesystem::path WProjectFile::m_project [protected] |
The project file to parse.
Definition at line 112 of file WProjectFile.h.
Referenced by save(), and threadMain().