8 #include <rtti/object.h>
9 #include "utility/fileutils.h"
41 std::string mFilename;
72 std::string mServiceConfigFilename = {};
78 bool isEditorMode()
const;
83 std::string getFilename()
const;
88 std::string getProjectDir()
const;
93 std::string getNAPRootDir()
const;
98 std::string getBuildDir()
const;
103 std::vector<std::string> getModuleDirectories()
const;
109 std::string getDataFile()
const;
114 std::string getDataDirectory()
const;
122 std::string getIniDir()
const;
131 std::string getIniFilePath(
const std::string& name)
const;
139 bool hasServiceConfigFile()
const;
160 void patchPath(std::string& path,
const std::unordered_map<std::string, std::string>& additionalValues = {})
const;
175 void patchPaths(std::vector<std::string>& paths,
const std::unordered_map<std::string, std::string>& additionalValues = {})
const;
181 std::unique_ptr<ProjectInfo> clone()
const;
192 std::unordered_map<std::string, std::string> getTemplateValues(
const std::unordered_map<std::string, std::string>& additionalValues)
const;
193 std::string mFilename;
194 std::unique_ptr<PathMapping> mPathMapping;
195 EContext mContext = EContext::Application;
197 std::string mProjectDir;
209 std::vector<std::
string> mRequiredModules;
210 std::vector<std::
string> mLibSearchPaths;
211 std::vector<std::
string> mDataSearchPaths;
216 std::
string getFilename() const;
221 std::
string getDirectory() const;
229 std::
string mFilename;
std::string mDefaultData
Property: 'Data' relative path to the application content (json) file.
Definition: projectinfo.h:70
std::string mBuildPath
Relative path to the build output directory.
Definition: projectinfo.h:38
std::string mProjectExeToRoot
Relative path from project to executable.
Definition: projectinfo.h:35
constexpr const char * iniExtension
.ini file extension, used to (re)-store module specific settings in between sessions
Definition: projectinfo.h:19
uint8_t uint8
Definition: numeric.h:16
std::string mVersion
Property: 'Version' project version.
Definition: projectinfo.h:69
Definition: errorstate.h:19
EContext
Definition: projectinfo.h:62
constexpr const char * dataDir
Default data directory.
Definition: projectinfo.h:20
std::string mNapkinExeToRoot
Relative path from napkin to executable.
Definition: projectinfo.h:36
Definition: projectinfo.h:26
std::vector< std::string > mRequiredModules
Property: 'RequiredModules' names of modules this project depends on.
Definition: projectinfo.h:73
std::string mTitle
Property: 'Title' project title.
Definition: projectinfo.h:68
constexpr const char * iniDirectory
.ini directory, holds files used to (re)-store module specific settings in between sessions
Definition: projectinfo.h:18
Definition: modulemanager.h:86
Definition: projectinfo.h:204
std::string mPathMappingFile
Property: 'PathMapping' relative path to the path mapping file.
Definition: projectinfo.h:71
Definition: templateapp.h:17
Definition: projectinfo.h:53
std::vector< std::string > mModulePaths
Relative paths to the module directories.
Definition: projectinfo.h:37
const std::string & getFilename() const
Definition: projectinfo.h:33