45 lines
762 B
C++
45 lines
762 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, 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;
|
|
};
|
|
|
|
|
|
}
|