-/* Copyright (c) 2014. The SimGrid Team.
+/* Copyright (c) 2014-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+// Avoid ambiguity between boost and std placeholders
+// (the std placeholders are imported through boost::signals2):
+#ifndef BOOST_BIND_NO_PLACEHOLDERS
+ #define BOOST_BIND_NO_PLACEHOLDERS
+#endif
+
+#include <functional>
+
#include <boost/lambda/bind.hpp>
#include "src/surf/surf_interface.hpp"
#include "surf_swig.hpp"
#include "src/simix/smx_private.h"
+using std::placeholders::_1;
+using std::placeholders::_2;
+using std::placeholders::_3;
+using std::placeholders::_4;
+using std::placeholders::_5;
+
double getClock() {
return surf_get_clock();
}
SIMIX_clean();
}
-CpuModel *getCpuModel(){
+simgrid::surf::CpuModel *getCpuModel(){
return surf_cpu_model_pm;
}
-CpuModel *java_cpu_model;
+simgrid::surf::CpuModel *java_cpu_model;
static void java_cpu_model_init_preparse() {
surf_cpu_model_pm = java_cpu_model;
- xbt_dynar_push(model_list, &java_cpu_model);
- xbt_dynar_push(model_list_invoke, &java_cpu_model);
- sg_platf_host_add_cb(cpu_parse_init);
+ xbt_dynar_push(all_existing_models, &java_cpu_model);
}
-void setCpuModel(CpuModel *cpuModel){
+void setCpuModel(simgrid::surf::CpuModel *cpuModel){
java_cpu_model = cpuModel;
surf_cpu_model_init_preparse = java_cpu_model_init_preparse;
}
-void setCpu(char *name, Cpu *cpu) {
+void setCpu(char *name, simgrid::surf::Cpu *cpu) {
sg_host_surfcpu_set(sg_host_by_name(name), cpu);
}
-NetworkLinkDynar getRoute(char *srcName, char *dstName) {
- RoutingEdge *src = (RoutingEdge*)xbt_lib_get_or_null(host_lib, srcName, ROUTING_HOST_LEVEL);
- RoutingEdge *dst = (RoutingEdge*)xbt_lib_get_or_null(host_lib, dstName, ROUTING_HOST_LEVEL);
+LinkDynar getRoute(char *srcName, char *dstName) {
+ simgrid::surf::RoutingEdge *src = sg_host_edge(sg_host_by_name(srcName));
+ simgrid::surf::RoutingEdge *dst = sg_host_edge(sg_host_by_name(dstName));
xbt_assert(src,"Cannot get the route from a NULL source");
xbt_assert(dst,"Cannot get the route to a NULL destination");
- xbt_dynar_t route = xbt_dynar_new(sizeof(RoutingEdgePtr), NULL);
+ xbt_dynar_t route = xbt_dynar_new(sizeof(simgrid::surf::RoutingEdge*), NULL);
routing_platf->getRouteAndLatency(src, dst, &route, NULL);
return route;
}
-void Plugin::activateCpuCreatedCallback(){
- surf_callback_connect(cpuCreatedCallbacks, boost::bind(&Plugin::cpuCreatedCallback, this, _1));
+void Plugin::activateCpuCreatedCallback()
+{
+ surf_callback_connect(simgrid::surf::cpuCreatedCallbacks,
+ std::bind(&Plugin::cpuCreatedCallback, this, _1));
}
-void Plugin::activateCpuDestructedCallback(){
- surf_callback_connect(cpuDestructedCallbacks, boost::bind(&Plugin::cpuDestructedCallback, this, _1));
+void Plugin::activateCpuDestructedCallback()
+{
+ surf_callback_connect(simgrid::surf::cpuDestructedCallbacks,
+ std::bind(&Plugin::cpuDestructedCallback, this, _1));
}
-void Plugin::activateCpuStateChangedCallback(){
- surf_callback_connect(cpuStateChangedCallbacks, boost::bind(&Plugin::cpuStateChangedCallback, this, _1, _2, _3));
+void Plugin::activateCpuStateChangedCallback()
+{
+ surf_callback_connect(simgrid::surf::cpuStateChangedCallbacks,
+ std::bind(&Plugin::cpuStateChangedCallback, this, _1, _2, _3));
}
-void Plugin::activateCpuActionStateChangedCallback(){
- surf_callback_connect(cpuActionStateChangedCallbacks, boost::bind(&Plugin::cpuActionStateChangedCallback, this, _1, _2, _3));
+void Plugin::activateCpuActionStateChangedCallback()
+{
+ surf_callback_connect(simgrid::surf::cpuActionStateChangedCallbacks,
+ std::bind(&Plugin::cpuActionStateChangedCallback, this, _1, _2, _3));
}
-void Plugin::activateNetworkLinkCreatedCallback(){
- surf_callback_connect(networkLinkCreatedCallbacks, boost::bind(&Plugin::networkLinkCreatedCallback, this, _1));
+void Plugin::activateLinkCreatedCallback()
+{
+ surf_callback_connect(simgrid::surf::networkLinkCreatedCallbacks,
+ std::bind(&Plugin::networkLinkCreatedCallback, this, _1));
}
-void Plugin::activateNetworkLinkDestructedCallback(){
- surf_callback_connect(networkLinkDestructedCallbacks, boost::bind(&Plugin::networkLinkDestructedCallback, this, _1));
+void Plugin::activateLinkDestructedCallback()
+{
+ surf_callback_connect(simgrid::surf::networkLinkDestructedCallbacks,
+ std::bind(&Plugin::networkLinkDestructedCallback, this, _1));
}
-void Plugin::activateNetworkLinkStateChangedCallback(){
- surf_callback_connect(networkLinkStateChangedCallbacks, boost::bind(&Plugin::networkLinkStateChangedCallback, this, _1, _2, _3));
+void Plugin::activateLinkStateChangedCallback()
+{
+ surf_callback_connect(simgrid::surf::networkLinkStateChangedCallbacks,
+ std::bind(&Plugin::networkLinkStateChangedCallback, this, _1, _2, _3));
}
-void Plugin::activateNetworkActionStateChangedCallback(){
- surf_callback_connect(networkActionStateChangedCallbacks, boost::bind(&Plugin::networkActionStateChangedCallback, this, _1, _2, _3));
+void Plugin::activateNetworkActionStateChangedCallback()
+{
+ surf_callback_connect(simgrid::surf::networkActionStateChangedCallbacks,
+ std::bind(&Plugin::networkActionStateChangedCallback, this, _1, _2, _3));
}
-void Plugin::activateNetworkCommunicateCallback(){
- surf_callback_connect(networkCommunicateCallbacks, boost::bind(&Plugin::networkCommunicateCallback, this, _1, _2, _3, _4, _5));
+void Plugin::activateNetworkCommunicateCallback()
+{
+ surf_callback_connect(simgrid::surf::networkCommunicateCallbacks,
+ std::bind(&Plugin::networkCommunicateCallback, this, _1, _2, _3, _4, _5));
}