Subversion Repositories public iLand

Rev

Rev 1221 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
678 werner 1
/********************************************************************************************
2
**    iLand - an individual based forest landscape and disturbance model
3
**    http://iland.boku.ac.at
4
**    Copyright (C) 2009-  Werner Rammer, Rupert Seidl
5
**
6
**    This program is free software: you can redistribute it and/or modify
7
**    it under the terms of the GNU General Public License as published by
8
**    the Free Software Foundation, either version 3 of the License, or
9
**    (at your option) any later version.
10
**
11
**    This program is distributed in the hope that it will be useful,
12
**    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
**    GNU General Public License for more details.
15
**
16
**    You should have received a copy of the GNU General Public License
17
**    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
********************************************************************************************/
19
 
20
#ifndef CONSOLESHELL_H
21
#define CONSOLESHELL_H
22
#include <QObject>
837 werner 23
#include <QStringList>
678 werner 24
/** ConsoleShell encapsulates the iLand model
25
    when used in the console application ("ilandc.exe")
26
*/
27
 
28
class QTextStream;
29
class ConsoleShell: public QObject
30
{
31
    Q_OBJECT
32
public:
33
    ConsoleShell();
34
    static QTextStream* logStream() {return mLogStream; }
1087 werner 35
    static bool flush() { return mFlushLog; }
678 werner 36
public slots:
37
    void run(); // execute the iLand model
38
    void runYear(int year); // slot called every year
39
private:
837 werner 40
    QStringList mParams;
1087 werner 41
    static bool mFlushLog; // immediately flush output to the logfile
678 werner 42
    void setupLogging();
837 werner 43
    void runJavascript(const QString key);
678 werner 44
    static QTextStream *mLogStream;
45
};
46
 
47
#endif // CONSOLESHELL_H