40 #ifndef __OPENFLUID_UTILS_GRASSGISPROXY_HPP__ 41 #define __OPENFLUID_UTILS_GRASSGISPROXY_HPP__ 47 #include <QStringList> 66 QStringList m_JobLines;
72 static void findGrassGISProgram();
74 static QString getCommandLine(
const QString& Command,
75 const std::map<QString,QString> Arguments = {},
76 const std::vector<QString> Options = {});
78 static QString writeJobFile(
const QStringList& Lines,
const QString& DirPath);
80 int executeGrassJob(
const QString& JobFilePath)
const;
82 int executeGrassJobReturningData(
const QString& JobFilePath, QStringList& Lines)
const;
87 GrassGISProxy(
const QString& GISBase,
const QString& Location,
const QString& Mapset =
"PERMANENT");
91 static bool isAvailable();
98 { m_Location = Location; };
105 { m_Mapset = Mapset; }
111 { m_JobLines.clear(); };
119 void appendTask(
const QString& Command,
120 const std::map<QString,QString> Arguments = {},
121 const std::vector<QString> Options = {});
136 int runSingleTask(
const QString& Command,
137 const std::map<QString,QString> Arguments = {},
138 const std::vector<QString> Options = {})
const;
146 { m_OutputFile = FullPath; }
154 { m_ErrorFile = FullPath; }
161 {
return m_JobLines; }
168 bool isLocationExist()
const;
177 bool createLocation(
const QString& EPSG)
const;
184 std::map<std::string,double> region()
const;
191 std::map<std::string,std::string> gisenv()
const;
198 std::vector<std::string> mapsets()
const;
Definition: ProgramProxy.hpp:51
Definition: GrassGISProxy.hpp:56
void setOutputFile(const QString &FullPath)
Definition: GrassGISProxy.hpp:145
#define OPENFLUID_API
Definition: dllexport.hpp:87
void setErrorFile(const QString &FullPath)
Definition: GrassGISProxy.hpp:153
void setLocation(const QString &Location)
Definition: GrassGISProxy.hpp:97
const QStringList & jobLines() const
Definition: GrassGISProxy.hpp:160
void setMapset(const QString &Mapset)
Definition: GrassGISProxy.hpp:104
void clearTasks()
Definition: GrassGISProxy.hpp:110
Definition: ApplicationException.hpp:47