-/* Copyright (c) 2004-2013. The SimGrid Team.
+/* Copyright (c) 2004-2014. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
/** @ingroup SURF_callbacks
* @brief Callbacks handler which emit the callbacks after WorkstationVM creation *
- * @detail Callback functions have the following signature: `void(WorkstationVMPtr)`
+ * @details Callback functions have the following signature: `void(WorkstationVMPtr)`
*/
extern surf_callback(void, WorkstationVMPtr) workstationVMCreatedCallbacks;
/** @ingroup SURF_callbacks
* @brief Callbacks handler which emit the callbacks after WorkstationVM destruction *
- * @detail Callback functions have the following signature: `void(WorkstationVMPtr)`
+ * @details Callback functions have the following signature: `void(WorkstationVMPtr)`
*/
extern surf_callback(void, WorkstationVMPtr) workstationVMDestructedCallbacks;
/** @ingroup SURF_callbacks
* @brief Callbacks handler which emit the callbacks after WorkstationVM State changed *
- * @detail Callback functions have the following signature: `void(WorkstationVMActionPtr)`
+ * @details Callback functions have the following signature: `void(WorkstationVMActionPtr)`
*/
extern surf_callback(void, WorkstationVMPtr) workstationVMStateChangedCallbacks;
virtual void createResource(const char *name, void *ind_phys_workstation)=0;
void adjustWeightOfDummyCpuActions() {};
+
+ typedef boost::intrusive::list<WorkstationVM,
+ boost::intrusive::constant_time_size<false> >
+ vm_list_t;
+ static vm_list_t ws_vms;
};
/************
* @brief SURF workstation VM interface class
* @details A workstation VM represent an virtual machine
*/
-class WorkstationVM : public Workstation {
+class WorkstationVM : public Workstation,
+ public boost::intrusive::list_base_hook<> {
public:
/**
* @brief WorkstationVM consrtructor