1 /* Copyright (c) 2014. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
7 #include <boost/lambda/bind.hpp>
8 #include "src/surf/surf_interface.hpp"
9 #include "surf_swig.hpp"
10 #include "src/simix/smx_private.h"
14 return surf_get_clock();
21 /*NetworkModel *getNetworkModel()
23 return surf_network_model;
26 NetworkLinkDynar getRoute(char *srcName, char *dstName) {
27 RoutingEdge *src = (RoutingEdge*)xbt_lib_get_or_null(host_lib, srcName, ROUTING_HOST_LEVEL);
28 RoutingEdge *dst = (RoutingEdge*)xbt_lib_get_or_null(host_lib, dstName, ROUTING_HOST_LEVEL);
33 xbt_dynar_t route = xbt_dynar_new(sizeof(RoutingEdgePtr), NULL);
34 routing_platf->getRouteAndLatency(src, dst, &route, NULL);
38 void Plugin::activateCpuCreatedCallback(){
39 surf_callback_connect(cpuCreatedCallbacks, boost::bind(&Plugin::cpuCreatedCallback, this, _1));
42 void Plugin::activateCpuDestructedCallback(){
43 surf_callback_connect(cpuDestructedCallbacks, boost::bind(&Plugin::cpuDestructedCallback, this, _1));
46 void Plugin::activateCpuStateChangedCallback(){
47 surf_callback_connect(cpuStateChangedCallbacks, boost::bind(&Plugin::cpuStateChangedCallback, this, _1, _2, _3));
50 void Plugin::activateCpuActionStateChangedCallback(){
51 surf_callback_connect(cpuActionStateChangedCallbacks, boost::bind(&Plugin::cpuActionStateChangedCallback, this, _1, _2, _3));
55 void Plugin::activateNetworkLinkCreatedCallback(){
56 surf_callback_connect(networkLinkCreatedCallbacks, boost::bind(&Plugin::networkLinkCreatedCallback, this, _1));
59 void Plugin::activateNetworkLinkDestructedCallback(){
60 surf_callback_connect(networkLinkDestructedCallbacks, boost::bind(&Plugin::networkLinkDestructedCallback, this, _1));
63 void Plugin::activateNetworkLinkStateChangedCallback(){
64 surf_callback_connect(networkLinkStateChangedCallbacks, boost::bind(&Plugin::networkLinkStateChangedCallback, this, _1, _2, _3));
67 void Plugin::activateNetworkActionStateChangedCallback(){
68 surf_callback_connect(networkActionStateChangedCallbacks, boost::bind(&Plugin::networkActionStateChangedCallback, this, _1, _2, _3));
71 void Plugin::activateNetworkCommunicateCallback(){
72 surf_callback_connect(networkCommunicateCallbacks, boost::bind(&Plugin::networkCommunicateCallback, this, _1, _2, _3, _4, _5));