Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add java surf plugin
[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 double getClock();
8
9 class Plugin {
10 public:
11  virtual ~Plugin() { 
12    std::cout << "Plugin::~Plugin()" << std:: endl;
13  }
14
15  void exit() {
16    surf_exit();
17  }
18
19  void activateCpuCreatedCallback(); 
20  virtual void cpuCreatedCallback(Cpu *cpu) {}
21
22  void activateCpuDestructedCallback();
23  virtual void cpuDestructedCallback(Cpu *cpu) {}
24  
25  void activateCpuStateChangedCallback();
26  virtual void cpuStateChangedCallback(Cpu *cpu) {}
27
28  void activateCpuActionStateChangedCallback();
29  virtual void cpuActionStateChangedCallback(CpuAction *action) {}
30
31
32  void activateNetworkLinkCreatedCallback();
33  virtual void networkLinkCreatedCallback(NetworkLink *link) {}
34
35  void activateNetworkLinkDestructedCallback();
36  virtual void networkLinkDestructedCallback(NetworkLink *link) {}
37
38  void activateNetworkLinkStateChangedCallback();
39  virtual void networkLinkStateChangedCallback(NetworkLink *link) {}
40
41  void activateNetworkActionStateChangedCallback();
42  virtual void networkActionStateChangedCallback(NetworkAction *action) {}
43
44 };
45
46