28 lines
734 B
C++
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;
|
|
};
|
|
|