Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
5432d48d4d722612eb0a34ada8d9a10584c0b274
[simgrid.git] / src / bindings / java / surf_swig.cpp
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"
5
6
7 double getClock() {
8   return surf_get_clock();
9 }
10
11 void clean() {
12   SIMIX_clean();
13 }
14
15 /*NetworkModel *getNetworkModel()
16 {
17   return surf_network_model;
18 }*/
19
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);
23   if (src==NULL)
24     xbt_die("TOTO");
25   if (dst==NULL)
26     xbt_die("TOTO");
27   printf("src: %s\ndst: %s\n", src->getName(), dst->getName());
28   xbt_dynar_t route = xbt_dynar_new(sizeof(RoutingEdgePtr), NULL);
29   routing_platf->getRouteAndLatency(src, dst, &route, NULL);
30   return route;
31 }
32
33 void Plugin::activateCpuCreatedCallback(){
34   surf_callback_connect(cpuCreatedCallbacks, boost::bind(&Plugin::cpuCreatedCallback, this, _1));
35 }
36
37 void Plugin::activateCpuDestructedCallback(){
38   surf_callback_connect(cpuDestructedCallbacks, boost::bind(&Plugin::cpuDestructedCallback, this, _1));
39 }
40
41 void Plugin::activateCpuStateChangedCallback(){
42   surf_callback_connect(cpuStateChangedCallbacks, boost::bind(&Plugin::cpuStateChangedCallback, this, _1, _2, _3));
43 }
44
45 void Plugin::activateCpuActionStateChangedCallback(){
46   surf_callback_connect(cpuActionStateChangedCallbacks, boost::bind(&Plugin::cpuActionStateChangedCallback, this, _1, _2, _3));
47 }
48
49
50 void Plugin::activateNetworkLinkCreatedCallback(){
51   surf_callback_connect(networkLinkCreatedCallbacks, boost::bind(&Plugin::networkLinkCreatedCallback, this, _1));
52 }
53
54 void Plugin::activateNetworkLinkDestructedCallback(){
55   surf_callback_connect(networkLinkDestructedCallbacks, boost::bind(&Plugin::networkLinkDestructedCallback, this, _1));
56 }
57
58 void Plugin::activateNetworkLinkStateChangedCallback(){
59   surf_callback_connect(networkLinkStateChangedCallbacks, boost::bind(&Plugin::networkLinkStateChangedCallback, this, _1, _2, _3));
60 }
61
62 void Plugin::activateNetworkActionStateChangedCallback(){
63   surf_callback_connect(networkActionStateChangedCallbacks, boost::bind(&Plugin::networkActionStateChangedCallback, this, _1, _2, _3));
64 }
65
66