#include"modelCDMFolder.h"
#include"modelCDMApplication.h"
+/**
+ * Represents the appli folder of Crea project. The appli folder holds the applications of a project.
+ */
class modelCDMAppli : public modelCDMFolder
{
public:
+ /**
+ * Default constructor.
+ */
modelCDMAppli();
+ /**
+ * Constructor of the appli folder node.
+ * @param parent Parent node of the appli node.
+ * @param path Full path of the appli node.
+ * @param name Folder name of the appli node. By default "appli"
+ * @param level Folder Level in the project hierarchy. By default 1
+ */
modelCDMAppli(modelCDMIProjectTreeNode* parent, const std::string& path, const std::string& name = "appli", const int& level = 1);
+ /**
+ * Destructor.
+ */
~modelCDMAppli();
+ /**
+ * Retrieves the applications inside the appli folder node.
+ * @return Reference array of the applications in the appli node.
+ */
const std::vector<modelCDMApplication*>& GetApplications() const;
+ /**
+ * Creates a new application in the system and creates an application node. This node is stored in the applications attribute and returned.
+ * @param name Name of the new application.
+ * @param result Result message of the operation.
+ * @return Reference to the created application or NULL.
+ */
modelCDMApplication* CreateApplication(
const std::string& name,
std::string*& result
);
+ /**
+ * Refreshes the file structure of the appli node. Deletes deleted folders and files and creates created files and folders since lasts refresh.
+ * @param result Result message of the operation.
+ * @return True if the operation was successful.
+ */
virtual const bool Refresh(std::string*& result);
+ /**
+ * Checks the CMakeLists structure and the applications in order to look for compilation errors before compiling.
+ * @param properties Properties found in the structure.
+ */
void CheckStructure(std::map<std::string, bool>& properties);
private:
+ /**
+ * application in the appli folder node.
+ */
std::vector<modelCDMApplication*> applications;
};