39 #ifndef __OPENFLUID_UTILS_GRASSGISPROXY_HPP__ 40 #define __OPENFLUID_UTILS_GRASSGISPROXY_HPP__ 46 #include <QStringList> 65 QStringList m_JobLines;
71 static void findGrassGISProgram();
73 static QString getCommandLine(
const QString& Command,
74 const std::map<QString,QString> Arguments = {},
75 const std::vector<QString> Options = {});
77 static QString writeJobFile(
const QStringList& Lines,
const QString& DirPath);
79 int executeGrassJob(
const QString& JobFilePath)
const;
81 int executeGrassJobReturningData(
const QString& JobFilePath, QStringList& Lines)
const;
88 GrassGISProxy(
const QString& GISBase,
const QString& Location,
const QString& Mapset =
"PERMANENT");
92 static bool isAvailable();
99 { m_Location = Location; };
106 { m_Mapset = Mapset; }
112 { m_JobLines.clear(); };
120 void appendTask(
const QString& Command,
121 const std::map<QString,QString> Arguments = {},
122 const std::vector<QString> Options = {});
137 int runSingleTask(
const QString& Command,
138 const std::map<QString,QString> Arguments = {},
139 const std::vector<QString> Options = {})
const;
147 { m_OutputFile = FullPath; }
155 { m_ErrorFile = FullPath; }
162 {
return m_JobLines; }
169 bool isLocationExist()
const;
178 bool createLocation(
const QString& EPSG)
const;
185 std::map<std::string,double> region()
const;
192 std::map<std::string,std::string> gisenv()
const;
199 std::vector<std::string> mapsets()
const;
Definition: ApplicationException.hpp:47
void clearTasks()
Definition: GrassGISProxy.hpp:111
Definition: GrassGISProxy.hpp:55
void setLocation(const QString &Location)
Definition: GrassGISProxy.hpp:98
void setErrorFile(const QString &FullPath)
Definition: GrassGISProxy.hpp:154
const QStringList & jobLines() const
Definition: GrassGISProxy.hpp:161
void setMapset(const QString &Mapset)
Definition: GrassGISProxy.hpp:105
void setOutputFile(const QString &FullPath)
Definition: GrassGISProxy.hpp:146
Definition: ProgramProxy.hpp:51
#define OPENFLUID_API
Definition: dllexport.hpp:86