#pragma once #include "GnsPort.hpp" #include #include namespace gns { class GnsProject; /** * Represent a GNS3 node */ class GnsNode { public: GnsNode(const GnsProject* project, std::string uuid, const std::vector& 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 getPorts() const; /** * Start the node */ void start() const; private: const GnsProject* project; std::string uuid; std::vector ports; }; }