#pragma once #include #include "vfs.h" class Session; class NetworkManager; namespace api { /* FILESYSTEM ACTIONS. */ vfs_node* get_current_dir(Session& context); std::string rm(Session& context, const std::string& filename); std::string write_file(Session& context, const std::string& path, const std::string& content); std::string create_executable(Session& context, const std::string& path, const std::string& content); std::string read_file(Session& context, const std::string& path); std::string ls(Session& context); std::string cd(Session& context, const std::string& path); std::string scp(Session& context, const std::string& source, const std::string& destination); std::string chown(Session& context, const std::string& owner, const std::string& path); std::string chgrp(Session& context, const std::string& group, const std::string& path); /* NETWORK ACTIONS. */ std::string ssh(Session& context, const std::string& ip); std::string nmap(Session& context, const std::string& ip); std::string disconnect(Session& context); /* SYSTEM ACTIONS. */ std::string get_username(Session& context); std::string close_terminal(Session& context); } /* namespace api */