LisSolver
The GeMA Lis Numeric Solver Plugin
Loading...
Searching...
No Matches
lisSolverFactory.h
Go to the documentation of this file.
1/************************************************************************
2**
3** Copyright (C) 2014 by Carlos Augusto Teixera Mendes
4** All rights reserved.
5**
6** This file is part of the "GeMA" software. It's use should respect
7** the terms in the license agreement that can be found together
8** with this source code.
9** It is provided AS IS, with NO WARRANTY OF ANY KIND,
10** INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR
11** A PARTICULAR PURPOSE.
12**
13************************************************************************/
14
24#ifndef _GEMA_LIS_SOLVER_FACTORY_H_
25#define _GEMA_LIS_SOLVER_FACTORY_H_
26
27#include <QObject>
28
30#include "lisSolver.h"
31#include "lisSolverVersion.h"
32
33extern "C" {
34#include <lis.h>
35}
36
37
40{
42 Q_PLUGIN_METADATA(IID GmPluginObjectFactoryInterfaceIID)
44
45public:
51
56
57 // See comments on the base class method declaration
58 virtual GmPluginObject* instance(QString category, QString objType, GmSimulationData* simulation,
59 QString id, QString description)
60 {
61 assert(category == GM_PLUGIN_NUMSOLVER);
62
63 if(objType != "lis")
64 return NULL;
65
66 return new LisSolver(simulation, id, description, logger());
67 }
68
70 virtual const QMap<QString, QString>& versionInfo() const { return LisSolverVersionInfo(); }
71
73 virtual const QStringList& depVersionInfo() const { return LisSolverRevisionDependencies(); }
74};
75
76#endif
77
const GmLogCategory & logger()
Implementation of the LisSolver factory plugin.
Definition lisSolverFactory.h:40
LisSolverFactory()
Default constructor.
Definition lisSolverFactory.h:47
virtual ~LisSolverFactory()
Destructor.
Definition lisSolverFactory.h:53
virtual const QMap< QString, QString > & versionInfo() const
Retuns version information for the plugin. See comments on the base class.
Definition lisSolverFactory.h:70
virtual const QStringList & depVersionInfo() const
Retuns dependency version information for the plugin. See comments on the base class.
Definition lisSolverFactory.h:73
A class for creating a GeMA solver based on th Lis library.
Definition lisSolver.h:43
static void libraryInit(const GmLogCategory &logger)
Initializes the Lis library on plugin loading.
Definition lisSolver.cpp:65
static void libraryFinalize()
Closes the Lis library on plugin destruction.
Definition lisSolver.cpp:99
#define GmPluginObjectFactoryInterfaceIID
Declaration of the LisSolver classes.
Q_INTERFACES(...)
Q_OBJECTQ_OBJECT