Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "Remove XBT_INFO call"
[simgrid.git] / src / bindings / java / surf_swig.hpp
1 #include <cstdio>
2 #include <iostream>
3 #include "src/surf/cpu_interface.hpp"
4 #include "src/surf/network_interface.hpp"
5 #include "src/surf/maxmin_private.hpp"
6
7 typedef xbt_dynar_t NetworkLinkDynar;
8
9 double getClock();
10
11 void clean();
12
13 NetworkLinkDynar getRoute(char *srcName, char *dstName);
14
15 class Plugin {
16 public:
17  virtual ~Plugin() {
18    std::cout << "Plugin::~Plugin()" << std:: endl;
19  }
20
21  void activateCpuCreatedCallback();
22  virtual void cpuCreatedCallback(Cpu *cpu) {}
23
24  void activateCpuDestructedCallback();
25  virtual void cpuDestructedCallback(Cpu *cpu) {}
26
27  void activateCpuStateChangedCallback();
28  virtual void cpuStateChangedCallback(Cpu *cpu, e_surf_resource_state_t, e_surf_resource_state_t) {}
29
30  void activateCpuActionStateChangedCallback();
31  virtual void cpuActionStateChangedCallback(CpuAction *action, e_surf_action_state_t, e_surf_action_state_t) {}
32
33
34  void activateNetworkLinkCreatedCallback();
35  virtual void networkLinkCreatedCallback(NetworkLink *link) {}
36
37  void activateNetworkLinkDestructedCallback();
38  virtual void networkLinkDestructedCallback(NetworkLink *link) {}
39
40  void activateNetworkLinkStateChangedCallback();
41  virtual void networkLinkStateChangedCallback(NetworkLink *link, e_surf_resource_state_t, e_surf_resource_state_t) {}
42
43  void activateNetworkActionStateChangedCallback();
44  virtual void networkActionStateChangedCallback(NetworkAction *action, e_surf_action_state_t old, e_surf_action_state_t cur) {}
45
46  void activateNetworkCommunicateCallback();
47  virtual void networkCommunicateCallback(NetworkAction *action, RoutingEdge *src, RoutingEdge *dst, double size, double rate) {}
48 };