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() {
 }
 
 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
 "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 972ef47..3bb9c26 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 bd28c4d..feca411 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 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)`
  */
  * @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 7e9985a..54d562f 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 4715963..a7c6b51 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 54b101e..7d4b212 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 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);
 
   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 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();
 
   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 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_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 5ae5679..34bf4fc 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 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*)`
  */
  * @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 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);
   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 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*>();
   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 *
  *************/
 
  * 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 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*)`
  */
  * @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 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);
   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 2f5bc3b..1110ef1 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 4dce34d..5789d59 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 4ad2e76..0d3e36c 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 5e42bc2..f7ab0d0 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 943d23e..9eab02c 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 2de593b..7d9f819 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 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);
 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;
 }