Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[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   xbt_dynar_t route = xbt_dynar_new(sizeof(RoutingEdgePtr), NULL);
28   routing_platf->getRouteAndLatency(src, dst, &route, NULL);
29   return route;
30 }
31
32 void Plugin::activateCpuCreatedCallback(){
33   surf_callback_connect(cpuCreatedCallbacks, boost::bind(&Plugin::cpuCreatedCallback, this, _1));
34 }
35
36 void Plugin::activateCpuDestructedCallback(){
37   surf_callback_connect(cpuDestructedCallbacks, boost::bind(&Plugin::cpuDestructedCallback, this, _1));
38 }
39
40 void Plugin::activateCpuStateChangedCallback(){
41   surf_callback_connect(cpuStateChangedCallbacks, boost::bind(&Plugin::cpuStateChangedCallback, this, _1, _2, _3));
42 }
43
44 void Plugin::activateCpuActionStateChangedCallback(){
45   surf_callback_connect(cpuActionStateChangedCallbacks, boost::bind(&Plugin::cpuActionStateChangedCallback, this, _1, _2, _3));
46 }
47
48
49 void Plugin::activateNetworkLinkCreatedCallback(){
50   surf_callback_connect(networkLinkCreatedCallbacks, boost::bind(&Plugin::networkLinkCreatedCallback, this, _1));
51 }
52
53 void Plugin::activateNetworkLinkDestructedCallback(){
54   surf_callback_connect(networkLinkDestructedCallbacks, boost::bind(&Plugin::networkLinkDestructedCallback, this, _1));
55 }
56
57 void Plugin::activateNetworkLinkStateChangedCallback(){
58   surf_callback_connect(networkLinkStateChangedCallbacks, boost::bind(&Plugin::networkLinkStateChangedCallback, this, _1, _2, _3));
59 }
60
61 void Plugin::activateNetworkActionStateChangedCallback(){
62   surf_callback_connect(networkActionStateChangedCallbacks, boost::bind(&Plugin::networkActionStateChangedCallback, this, _1, _2, _3));
63 }
64
65 void Plugin::activateNetworkCommunicateCallback(){
66   surf_callback_connect(networkCommunicateCallbacks, boost::bind(&Plugin::networkCommunicateCallback, this, _1, _2, _3, _4, _5));
67 }
68
69
70