-public:
- explicit VirtualMachine(const std::string& name, Host* physical_host, int core_amount);
- explicit VirtualMachine(const std::string& name, Host* physical_host, int core_amount, size_t ramsize);
+ /* Signals about the life cycle of the VM */
+ static xbt::signal<void(VirtualMachine&)> on_vm_creation;
+ static xbt::signal<void(VirtualMachine const&)> on_start;
+ xbt::signal<void(VirtualMachine const&)> on_this_start;
+ static xbt::signal<void(VirtualMachine const&)> on_started;
+ xbt::signal<void(VirtualMachine const&)> on_this_started;
+ static xbt::signal<void(VirtualMachine const&)> on_shutdown;
+ xbt::signal<void(VirtualMachine const&)> on_this_shutdown;
+ static xbt::signal<void(VirtualMachine const&)> on_suspend;
+ xbt::signal<void(VirtualMachine const&)> on_this_suspend;
+ static xbt::signal<void(VirtualMachine const&)> on_resume;
+ xbt::signal<void(VirtualMachine const&)> on_this_resume;
+ static xbt::signal<void(VirtualMachine const&)> on_migration_start;
+ xbt::signal<void(VirtualMachine const&)> on_this_migration_start;
+ static xbt::signal<void(VirtualMachine const&)> on_migration_end;
+ xbt::signal<void(VirtualMachine const&)> on_this_migration_end;
+ static xbt::signal<void(VirtualMachine const&)> on_vm_destruction;
+ xbt::signal<void(VirtualMachine const&)> on_this_vm_destruction;