From: Gabriel Corona Date: Fri, 18 Dec 2015 15:17:09 +0000 (+0100) Subject: [surf] Remove signal-related #defines X-Git-Tag: v3_13~1425 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/a714f2cc13ccf01d24d8848aafc9085aef8eb6ce [surf] Remove signal-related #defines --- diff --git a/doc/doxygen/inside_extending.doc b/doc/doxygen/inside_extending.doc index 7d00215a3b..d232f9ff94 100644 --- a/doc/doxygen/inside_extending.doc +++ b/doc/doxygen/inside_extending.doc @@ -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); } ~~~~ diff --git a/doc/doxygen/options.doc b/doc/doxygen/options.doc index 3bc5f7b636..9c56366cca 100644 --- a/doc/doxygen/options.doc +++ b/doc/doxygen/options.doc @@ -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 diff --git a/src/bindings/java/surf_swig.cpp b/src/bindings/java/surf_swig.cpp index 972ef476e7..3bb9c26cf5 100644 --- a/src/bindings/java/surf_swig.cpp +++ b/src/bindings/java/surf_swig.cpp @@ -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)); } diff --git a/src/surf/cpu_interface.cpp b/src/surf/cpu_interface.cpp index bd28c4d289..feca4113d0 100644 --- a/src/surf/cpu_interface.cpp +++ b/src/surf/cpu_interface.cpp @@ -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 cpuCreatedCallbacks; +simgrid::surf::signal cpuDestructedCallbacks; +simgrid::surf::signal cpuStateChangedCallbacks; +simgrid::surf::signal 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); } } diff --git a/src/surf/cpu_interface.hpp b/src/surf/cpu_interface.hpp index c68e484a26..80564a2ff8 100644 --- a/src/surf/cpu_interface.hpp +++ b/src/surf/cpu_interface.hpp @@ -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) 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) 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) 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) cpuActionStateChangedCallbacks; XBT_PUBLIC(void) cpu_add_traces(); diff --git a/src/surf/host_interface.cpp b/src/surf/host_interface.cpp index 7e9985a2af..54d562fe0e 100644 --- a/src/surf/host_interface.cpp +++ b/src/surf/host_interface.cpp @@ -33,10 +33,10 @@ namespace surf { simgrid::xbt::FacetLevel 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 hostCreatedCallbacks; +simgrid::surf::signal hostDestructedCallbacks; +simgrid::surf::signal hostStateChangedCallbacks; +simgrid::surf::signal 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); } } diff --git a/src/surf/host_interface.hpp b/src/surf/host_interface.hpp index 4715963c24..a7c6b51d9a 100644 --- a/src/surf/host_interface.hpp +++ b/src/surf/host_interface.hpp @@ -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) 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) 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) 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) hostActionStateChangedCallbacks; } } diff --git a/src/surf/host_ptask_L07.cpp b/src/surf/host_ptask_L07.cpp index 54b101ecb1..7d4b2122ba 100644 --- a/src/surf/host_ptask_L07.cpp +++ b/src/surf/host_ptask_L07.cpp @@ -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; } diff --git a/src/surf/network_cm02.cpp b/src/surf/network_cm02.cpp index 2002616db7..7caca4b743 100644 --- a/src/surf/network_cm02.cpp +++ b/src/surf/network_cm02.cpp @@ -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; } diff --git a/src/surf/network_constant.cpp b/src/surf/network_constant.cpp index b9be1fd2ca..c6bd1b314e 100644 --- a/src/surf/network_constant.cpp +++ b/src/surf/network_constant.cpp @@ -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; } diff --git a/src/surf/network_ib.cpp b/src/surf/network_ib.cpp index 6c7bec7220..1ba7a30004 100644 --- a/src/surf/network_ib.cpp +++ b/src/surf/network_ib.cpp @@ -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); diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index 5ae56794da..34bf4fc1c9 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -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 networkLinkCreatedCallbacks; +simgrid::surf::signal networkLinkDestructedCallbacks; +simgrid::surf::signal networkLinkStateChangedCallbacks; +simgrid::surf::signal networkActionStateChangedCallbacks; +simgrid::surf::signal 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); } } diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 415d244d49..2226805752 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -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) 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) 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) 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) 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) networkCommunicateCallbacks; } } diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index d4cb31c09d..709b10502c 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -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; } diff --git a/src/surf/plugins/energy.cpp b/src/surf/plugins/energy.cpp index f43219e989..b8b19cd6b7 100644 --- a/src/surf/plugins/energy.cpp +++ b/src/surf/plugins/energy.cpp @@ -142,12 +142,14 @@ void sg_energy_plugin_init() { if (simgrid::energy::surf_energy == NULL) { simgrid::energy::surf_energy = new std::map(); - 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); } } diff --git a/src/surf/storage_interface.cpp b/src/surf/storage_interface.cpp index 2bdecefea7..d4479cfe66 100644 --- a/src/surf/storage_interface.cpp +++ b/src/surf/storage_interface.cpp @@ -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 storageCreatedCallbacks; +simgrid::surf::signal storageDestructedCallbacks; +simgrid::surf::signal storageStateChangedCallbacks; +simgrid::surf::signal 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); } } diff --git a/src/surf/storage_interface.hpp b/src/surf/storage_interface.hpp index 8c7be43d37..4620a9cb2a 100644 --- a/src/surf/storage_interface.hpp +++ b/src/surf/storage_interface.hpp @@ -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) 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) 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) 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) storageActionStateChangedCallbacks; /********* * Model * diff --git a/src/surf/storage_n11.cpp b/src/surf/storage_n11.cpp index ff06a05bc0..f54f289981 100644 --- a/src/surf/storage_n11.cpp +++ b/src/surf/storage_n11.cpp @@ -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", diff --git a/src/surf/surf_interface.cpp b/src/surf/surf_interface.cpp index 2f5bc3bd76..1110ef12c3 100644 --- a/src/surf/surf_interface.cpp +++ b/src/surf/surf_interface.cpp @@ -38,7 +38,7 @@ xbt_dict_t watched_hosts_lib; namespace simgrid { namespace surf { -surf_callback(void, void) surfExitCallbacks; +simgrid::surf::signal 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); diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index 4dce34dd97..5789d592d5 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -62,11 +62,6 @@ namespace surf { } #endif -// Deprecated: -#define surf_callback(arg1, ...) ::simgrid::surf::signal -#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 surfExitCallbacks; } } diff --git a/src/surf/surf_routing.cpp b/src/surf/surf_routing.cpp index 4ad2e76499..0d3e36c351 100644 --- a/src/surf/surf_routing.cpp +++ b/src/surf/surf_routing.cpp @@ -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 routingEdgeCreatedCallbacks; +simgrid::surf::signal asCreatedCallbacks; } } diff --git a/src/surf/surf_routing.hpp b/src/surf/surf_routing.hpp index 5e42bc20d0..f7ab0d0dab 100644 --- a/src/surf/surf_routing.hpp +++ b/src/surf/surf_routing.hpp @@ -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) routingEdgeCreatedCallbacks; +XBT_PUBLIC_DATA(simgrid::surf::signal) asCreatedCallbacks; } } diff --git a/src/surf/virtual_machine.cpp b/src/surf/virtual_machine.cpp index 943d23e5c9..9eab02c12e 100644 --- a/src/surf/virtual_machine.cpp +++ b/src/surf/virtual_machine.cpp @@ -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 VMCreatedCallbacks; +simgrid::surf::signal VMDestructedCallbacks; +simgrid::surf::signal 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); } /* diff --git a/src/surf/virtual_machine.hpp b/src/surf/virtual_machine.hpp index 2de593b911..7d9f819629 100644 --- a/src/surf/virtual_machine.hpp +++ b/src/surf/virtual_machine.hpp @@ -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 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 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 VMStateChangedCallbacks; /************ * Resource * diff --git a/src/surf/vm_hl13.cpp b/src/surf/vm_hl13.cpp index 428c515234..90be65ca1a 100644 --- a/src/surf/vm_hl13.cpp +++ b/src/surf/vm_hl13.cpp @@ -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; }