]> Creatis software - crea.git/blobdiff - lib/creaDevManagerLib/modelCDMAppli.h
Feature #1711
[crea.git] / lib / creaDevManagerLib / modelCDMAppli.h
index c37924d246719c37b399cc344fed5b3d99fc5572..579f12a2105e859710a5898c6e6cda0b783466ce 100644 (file)
 
 #include<iostream>
 #include<vector>
+#include<map>
 
 #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();
-  modelCDMAppli(const std::string& path, const int& level = 1);
+  /**
+   * 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 type 0=console application, 1=GUI Application (wxWidgets).
+   * @param result Result message of the operation.
+   * @return Reference to the created application or NULL.
+   */
   modelCDMApplication* CreateApplication(
       const std::string& name,
-      std::string*& result,
-      const std::string& path = "/"
+      const int& type,
+      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;
 };