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