+ /* 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;
+
+#ifndef DOXYGEN
+ friend kernel::resource::VirtualMachineImpl; // calls signals from Impl
+ friend kernel::resource::HostImpl; // call private constructor
+ explicit VirtualMachine(kernel::resource::VirtualMachineImpl* impl);
+#endif
+