+ bool Connect(std::string*& result, const std::string& folder);
+
+ /**
+ * Checks the CMakeLists files to see what's going to be compiled and what's not.
+ * @param properties Map containing the project compilation properties.
+ */
+ void CheckStructure(std::map<std::string, bool>& properties);
+
+ /**
+ * Checks if the given package is included in the CMakeLists file.
+ * @param package_name Name of the package to check.
+ * @return True if the package is included, otherwise returns False.
+ */
+ bool IsPackageIncluded(const std::string& package_name);
+
+ /**
+ * Sets the inclusion of the package in the project's CMakeLists file. If the package inclusion already exist in file, then the line is uncommented/commented depending on the requested action. If the package inclusion doesn't exist yet, then it is included if the request is an inclusion.
+ * @param package_name Name of the package to include/exclude.
+ * @param toInclude True if the request is an inclusion, False otherwise.
+ * @return True if the request was processed successfully.
+ */
+ bool SetPackageInclude(const std::string& package_name, const bool& toInclude);
+
+ /**
+ * Checks the project folder's CMakeLists file to check which third party libraries are enabled.
+ * @return A map with the name of the library and if it's included in the CMakeLists file.
+ */
+ std::map<std::string, bool> Get3rdPartyLibraries();
+
+ /**
+ * Sets the 3rd party library inclusion in the CMakeLists file.
+ * @return if the operation was successful.
+ */
+ bool Set3rdPartyLibrary(const std::string& library_name, const bool& toInclude);