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 7d00215..d232f9f 100644 (file)
@@ -95,12 +95,9 @@ static void MyNetworkCommunicationCallback(NetworkActionPtr cpu,
 }
 
 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 3bc5f7b..9c56366 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
-``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
index 972ef47..3bb9c26 100644 (file)
@@ -62,56 +62,56 @@ LinkDynar getRoute(char *srcName, char *dstName) {
 
 void Plugin::activateCpuCreatedCallback()
 {
-  surf_callback_connect(simgrid::surf::cpuCreatedCallbacks,
+  simgrid::surf::cpuCreatedCallbacks.connect(
     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()
 {
-  surf_callback_connect(simgrid::surf::cpuStateChangedCallbacks,
+  simgrid::surf::cpuStateChangedCallbacks.connect(
     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()
 {
-  surf_callback_connect(simgrid::surf::networkLinkCreatedCallbacks,
+  simgrid::surf::networkLinkCreatedCallbacks.connect(
     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()
 {
-  surf_callback_connect(simgrid::surf::networkLinkStateChangedCallbacks,
+  simgrid::surf::networkLinkStateChangedCallbacks.connect(
     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()
 {
-  surf_callback_connect(simgrid::surf::networkCommunicateCallbacks,
+  simgrid::surf::networkCommunicateCallbacks.connect(
     std::bind(&Plugin::networkCommunicateCallback, this, _1, _2, _3, _4, _5));
 }
 
index bd28c4d..feca411 100644 (file)
@@ -38,10 +38,10 @@ Cpu *getActionCpu(CpuAction *action) {
                                         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();
 }
@@ -193,7 +193,7 @@ Cpu::Cpu(Model *model, const char *name,
 
 void Cpu::onDie()
 {
-  surf_callback_emit(cpuDestructedCallbacks, this);
+  cpuDestructedCallbacks(this);
   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);
-  surf_callback_emit(cpuStateChangedCallbacks, this, old, state);
+  cpuStateChangedCallbacks(this, old, state);
 }
 
 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);
-  surf_callback_emit(cpuActionStateChangedCallbacks, this, old, state);
+  cpuActionStateChangedCallbacks(this, old, state);
 }
 
 }
index c68e484..80564a2 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)`
  */
-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)`
  */
-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)`
  */
-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)`
  */
-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();
 
index 7e9985a..54d562f 100644 (file)
@@ -33,10 +33,10 @@ namespace surf {
 
 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 *
@@ -109,7 +109,7 @@ Host::Host(simgrid::surf::Model *model, const char *name, xbt_dict_t props, lmm_
 
 void Host::onDie()
 {
-  surf_callback_emit(hostDestructedCallbacks, this);
+  hostDestructedCallbacks(this);
   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;
-  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);
-  surf_callback_emit(hostStateChangedCallbacks, this, old, state);
+  hostStateChangedCallbacks(this, old, 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);
-  surf_callback_emit(hostActionStateChangedCallbacks, this, old, state);
+  hostActionStateChangedCallbacks(this, old, state);
 }
 
 }
index 4715963..a7c6b51 100644 (file)
@@ -33,22 +33,22 @@ class XBT_PRIVATE HostAction;
 /** @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*)`
  */
-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)`
  */
-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)`
  */
-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 54b101e..7d4b212 100644 (file)
@@ -331,7 +331,7 @@ Link* NetworkL07Model::createLink(const char *name,
                                         lat_initial, lat_trace,
                                         state_initial, state_trace,
                                         policy);
-  surf_callback_emit(networkLinkCreatedCallbacks, link);
+  networkLinkCreatedCallbacks(link);
   return link;
 }
 
index 2002616..7caca4b 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);
-  surf_callback_emit(networkLinkCreatedCallbacks, link);
+  networkLinkCreatedCallbacks(link);
   return link;
 }
 
@@ -466,7 +466,7 @@ Action *NetworkCm02Model::communicate(RoutingEdge *src, RoutingEdge *dst,
   xbt_dynar_free(&route);
   XBT_OUT();
 
-  surf_callback_emit(networkCommunicateCallbacks, action, src, dst, size, rate);
+  networkCommunicateCallbacks(action, src, dst, size, rate);
   return action;
 }
 
index b9be1fd..c6bd1b3 100644 (file)
@@ -95,7 +95,7 @@ Action *NetworkConstantModel::communicate(RoutingEdge *src, RoutingEdge *dst,
   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;
 }
 
index 6c7bec7..1ba7a30 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_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);
   
index 5ae5679..34bf4fc 100644 (file)
@@ -95,11 +95,11 @@ void Link::linksExit() {
  * 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()
 {
-  surf_callback_emit(networkLinkDestructedCallbacks, this);
+  networkLinkDestructedCallbacks(this);
 }
 
 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);
-  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);
-  surf_callback_emit(networkActionStateChangedCallbacks, this, old, state);
+  networkActionStateChangedCallbacks(this, old, state);
 }
 
 }
index 415d244..2226805 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*)`
  */
-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*)`
  */
-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)`
  */
-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)`
  */
-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)`
  */
-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 d4cb31c..709b105 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);
-  surf_callback_emit(networkLinkCreatedCallbacks, link);
+  networkLinkCreatedCallbacks(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;
-  surf_callback_emit(networkCommunicateCallbacks, action, src, dst, size, rate);
+  networkCommunicateCallbacks(action, src, dst, size, rate);
 
   return (surf_action_t) action;
 }
index f43219e..b8b19cd 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*>();
-    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 2bdecef..d4479cf 100644 (file)
@@ -28,10 +28,10 @@ namespace surf {
  * 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 *
@@ -89,7 +89,7 @@ Storage::Storage(Model *model, const char *name, xbt_dict_t props,
 }
 
 Storage::~Storage(){
-  surf_callback_emit(storageDestructedCallbacks, this);
+  storageDestructedCallbacks(this);
   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);
-  surf_callback_emit(storageStateChangedCallbacks, this, old, state);
+  storageStateChangedCallbacks(this, old, state);
 }
 
 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);
-  surf_callback_emit(storageActionStateChangedCallbacks, this, old, state);
+  storageActionStateChangedCallbacks(this, old, state);
 }
 
 }
index 8c7be43..4620a9c 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*)`
  */
-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)`
  */
-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)`
  */
-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)`
  */
-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 *
index ff06a05..f54f289 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);
-  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",
index 2f5bc3b..1110ef1 100644 (file)
@@ -38,7 +38,7 @@ xbt_dict_t watched_hosts_lib;
 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();
 
-  surf_callback_emit(simgrid::surf::surfExitCallbacks);
+  simgrid::surf::surfExitCallbacks();
 
   if (maxmin_system) {
     lmm_system_free(maxmin_system);
index 4dce34d..5789d59 100644 (file)
@@ -62,11 +62,6 @@ namespace surf {
 }
 #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
@@ -97,7 +92,7 @@ extern XBT_PRIVATE double sg_sender_gap;
 namespace simgrid {
 namespace surf {
 
-extern XBT_PRIVATE surf_callback(void, void) surfExitCallbacks;
+extern XBT_PRIVATE simgrid::surf::signal<void(void)> surfExitCallbacks;
 
 }
 }
index 4ad2e76..0d3e36c 100644 (file)
@@ -23,8 +23,8 @@
 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 5e42bc2..f7ab0d0 100644 (file)
@@ -163,8 +163,8 @@ public:
  * 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 943d23e..9eab02c 100644 (file)
@@ -19,9 +19,9 @@ namespace surf {
  * 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 *
@@ -47,13 +47,13 @@ VirtualMachine::VirtualMachine(Model *model, const char *name, xbt_dict_t props,
  */
 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);
-  surf_callback_emit(VMStateChangedCallbacks, this);
+  VMStateChangedCallbacks(this);
 }
 
 /*
index 2de593b..7d9f819 100644 (file)
@@ -31,17 +31,17 @@ class XBT_PRIVATE 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*)`
  */
-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*)`
  */
-extern XBT_PRIVATE surf_callback(void, simgrid::surf::VirtualMachine*) VMStateChangedCallbacks;
+extern XBT_PRIVATE simgrid::surf::signal<void(simgrid::surf::VirtualMachine*)> VMStateChangedCallbacks;
 
 /************
  * Resource *
index 428c515..90be65c 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);
-  surf_callback_emit(VMCreatedCallbacks, vm);
+  VMCreatedCallbacks(vm);
   return vm;
 }