#pragma once #include "GnsPort.hpp" #include <string> #include <vector> namespace gns { class GnsProject; /** * Represent a GNS3 node */ class GnsNode { public: GnsNode(const GnsProject* project, const std::string& uuid, const std::vector<GnsPort>& ports); /** * Get the base URL for the node API * @return the base URL for the node API */ [[nodiscard]] std::string getApiBase() const; /** * Get the uuid of the node * @return the uuid of the node */ [[nodiscard]] std::string getUuid() const; /** * Get the ports of the node * @return the ports of the node */ [[nodiscard]] std::vector<GnsPort> getPorts() const; /** * Start the node */ void start() const; private: const GnsProject* project; std::string uuid; std::vector<GnsPort> ports; }; }