1 #include <boost/lambda/bind.hpp>
2 #include "src/surf/surf_interface.hpp"
3 #include "surf_swig.hpp"
4 #include "src/simix/smx_private.h"
8 return surf_get_clock();
15 /*NetworkModel *getNetworkModel()
17 return surf_network_model;
20 NetworkLinkDynar getRoute(char *srcName, char *dstName) {
21 RoutingEdge *src = (RoutingEdge*)xbt_lib_get_or_null(host_lib, srcName, ROUTING_HOST_LEVEL);
22 RoutingEdge *dst = (RoutingEdge*)xbt_lib_get_or_null(host_lib, dstName, ROUTING_HOST_LEVEL);
27 xbt_dynar_t route = xbt_dynar_new(sizeof(RoutingEdgePtr), NULL);
28 routing_platf->getRouteAndLatency(src, dst, &route, NULL);
32 void Plugin::activateCpuCreatedCallback(){
33 surf_callback_connect(cpuCreatedCallbacks, boost::bind(&Plugin::cpuCreatedCallback, this, _1));
36 void Plugin::activateCpuDestructedCallback(){
37 surf_callback_connect(cpuDestructedCallbacks, boost::bind(&Plugin::cpuDestructedCallback, this, _1));
40 void Plugin::activateCpuStateChangedCallback(){
41 surf_callback_connect(cpuStateChangedCallbacks, boost::bind(&Plugin::cpuStateChangedCallback, this, _1, _2, _3));
44 void Plugin::activateCpuActionStateChangedCallback(){
45 surf_callback_connect(cpuActionStateChangedCallbacks, boost::bind(&Plugin::cpuActionStateChangedCallback, this, _1, _2, _3));
49 void Plugin::activateNetworkLinkCreatedCallback(){
50 surf_callback_connect(networkLinkCreatedCallbacks, boost::bind(&Plugin::networkLinkCreatedCallback, this, _1));
53 void Plugin::activateNetworkLinkDestructedCallback(){
54 surf_callback_connect(networkLinkDestructedCallbacks, boost::bind(&Plugin::networkLinkDestructedCallback, this, _1));
57 void Plugin::activateNetworkLinkStateChangedCallback(){
58 surf_callback_connect(networkLinkStateChangedCallbacks, boost::bind(&Plugin::networkLinkStateChangedCallback, this, _1, _2, _3));
61 void Plugin::activateNetworkActionStateChangedCallback(){
62 surf_callback_connect(networkActionStateChangedCallbacks, boost::bind(&Plugin::networkActionStateChangedCallback, this, _1, _2, _3));
65 void Plugin::activateNetworkCommunicateCallback(){
66 surf_callback_connect(networkCommunicateCallbacks, boost::bind(&Plugin::networkCommunicateCallback, this, _1, _2, _3, _4, _5));