gns3-wol-emulator/source/gns3/GnsProject.hpp

45 lines
769 B
C++

#pragma once
#include <string>
#include <vector>
#include "GnsNode.hpp"
namespace gns {
class GnsServer;
/**
* Represent a GNS3 project.
*/
class GnsProject {
public:
GnsProject(const GnsServer* server, const std::string& uuid);
/**
* Get the base prefix for an API request
* @return the base prefix for an API request
*/
[[nodiscard]] std::string getApiBase() const;
/**
* Get the uuid of the project
* @return the uuid of the project
*/
[[nodiscard]] std::string getUuid() const;
/**
* Get all the nodes of the project
* @return all the nodes of the project
*/
[[nodiscard]] std::vector<GnsNode> getNodes() const;
private:
const GnsServer* server;
std::string uuid;
};
}