bettola/common/src/command_processor.h

25 lines
552 B
C++

#pragma once
#include <lua_processor.h>
#include <string>
#include <map>
#include "vfs.h"
class CommandProcessor {
public:
CommandProcessor(vfs_node* home_vfs, std::map<std::string, vfs_node*>& world_vfs);
~CommandProcessor(void);
std::string process_command(const std::string& command);
vfs_node* get_current_dir(void);
private:
std::string _handle_vfs_action(sol::table action);
vfs_node* home_vfs_root;
vfs_node* session_vfs_root;
vfs_node* _current_dir;
std::map<std::string, vfs_node*>& _world_vfs;
LuaProcessor* _lua;
};