bettola/common/src/machine_manager.h

28 lines
734 B
C++

#pragma once
#include <string>
#include "db/database_manager.h"
#include "machine.h"
#include "vfs.h"
/* Recursive copy function for our Copy-on-Write behaviour. */
vfs_node* copy_vfs_node(vfs_node* original, vfs_node* new_parent);
class MachineManager {
public:
MachineManager(DatabaseManager* db_manager);
~MachineManager(void); /* TODO: Implement recursive VFS deletion. */
Machine* create_machine(uint32_t id, const std::string& hostname,
const std::string& system_type);
Machine* load_machine(long long machine_id, DatabaseManager* db_manager);
vfs_node* get_vfs_template(void) { return _vfs_template_root; }
private:
DatabaseManager* _db_manager;
vfs_node* _vfs_template_root;
};