Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[surf] Remove signal-related #defines
authorGabriel Corona <gabriel.corona@loria.fr>
Fri, 18 Dec 2015 15:17:09 +0000 (16:17 +0100)
committerGabriel Corona <gabriel.corona@loria.fr>
Fri, 18 Dec 2015 15:17:09 +0000 (16:17 +0100)
25 files changed:
doc/doxygen/inside_extending.doc
doc/doxygen/options.doc
src/bindings/java/surf_swig.cpp
src/surf/cpu_interface.cpp
src/surf/cpu_interface.hpp
src/surf/host_interface.cpp
src/surf/host_interface.hpp
src/surf/host_ptask_L07.cpp
src/surf/network_cm02.cpp
src/surf/network_constant.cpp
src/surf/network_ib.cpp
src/surf/network_interface.cpp
src/surf/network_interface.hpp
src/surf/network_ns3.cpp
src/surf/plugins/energy.cpp
src/surf/storage_interface.cpp
src/surf/storage_interface.hpp
src/surf/storage_n11.cpp
src/surf/surf_interface.cpp
src/surf/surf_interface.hpp
src/surf/surf_routing.cpp
src/surf/surf_routing.hpp
src/surf/virtual_machine.cpp
src/surf/virtual_machine.hpp
src/surf/vm_hl13.cpp

index 7d00215a3bbc89e0f27656b077c0000e03f777e2..d232f9ff943d15656c42a2e5ea0031457dfea491 100644 (file)
@@ -95,12 +95,9 @@ static void MyNetworkCommunicationCallback(NetworkActionPtr cpu,
 }
 
 void sg_my_network_plugin_init() {
 }
 
 void sg_my_network_plugin_init() {
-  surf_callback_connect(networkLinkCreatedCallbacks,
-                        MyNetworkLinkCreatedCallback);
-  surf_callback_connect(networkLinkDestructedCallbacks,
-                        MyNetworkLinkDestructedCallback);
-  surf_callback_connect(networkCommunicationCallbacks,
-                        MyNetworkCommunicationCallback);
+  networkLinkCreatedCallbacks.connect(MyNetworkLinkCreatedCallback);
+  networkLinkDestructedCallbacks.connect(MyNetworkLinkDestructedCallback);
+  networkCommunicationCallbacks.connect(MyNetworkCommunicationCallback);
 }
 ~~~~
 
 }
 ~~~~
 
index 3bc5f7b636adbd168fcf319d37db7366c1f99b4e..9c56366cca9050553e41b2540e874fead0a43e6e 100644 (file)
@@ -153,7 +153,8 @@ existing classes (for instance, a class "CpuEnergy" inherits from
 "Cpu" to assess energy consumption).
 
 The plugin connects to the code by registering callbacks using
 "Cpu" to assess energy consumption).
 
 The plugin connects to the code by registering callbacks using
-``surf_callback_register`` (see file ``src/surf/plugins/energy.cpp`` for details).
+``signal.connect(callback)`` (see file ``src/surf/plugins/energy.cpp`` for
+details).
 
 \verbatim
     --cfg=plugin:Energy
 
 \verbatim
     --cfg=plugin:Energy
index 972ef476e720033d152821e2c23e166d3125cf56..3bb9c26cf5663f06efade4323b7353c69778c995 100644 (file)
@@ -62,56 +62,56 @@ LinkDynar getRoute(char *srcName, char *dstName) {
 
 void Plugin::activateCpuCreatedCallback()
 {
 
 void Plugin::activateCpuCreatedCallback()
 {
-  surf_callback_connect(simgrid::surf::cpuCreatedCallbacks,
+  simgrid::surf::cpuCreatedCallbacks.connect(
     std::bind(&Plugin::cpuCreatedCallback, this, _1));
 }
 
 void Plugin::activateCpuDestructedCallback()
 {
     std::bind(&Plugin::cpuCreatedCallback, this, _1));
 }
 
 void Plugin::activateCpuDestructedCallback()
 {
-  surf_callback_connect(simgrid::surf::cpuDestructedCallbacks,
+  simgrid::surf::cpuDestructedCallbacks.connect(
     std::bind(&Plugin::cpuDestructedCallback, this, _1));
 }
 
 void Plugin::activateCpuStateChangedCallback()
 {
     std::bind(&Plugin::cpuDestructedCallback, this, _1));
 }
 
 void Plugin::activateCpuStateChangedCallback()
 {
-  surf_callback_connect(simgrid::surf::cpuStateChangedCallbacks,
+  simgrid::surf::cpuStateChangedCallbacks.connect(
     std::bind(&Plugin::cpuStateChangedCallback, this, _1, _2, _3));
 }
 
 void Plugin::activateCpuActionStateChangedCallback()
 {
     std::bind(&Plugin::cpuStateChangedCallback, this, _1, _2, _3));
 }
 
 void Plugin::activateCpuActionStateChangedCallback()
 {
-  surf_callback_connect(simgrid::surf::cpuActionStateChangedCallbacks,
+  simgrid::surf::cpuActionStateChangedCallbacks.connect(
     std::bind(&Plugin::cpuActionStateChangedCallback, this, _1, _2, _3));
 }
 
 
 void Plugin::activateLinkCreatedCallback()
 {
     std::bind(&Plugin::cpuActionStateChangedCallback, this, _1, _2, _3));
 }
 
 
 void Plugin::activateLinkCreatedCallback()
 {
-  surf_callback_connect(simgrid::surf::networkLinkCreatedCallbacks,
+  simgrid::surf::networkLinkCreatedCallbacks.connect(
     std::bind(&Plugin::networkLinkCreatedCallback, this, _1));
 }
 
 void Plugin::activateLinkDestructedCallback()
 {
     std::bind(&Plugin::networkLinkCreatedCallback, this, _1));
 }
 
 void Plugin::activateLinkDestructedCallback()
 {
-  surf_callback_connect(simgrid::surf::networkLinkDestructedCallbacks,
+  simgrid::surf::networkLinkDestructedCallbacks.connect(
     std::bind(&Plugin::networkLinkDestructedCallback, this, _1));
 }
 
 void Plugin::activateLinkStateChangedCallback()
 {
     std::bind(&Plugin::networkLinkDestructedCallback, this, _1));
 }
 
 void Plugin::activateLinkStateChangedCallback()
 {
-  surf_callback_connect(simgrid::surf::networkLinkStateChangedCallbacks,
+  simgrid::surf::networkLinkStateChangedCallbacks.connect(
     std::bind(&Plugin::networkLinkStateChangedCallback, this, _1, _2, _3));
 }
 
 void Plugin::activateNetworkActionStateChangedCallback()
 {
     std::bind(&Plugin::networkLinkStateChangedCallback, this, _1, _2, _3));
 }
 
 void Plugin::activateNetworkActionStateChangedCallback()
 {
-  surf_callback_connect(simgrid::surf::networkActionStateChangedCallbacks,
+  simgrid::surf::networkActionStateChangedCallbacks.connect(
     std::bind(&Plugin::networkActionStateChangedCallback, this, _1, _2, _3));
 }
 
 void Plugin::activateNetworkCommunicateCallback()
 {
     std::bind(&Plugin::networkActionStateChangedCallback, this, _1, _2, _3));
 }
 
 void Plugin::activateNetworkCommunicateCallback()
 {
-  surf_callback_connect(simgrid::surf::networkCommunicateCallbacks,
+  simgrid::surf::networkCommunicateCallbacks.connect(
     std::bind(&Plugin::networkCommunicateCallback, this, _1, _2, _3, _4, _5));
 }
 
     std::bind(&Plugin::networkCommunicateCallback, this, _1, _2, _3, _4, _5));
 }
 
index bd28c4d289ef6f355cc7d9e0600c7f2c3fa0329c..feca4113d02efc88df40818baaf02af1f64fc9f3 100644 (file)
@@ -38,10 +38,10 @@ Cpu *getActionCpu(CpuAction *action) {
                                         action->getVariable(), 0)));
 }
 
                                         action->getVariable(), 0)));
 }
 
-surf_callback(void, Cpu*) cpuCreatedCallbacks;
-surf_callback(void, Cpu*) cpuDestructedCallbacks;
-surf_callback(void, Cpu*, e_surf_resource_state_t, e_surf_resource_state_t) cpuStateChangedCallbacks;
-surf_callback(void, CpuAction*, e_surf_action_state_t, e_surf_action_state_t) cpuActionStateChangedCallbacks;
+simgrid::surf::signal<void(Cpu*)> cpuCreatedCallbacks;
+simgrid::surf::signal<void(Cpu*)> cpuDestructedCallbacks;
+simgrid::surf::signal<void(Cpu*, e_surf_resource_state_t, e_surf_resource_state_t)> cpuStateChangedCallbacks;
+simgrid::surf::signal<void(CpuAction*, e_surf_action_state_t, e_surf_action_state_t)> cpuActionStateChangedCallbacks;
 void cpu_add_traces(){
   surf_cpu_model_pm->addTraces();
 }
 void cpu_add_traces(){
   surf_cpu_model_pm->addTraces();
 }
@@ -193,7 +193,7 @@ Cpu::Cpu(Model *model, const char *name,
 
 void Cpu::onDie()
 {
 
 void Cpu::onDie()
 {
-  surf_callback_emit(cpuDestructedCallbacks, this);
+  cpuDestructedCallbacks(this);
   Resource::onDie();
 }
 
   Resource::onDie();
 }
 
@@ -235,7 +235,7 @@ void Cpu::setState(e_surf_resource_state_t state)
 {
   e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
 {
   e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
-  surf_callback_emit(cpuStateChangedCallbacks, this, old, state);
+  cpuStateChangedCallbacks(this, old, state);
 }
 
 void Cpu::plug(simgrid::Host* host)
 }
 
 void Cpu::plug(simgrid::Host* host)
@@ -352,7 +352,7 @@ void CpuAction::setAffinity(Cpu *cpu, unsigned long mask)
 void CpuAction::setState(e_surf_action_state_t state){
   e_surf_action_state_t old = getState();
   Action::setState(state);
 void CpuAction::setState(e_surf_action_state_t state){
   e_surf_action_state_t old = getState();
   Action::setState(state);
-  surf_callback_emit(cpuActionStateChangedCallbacks, this, old, state);
+  cpuActionStateChangedCallbacks(this, old, state);
 }
 
 }
 }
 
 }
index c68e484a26bf36a8f224c56db04ab9eb6906558f..80564a2ff8bee55be9b2241273e8629acec7c4f2 100644 (file)
@@ -31,25 +31,25 @@ XBT_PUBLIC(Cpu*) getActionCpu(CpuAction *action);
  * @brief Callbacks handler which emit the callbacks after Cpu creation *
  * @details Callback functions have the following signature: `void(CpuPtr)`
  */
  * @brief Callbacks handler which emit the callbacks after Cpu creation *
  * @details Callback functions have the following signature: `void(CpuPtr)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, Cpu*)) cpuCreatedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(Cpu*)>) cpuCreatedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after Cpu destruction *
  * @details Callback functions have the following signature: `void(CpuPtr)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after Cpu destruction *
  * @details Callback functions have the following signature: `void(CpuPtr)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, Cpu*)) cpuDestructedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(Cpu*)>) cpuDestructedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after Cpu State changed *
  * @details Callback functions have the following signature: `void(CpuAction *action, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after Cpu State changed *
  * @details Callback functions have the following signature: `void(CpuAction *action, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, Cpu*, e_surf_resource_state_t, e_surf_resource_state_t)) cpuStateChangedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(Cpu*, e_surf_resource_state_t, e_surf_resource_state_t)>) cpuStateChangedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after CpuAction State changed *
  * @details Callback functions have the following signature: `void(CpuAction *action, e_surf_action_state_t old, e_surf_action_state_t current)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after CpuAction State changed *
  * @details Callback functions have the following signature: `void(CpuAction *action, e_surf_action_state_t old, e_surf_action_state_t current)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, CpuAction*, e_surf_action_state_t, e_surf_action_state_t)) cpuActionStateChangedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(CpuAction*, e_surf_action_state_t, e_surf_action_state_t)>) cpuActionStateChangedCallbacks;
 
 XBT_PUBLIC(void) cpu_add_traces();
 
 
 XBT_PUBLIC(void) cpu_add_traces();
 
index 7e9985a2af4cb2d0396bf46595e64e1f90898fa5..54d562fe0e51c960c1aabcf4104abe9478671efe 100644 (file)
@@ -33,10 +33,10 @@ namespace surf {
 
 simgrid::xbt::FacetLevel<simgrid::Host, Host> Host::LEVEL;
 
 
 simgrid::xbt::FacetLevel<simgrid::Host, Host> Host::LEVEL;
 
-surf_callback(void, simgrid::surf::Host*) hostCreatedCallbacks;
-surf_callback(void, simgrid::surf::Host*) hostDestructedCallbacks;
-surf_callback(void, simgrid::surf::Host*, e_surf_resource_state_t, e_surf_resource_state_t) hostStateChangedCallbacks;
-surf_callback(void, simgrid::surf::HostAction*, e_surf_action_state_t, e_surf_action_state_t) hostActionStateChangedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Host*)> hostCreatedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Host*)> hostDestructedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Host*, e_surf_resource_state_t, e_surf_resource_state_t)> hostStateChangedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::HostAction*, e_surf_action_state_t, e_surf_action_state_t)> hostActionStateChangedCallbacks;
 
 /*********
  * Model *
 
 /*********
  * Model *
@@ -109,7 +109,7 @@ Host::Host(simgrid::surf::Model *model, const char *name, xbt_dict_t props, lmm_
 
 void Host::onDie()
 {
 
 void Host::onDie()
 {
-  surf_callback_emit(hostDestructedCallbacks, this);
+  hostDestructedCallbacks(this);
   Resource::onDie();
 }
 
   Resource::onDie();
 }
 
@@ -124,13 +124,13 @@ void Host::attach(simgrid::Host* host)
     xbt_die("Already attached to host %s", host->id().c_str());
   host->set_facet(this);
   p_host = host;
     xbt_die("Already attached to host %s", host->id().c_str());
   host->set_facet(this);
   p_host = host;
-  surf_callback_emit(hostCreatedCallbacks, this);
+  hostCreatedCallbacks(this);
 }
 
 void Host::setState(e_surf_resource_state_t state){
   e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
 }
 
 void Host::setState(e_surf_resource_state_t state){
   e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
-  surf_callback_emit(hostStateChangedCallbacks, this, old, state);
+  hostStateChangedCallbacks(this, old, state);
   p_cpu->setState(state);
 }
 
   p_cpu->setState(state);
 }
 
@@ -378,7 +378,7 @@ void Host::setParams(vm_params_t params)
 void HostAction::setState(e_surf_action_state_t state){
   e_surf_action_state_t old = getState();
   Action::setState(state);
 void HostAction::setState(e_surf_action_state_t state){
   e_surf_action_state_t old = getState();
   Action::setState(state);
-  surf_callback_emit(hostActionStateChangedCallbacks, this, old, state);
+  hostActionStateChangedCallbacks(this, old, state);
 }
 
 }
 }
 
 }
index 4715963c24a20ac60dcd657c7f89c19efefff414..a7c6b51d9ae6e8ac6e30848c5e6cf4fc557d2866 100644 (file)
@@ -33,22 +33,22 @@ class XBT_PRIVATE HostAction;
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired after Host creation. Signature: `void(Host*)`
  */
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired after Host creation. Signature: `void(Host*)`
  */
-XBT_PUBLIC_DATA(surf_callback(void, Host*)) hostCreatedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(Host*)>) hostCreatedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired Host destruction. Signature: `void(Host*)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired Host destruction. Signature: `void(Host*)`
  */
-XBT_PUBLIC_DATA(surf_callback(void, Host*)) hostDestructedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(Host*)>) hostDestructedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired after Host State changed. Signature: `void(Host *, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired after Host State changed. Signature: `void(Host *, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
-XBT_PUBLIC_DATA(surf_callback(void, Host*, e_surf_resource_state_t, e_surf_resource_state_t)) hostStateChangedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(Host*, e_surf_resource_state_t, e_surf_resource_state_t)>) hostStateChangedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired HostAction State changed. Signature: `void(HostAction *, e_surf_action_state_t old, e_surf_action_state_t current)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired HostAction State changed. Signature: `void(HostAction *, e_surf_action_state_t old, e_surf_action_state_t current)`
  */
-XBT_PUBLIC_DATA(surf_callback(void, HostAction*, e_surf_action_state_t, e_surf_action_state_t)) hostActionStateChangedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(HostAction*, e_surf_action_state_t, e_surf_action_state_t)>) hostActionStateChangedCallbacks;
 
 }
 }
 
 }
 }
index 54b101ecb14a283a62cc584f44d79e173ab7bf65..7d4b2122ba0cea803582f5181e89f25ebd5e0ab9 100644 (file)
@@ -331,7 +331,7 @@ Link* NetworkL07Model::createLink(const char *name,
                                         lat_initial, lat_trace,
                                         state_initial, state_trace,
                                         policy);
                                         lat_initial, lat_trace,
                                         state_initial, state_trace,
                                         policy);
-  surf_callback_emit(networkLinkCreatedCallbacks, link);
+  networkLinkCreatedCallbacks(link);
   return link;
 }
 
   return link;
 }
 
index 2002616db76fe08753f8fdf80c305274990e3427..7caca4b74352a746b91a8cc4bdc962ee7c21210a 100644 (file)
@@ -222,7 +222,7 @@ Link* NetworkCm02Model::createLink(const char *name,
 
   Link* link = new NetworkCm02Link(this, name, properties, p_maxminSystem, sg_bandwidth_factor * bw_initial, history,
                                             state_initial, state_trace, bw_initial, bw_trace, lat_initial, lat_trace, policy);
 
   Link* link = new NetworkCm02Link(this, name, properties, p_maxminSystem, sg_bandwidth_factor * bw_initial, history,
                                             state_initial, state_trace, bw_initial, bw_trace, lat_initial, lat_trace, policy);
-  surf_callback_emit(networkLinkCreatedCallbacks, link);
+  networkLinkCreatedCallbacks(link);
   return link;
 }
 
   return link;
 }
 
@@ -466,7 +466,7 @@ Action *NetworkCm02Model::communicate(RoutingEdge *src, RoutingEdge *dst,
   xbt_dynar_free(&route);
   XBT_OUT();
 
   xbt_dynar_free(&route);
   XBT_OUT();
 
-  surf_callback_emit(networkCommunicateCallbacks, action, src, dst, size, rate);
+  networkCommunicateCallbacks(action, src, dst, size, rate);
   return action;
 }
 
   return action;
 }
 
index b9be1fd2ca357e0fbc34602a11e75925bd5c77fa..c6bd1b314ecb986ab4aaba6aaa397db761613c0e 100644 (file)
@@ -95,7 +95,7 @@ Action *NetworkConstantModel::communicate(RoutingEdge *src, RoutingEdge *dst,
   NetworkConstantAction *action = new NetworkConstantAction(this, size, sg_latency_factor);
   XBT_OUT();
 
   NetworkConstantAction *action = new NetworkConstantAction(this, size, sg_latency_factor);
   XBT_OUT();
 
-  surf_callback_emit(networkCommunicateCallbacks, action, src, dst, size, rate);
+  networkCommunicateCallbacks(action, src, dst, size, rate);
   return action;
 }
 
   return action;
 }
 
index 6c7bec7220da5f93181a832bb6b6400726f1f38e..1ba7a30004d93f03104ca052bdb6cac35815eae6 100644 (file)
@@ -98,11 +98,8 @@ void surf_network_model_init_IB(void)
   surf_network_model = new simgrid::surf::NetworkIBModel();
   net_define_callbacks();
   xbt_dynar_push(all_existing_models, &surf_network_model);
   surf_network_model = new simgrid::surf::NetworkIBModel();
   net_define_callbacks();
   xbt_dynar_push(all_existing_models, &surf_network_model);
-  surf_callback_connect(networkActionStateChangedCallbacks,
-    IB_action_state_changed_callback);
-  surf_callback_connect(networkCommunicateCallbacks,
-    IB_action_init_callback);
-
+  networkActionStateChangedCallbacks.connect(IB_action_state_changed_callback);
+  networkCommunicateCallbacks.connect(IB_action_init_callback);
   hostCreatedCallbacks.connect(IB_create_host_callback);
   xbt_cfg_setdefault_double(_sg_cfg_set, "network/weight_S", 8775);
   
   hostCreatedCallbacks.connect(IB_create_host_callback);
   xbt_cfg_setdefault_double(_sg_cfg_set, "network/weight_S", 8775);
   
index 5ae56794da9a369d522abcd77805582fd773143f..34bf4fc1c929acda4a26798e687306d8a05a2766 100644 (file)
@@ -95,11 +95,11 @@ void Link::linksExit() {
  * Callbacks *
  *************/
 
  * Callbacks *
  *************/
 
-surf_callback(void, simgrid::surf::Link*) networkLinkCreatedCallbacks;
-surf_callback(void, simgrid::surf::Link*) networkLinkDestructedCallbacks;
-surf_callback(void, simgrid::surf::Link*, e_surf_resource_state_t, e_surf_resource_state_t) networkLinkStateChangedCallbacks;
-surf_callback(void, simgrid::surf::NetworkAction*, e_surf_action_state_t, e_surf_action_state_t) networkActionStateChangedCallbacks;
-surf_callback(void, simgrid::surf::NetworkAction*, simgrid::surf::RoutingEdge *src, simgrid::surf::RoutingEdge *dst, double size, double rate) networkCommunicateCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Link*)> networkLinkCreatedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Link*)> networkLinkDestructedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Link*, e_surf_resource_state_t, e_surf_resource_state_t)> networkLinkStateChangedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::NetworkAction*, e_surf_action_state_t, e_surf_action_state_t)> networkActionStateChangedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::NetworkAction*, simgrid::surf::RoutingEdge *src, simgrid::surf::RoutingEdge *dst, double size, double rate)> networkCommunicateCallbacks;
 
 }
 }
 
 }
 }
@@ -219,7 +219,7 @@ Link::Link(simgrid::surf::NetworkModel *model, const char *name, xbt_dict_t prop
 
 Link::~Link()
 {
 
 Link::~Link()
 {
-  surf_callback_emit(networkLinkDestructedCallbacks, this);
+  networkLinkDestructedCallbacks(this);
 }
 
 bool Link::isUsed()
 }
 
 bool Link::isUsed()
@@ -245,7 +245,7 @@ int Link::sharingPolicy()
 void Link::setState(e_surf_resource_state_t state){
   e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
 void Link::setState(e_surf_resource_state_t state){
   e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
-  surf_callback_emit(networkLinkStateChangedCallbacks, this, old, state);
+  networkLinkStateChangedCallbacks(this, old, state);
 }
 
 /**********
 }
 
 /**********
@@ -255,7 +255,7 @@ void Link::setState(e_surf_resource_state_t state){
 void NetworkAction::setState(e_surf_action_state_t state){
   e_surf_action_state_t old = getState();
   Action::setState(state);
 void NetworkAction::setState(e_surf_action_state_t state){
   e_surf_action_state_t old = getState();
   Action::setState(state);
-  surf_callback_emit(networkActionStateChangedCallbacks, this, old, state);
+  networkActionStateChangedCallbacks(this, old, state);
 }
 
 }
 }
 
 }
index 415d244d497a445d13005d5842f367f7eeee3dfe..22268057523497410e1436a22bdcd22f53e38c7f 100644 (file)
@@ -37,31 +37,31 @@ class NetworkAction;
  * @brief Callbacks handler which emits the callbacks after Link creation
  * @details Callback functions have the following signature: `void(Link*)`
  */
  * @brief Callbacks handler which emits the callbacks after Link creation
  * @details Callback functions have the following signature: `void(Link*)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, simgrid::surf::Link*)) networkLinkCreatedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::Link*)>) networkLinkCreatedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after Link destruction
  * @details Callback functions have the following signature: `void(Link*)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after Link destruction
  * @details Callback functions have the following signature: `void(Link*)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, simgrid::surf::Link*)) networkLinkDestructedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::Link*)>) networkLinkDestructedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after Link State changed
  * @details Callback functions have the following signature: `void(LinkAction *action, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after Link State changed
  * @details Callback functions have the following signature: `void(LinkAction *action, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, simgrid::surf::Link*, e_surf_resource_state_t, e_surf_resource_state_t)) networkLinkStateChangedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::Link*, e_surf_resource_state_t, e_surf_resource_state_t)>) networkLinkStateChangedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after NetworkAction State changed
  * @details Callback functions have the following signature: `void(NetworkAction *action, e_surf_action_state_t old, e_surf_action_state_t current)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after NetworkAction State changed
  * @details Callback functions have the following signature: `void(NetworkAction *action, e_surf_action_state_t old, e_surf_action_state_t current)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, simgrid::surf::NetworkAction*, e_surf_action_state_t, e_surf_action_state_t)) networkActionStateChangedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::NetworkAction*, e_surf_action_state_t, e_surf_action_state_t)>) networkActionStateChangedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after communication created
  * @details Callback functions have the following signature: `void(NetworkAction *action, RoutingEdge *src, RoutingEdge *dst, double size, double rate)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emits the callbacks after communication created
  * @details Callback functions have the following signature: `void(NetworkAction *action, RoutingEdge *src, RoutingEdge *dst, double size, double rate)`
  */
-XBT_PUBLIC_DATA( surf_callback(void, simgrid::surf::NetworkAction*, simgrid::surf::RoutingEdge *src, simgrid::surf::RoutingEdge *dst, double size, double rate)) networkCommunicateCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::NetworkAction*, simgrid::surf::RoutingEdge *src, simgrid::surf::RoutingEdge *dst, double size, double rate)>) networkCommunicateCallbacks;
 
 }
 }
 
 }
 }
index d4cb31c09d80ee9739f516a2f344dceed87a20f8..709b10502cd95e0556da362e187d9a374a1ce3ac 100644 (file)
@@ -297,7 +297,7 @@ Link* NetworkNS3Model::createLink(const char *name,
   if (state_trace)
     XBT_INFO("The NS3 network model doesn't support link state traces");
   Link* link = new NetworkNS3Link(this, name, properties, bw_initial, lat_initial);
   if (state_trace)
     XBT_INFO("The NS3 network model doesn't support link state traces");
   Link* link = new NetworkNS3Link(this, name, properties, bw_initial, lat_initial);
-  surf_callback_emit(networkLinkCreatedCallbacks, link);
+  networkLinkCreatedCallbacks(link);
   return link;
 }
 
   return link;
 }
 
@@ -320,7 +320,7 @@ Action *NetworkNS3Model::communicate(RoutingEdge *src, RoutingEdge *dst,
   action->m_lastSent = 0;
   action->p_srcElm = src;
   action->p_dstElm = dst;
   action->m_lastSent = 0;
   action->p_srcElm = src;
   action->p_dstElm = dst;
-  surf_callback_emit(networkCommunicateCallbacks, action, src, dst, size, rate);
+  networkCommunicateCallbacks(action, src, dst, size, rate);
 
   return (surf_action_t) action;
 }
 
   return (surf_action_t) action;
 }
index f43219e9891f8405e84804144addf3eaad3a7d3b..b8b19cd6b78062f399c94c39070ed087fdde6696 100644 (file)
@@ -142,12 +142,14 @@ void sg_energy_plugin_init() {
   if (simgrid::energy::surf_energy == NULL) {
     simgrid::energy::surf_energy =
       new std::map<simgrid::surf::Host*, simgrid::energy::HostEnergy*>();
   if (simgrid::energy::surf_energy == NULL) {
     simgrid::energy::surf_energy =
       new std::map<simgrid::surf::Host*, simgrid::energy::HostEnergy*>();
-    surf_callback_connect(simgrid::surf::hostCreatedCallbacks, energyHostCreatedCallback);
-    surf_callback_connect(simgrid::surf::VMCreatedCallbacks, energyVMCreatedCallback);
-    surf_callback_connect(simgrid::surf::hostDestructedCallbacks, energyHostDestructedCallback);
-    surf_callback_connect(simgrid::surf::cpuActionStateChangedCallbacks, energyCpuActionStateChangedCallback);
-    surf_callback_connect(simgrid::surf::surfExitCallbacks, sg_energy_plugin_exit);
-    surf_callback_connect(simgrid::surf::hostStateChangedCallbacks, energyStateChangedCallback);
+    simgrid::surf::hostCreatedCallbacks.connect(energyHostCreatedCallback);
+    simgrid::surf::VMCreatedCallbacks.connect(energyVMCreatedCallback);
+    simgrid::surf::hostDestructedCallbacks.connect(energyHostDestructedCallback);
+    simgrid::surf::cpuActionStateChangedCallbacks.connect(
+      energyCpuActionStateChangedCallback);
+    simgrid::surf::surfExitCallbacks.connect(sg_energy_plugin_exit);
+    simgrid::surf::hostStateChangedCallbacks.connect(
+      energyStateChangedCallback);
   }
 }
 
   }
 }
 
index 2bdecefea71b0ab6eddf9254d77020781de60728..d4479cfe66c0a2b5683a32e1744c2a3fccf629ec 100644 (file)
@@ -28,10 +28,10 @@ namespace surf {
  * Callbacks *
  *************/
 
  * Callbacks *
  *************/
 
-surf_callback(void, simgrid::surf::Storage*) storageCreatedCallbacks;
-surf_callback(void, simgrid::surf::Storage*) storageDestructedCallbacks;
-surf_callback(void, simgrid::surf::Storage*, e_surf_resource_state_t, e_surf_resource_state_t) storageStateChangedCallbacks;
-surf_callback(void, simgrid::surf::StorageAction*, e_surf_action_state_t, e_surf_action_state_t) storageActionStateChangedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Storage*)> storageCreatedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Storage*)> storageDestructedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::Storage*, e_surf_resource_state_t, e_surf_resource_state_t)> storageStateChangedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::StorageAction*, e_surf_action_state_t, e_surf_action_state_t)> storageActionStateChangedCallbacks;
 
 /*********
  * Model *
 
 /*********
  * Model *
@@ -89,7 +89,7 @@ Storage::Storage(Model *model, const char *name, xbt_dict_t props,
 }
 
 Storage::~Storage(){
 }
 
 Storage::~Storage(){
-  surf_callback_emit(storageDestructedCallbacks, this);
+  storageDestructedCallbacks(this);
   xbt_dict_free(&p_content);
   xbt_dynar_free(&p_writeActions);
   free(p_typeId);
   xbt_dict_free(&p_content);
   xbt_dynar_free(&p_writeActions);
   free(p_typeId);
@@ -149,7 +149,7 @@ void Storage::setState(e_surf_resource_state_t state)
 {
   e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
 {
   e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
-  surf_callback_emit(storageStateChangedCallbacks, this, old, state);
+  storageStateChangedCallbacks(this, old, state);
 }
 
 xbt_dict_t Storage::getContent()
 }
 
 xbt_dict_t Storage::getContent()
@@ -199,7 +199,7 @@ StorageAction::StorageAction(Model *model, double cost, bool failed, lmm_variabl
 void StorageAction::setState(e_surf_action_state_t state){
   e_surf_action_state_t old = getState();
   Action::setState(state);
 void StorageAction::setState(e_surf_action_state_t state){
   e_surf_action_state_t old = getState();
   Action::setState(state);
-  surf_callback_emit(storageActionStateChangedCallbacks, this, old, state);
+  storageActionStateChangedCallbacks(this, old, state);
 }
 
 }
 }
 
 }
index 8c7be43d3758900c82f67545111d076f4dc02ac9..4620a9cb2a09f59861ae91b367a513cd1d8e62df 100644 (file)
@@ -33,25 +33,25 @@ class StorageAction;
  * @brief Callbacks handler which emit the callbacks after Storage creation *
  * @details Callback functions have the following signature: `void(Storage*)`
  */
  * @brief Callbacks handler which emit the callbacks after Storage creation *
  * @details Callback functions have the following signature: `void(Storage*)`
  */
-XBT_PUBLIC_DATA(surf_callback(void, simgrid::surf::Storage*)) storageCreatedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::Storage*)>) storageCreatedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after Storage destruction *
  * @details Callback functions have the following signature: `void(StoragePtr)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after Storage destruction *
  * @details Callback functions have the following signature: `void(StoragePtr)`
  */
-XBT_PUBLIC_DATA(surf_callback(void, simgrid::surf::Storage*)) storageDestructedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::Storage*)>) storageDestructedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after Storage State changed *
  * @details Callback functions have the following signature: `void(StorageAction *action, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after Storage State changed *
  * @details Callback functions have the following signature: `void(StorageAction *action, e_surf_resource_state_t old, e_surf_resource_state_t current)`
  */
-XBT_PUBLIC_DATA(surf_callback(void, simgrid::surf::Storage*, e_surf_resource_state_t, e_surf_resource_state_t)) storageStateChangedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::Storage*, e_surf_resource_state_t, e_surf_resource_state_t)>) storageStateChangedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after StorageAction State changed *
  * @details Callback functions have the following signature: `void(StorageAction *action, e_surf_action_state_t old, e_surf_action_state_t current)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks handler which emit the callbacks after StorageAction State changed *
  * @details Callback functions have the following signature: `void(StorageAction *action, e_surf_action_state_t old, e_surf_action_state_t current)`
  */
-XBT_PUBLIC_DATA(surf_callback(void, simgrid::surf::StorageAction*, e_surf_action_state_t, e_surf_action_state_t)) storageActionStateChangedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(simgrid::surf::StorageAction*, e_surf_action_state_t, e_surf_action_state_t)>) storageActionStateChangedCallbacks;
 
 /*********
  * Model *
 
 /*********
  * Model *
index ff06a05bc0400b28c599c4ab6a7e3fc99ac52eca..f54f289981d8f3ffeac8d897c8076fd0dd3f34d8 100644 (file)
@@ -98,7 +98,7 @@ Storage *StorageN11Model::createStorage(const char* id, const char* type_id,
   Storage *storage = new StorageN11(this, id, properties, p_maxminSystem,
       Bread, Bwrite, Bconnection, type_id, (char *)content_name,
       xbt_strdup(content_type), storage_type->size, (char *) attach);
   Storage *storage = new StorageN11(this, id, properties, p_maxminSystem,
       Bread, Bwrite, Bconnection, type_id, (char *)content_name,
       xbt_strdup(content_type), storage_type->size, (char *) attach);
-  surf_callback_emit(storageCreatedCallbacks, storage);
+  storageCreatedCallbacks(storage);
   xbt_lib_set(storage_lib, id, SURF_STORAGE_LEVEL, storage);
 
   XBT_DEBUG("SURF storage create resource\n\t\tid '%s'\n\t\ttype '%s'\n\t\tproperties '%p'\n\t\tBread '%f'\n",
   xbt_lib_set(storage_lib, id, SURF_STORAGE_LEVEL, storage);
 
   XBT_DEBUG("SURF storage create resource\n\t\tid '%s'\n\t\ttype '%s'\n\t\tproperties '%p'\n\t\tBread '%f'\n",
index 2f5bc3bd7632947cbf50f2db6d21a6d7a49e3272..1110ef12c36e4b4e45aa070453862e47a9c5d858 100644 (file)
@@ -38,7 +38,7 @@ xbt_dict_t watched_hosts_lib;
 namespace simgrid {
 namespace surf {
 
 namespace simgrid {
 namespace surf {
 
-surf_callback(void, void) surfExitCallbacks;
+simgrid::surf::signal<void(void)> surfExitCallbacks;
 
 }
 }
 
 }
 }
@@ -363,7 +363,7 @@ void surf_exit(void)
   xbt_dynar_free(&model_list_invoke);
   routing_exit();
 
   xbt_dynar_free(&model_list_invoke);
   routing_exit();
 
-  surf_callback_emit(simgrid::surf::surfExitCallbacks);
+  simgrid::surf::surfExitCallbacks();
 
   if (maxmin_system) {
     lmm_system_free(maxmin_system);
 
   if (maxmin_system) {
     lmm_system_free(maxmin_system);
index 4dce34dd976110508f1fcf102a0ebd80058bc088..5789d592d5cf5bffe7ea6db62fc96fee7d6dda41 100644 (file)
@@ -62,11 +62,6 @@ namespace surf {
 }
 #endif
 
 }
 #endif
 
-// Deprecated:
-#define surf_callback(arg1, ...)  ::simgrid::surf::signal<arg1(__VA_ARGS__)>
-#define surf_callback_connect(callback, fun_ptr) callback.connect(fun_ptr)
-#define surf_callback_emit(callback, ...) callback(__VA_ARGS__)
-
 #ifdef _MSC_VER
 #pragma warning( disable : 4251)
 // 4251: needs to have dll-interface to be used by clients of class
 #ifdef _MSC_VER
 #pragma warning( disable : 4251)
 // 4251: needs to have dll-interface to be used by clients of class
@@ -97,7 +92,7 @@ extern XBT_PRIVATE double sg_sender_gap;
 namespace simgrid {
 namespace surf {
 
 namespace simgrid {
 namespace surf {
 
-extern XBT_PRIVATE surf_callback(void, void) surfExitCallbacks;
+extern XBT_PRIVATE simgrid::surf::signal<void(void)> surfExitCallbacks;
 
 }
 }
 
 }
 }
index 4ad2e764993f4c50f08714251f333707cc3104e3..0d3e36c351c03aa32c690781c2b28323aa26bfff 100644 (file)
@@ -23,8 +23,8 @@
 namespace simgrid {
 namespace surf {
 
 namespace simgrid {
 namespace surf {
 
-surf_callback(void, simgrid::surf::RoutingEdge*) routingEdgeCreatedCallbacks;
-surf_callback(void, simgrid::surf::As*) asCreatedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::RoutingEdge*)> routingEdgeCreatedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::As*)> asCreatedCallbacks;
 
 }
 }
 
 }
 }
index 5e42bc20d0163025bd8d4c2a1de9488ad676ca2e..f7ab0d0daba96a1f71bb44d196afa1c2863a9df2 100644 (file)
@@ -163,8 +163,8 @@ public:
  * Callbacks *
  *************/
 
  * Callbacks *
  *************/
 
-XBT_PUBLIC_DATA(surf_callback(void, RoutingEdge*)) routingEdgeCreatedCallbacks;
-XBT_PUBLIC_DATA(surf_callback(void, As*)) asCreatedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(RoutingEdge*)>) routingEdgeCreatedCallbacks;
+XBT_PUBLIC_DATA(simgrid::surf::signal<void(As*)>) asCreatedCallbacks;
 
 }
 }
 
 }
 }
index 943d23e5c9251b9fef06cfa73d7773dd66e275d8..9eab02c12ea57c791eba2ef21a9be0a93e3d5ed2 100644 (file)
@@ -19,9 +19,9 @@ namespace surf {
  * Callbacks *
  *************/
 
  * Callbacks *
  *************/
 
-surf_callback(void, simgrid::surf::VirtualMachine*) VMCreatedCallbacks;
-surf_callback(void, simgrid::surf::VirtualMachine*) VMDestructedCallbacks;
-surf_callback(void, simgrid::surf::VirtualMachine*) VMStateChangedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::VirtualMachine*)> VMCreatedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::VirtualMachine*)> VMDestructedCallbacks;
+simgrid::surf::signal<void(simgrid::surf::VirtualMachine*)> VMStateChangedCallbacks;
 
 /*********
  * Model *
 
 /*********
  * Model *
@@ -47,13 +47,13 @@ VirtualMachine::VirtualMachine(Model *model, const char *name, xbt_dict_t props,
  */
 VirtualMachine::~VirtualMachine()
 {
  */
 VirtualMachine::~VirtualMachine()
 {
-  surf_callback_emit(VMDestructedCallbacks, this);
+  VMDestructedCallbacks(this);
   VMModel::ws_vms.erase(VMModel::vm_list_t::s_iterator_to(*this));
 }
 
 void VirtualMachine::setState(e_surf_resource_state_t state){
   Resource::setState(state);
   VMModel::ws_vms.erase(VMModel::vm_list_t::s_iterator_to(*this));
 }
 
 void VirtualMachine::setState(e_surf_resource_state_t state){
   Resource::setState(state);
-  surf_callback_emit(VMStateChangedCallbacks, this);
+  VMStateChangedCallbacks(this);
 }
 
 /*
 }
 
 /*
index 2de593b9111fa2a8ded5d2270e2ab9cfc507dfd6..7d9f819629e9249d099ef5d50ee0bfb4c524d8a1 100644 (file)
@@ -31,17 +31,17 @@ class XBT_PRIVATE VirtualMachine;
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired after VM creation. Signature: `void(VirtualMachine*)`
  */
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired after VM creation. Signature: `void(VirtualMachine*)`
  */
-extern XBT_PRIVATE surf_callback(void, simgrid::surf::VirtualMachine*) VMCreatedCallbacks;
+extern XBT_PRIVATE simgrid::surf::signal<void(simgrid::surf::VirtualMachine*)> VMCreatedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired after VM destruction. Signature: `void(VirtualMachine*)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks fired after VM destruction. Signature: `void(VirtualMachine*)`
  */
-extern XBT_PRIVATE surf_callback(void, simgrid::surf::VirtualMachine*) VMDestructedCallbacks;
+extern XBT_PRIVATE simgrid::surf::signal<void(simgrid::surf::VirtualMachine*)> VMDestructedCallbacks;
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks after VM State changes. Signature: `void(VirtualMachine*)`
  */
 
 /** @ingroup SURF_callbacks
  * @brief Callbacks after VM State changes. Signature: `void(VirtualMachine*)`
  */
-extern XBT_PRIVATE surf_callback(void, simgrid::surf::VirtualMachine*) VMStateChangedCallbacks;
+extern XBT_PRIVATE simgrid::surf::signal<void(simgrid::surf::VirtualMachine*)> VMStateChangedCallbacks;
 
 /************
  * Resource *
 
 /************
  * Resource *
index 428c515234958575f4c7797dd8eba04b9e2caedd..90be65ca1a1483e549d2cd02006f47975c18fa10 100644 (file)
@@ -38,7 +38,7 @@ void VMHL13Model::updateActionsState(double /*now*/, double /*delta*/) {}
 VirtualMachine *VMHL13Model::createVM(const char *name, sg_host_t host_PM)
 {
   VirtualMachine* vm = new VMHL13(this, name, NULL, host_PM);
 VirtualMachine *VMHL13Model::createVM(const char *name, sg_host_t host_PM)
 {
   VirtualMachine* vm = new VMHL13(this, name, NULL, host_PM);
-  surf_callback_emit(VMCreatedCallbacks, vm);
+  VMCreatedCallbacks(vm);
   return vm;
 }
 
   return vm;
 }