1 /* Copyright (c) 2014-2015. 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. */
9 #include "src/surf/cpu_interface.hpp"
10 #include "src/surf/network_interface.hpp"
11 #include "src/surf/maxmin_private.hpp"
13 typedef xbt_dynar_t LinkDynar;
14 typedef simgrid::surf::ActionList *ActionArrayPtr;
20 simgrid::surf::CpuModel *getCpuModel();
21 void setCpuModel(simgrid::surf::CpuModel *cpuModel);
23 void setCpu(char *name, simgrid::surf::Cpu *cpu);
25 LinkDynar getRoute(char *srcName, char *dstName);
30 std::cout << "Plugin::~Plugin()" << std:: endl;
33 void activateCpuCreatedCallback();
34 virtual void cpuCreatedCallback(simgrid::surf::Cpu *cpu) {}
36 void activateCpuDestructedCallback();
37 virtual void cpuDestructedCallback(simgrid::surf::Cpu *cpu) {}
39 void activateCpuStateChangedCallback();
40 virtual void cpuStateChangedCallback(simgrid::surf::Cpu *cpu, e_surf_resource_state_t, e_surf_resource_state_t) {}
42 void activateCpuActionStateChangedCallback();
43 virtual void cpuActionStateChangedCallback(simgrid::surf::CpuAction *action, e_surf_action_state_t, e_surf_action_state_t) {}
46 void activateLinkCreatedCallback();
47 virtual void networkLinkCreatedCallback(simgrid::surf::Link *link) {}
49 void activateLinkDestructedCallback();
50 virtual void networkLinkDestructedCallback(simgrid::surf::Link *link) {}
52 void activateLinkStateChangedCallback();
53 virtual void networkLinkStateChangedCallback(simgrid::surf::Link *link, e_surf_resource_state_t, e_surf_resource_state_t) {}
55 void activateNetworkActionStateChangedCallback();
56 virtual void networkActionStateChangedCallback(simgrid::surf::NetworkAction *action, e_surf_action_state_t old, e_surf_action_state_t cur) {}
58 void activateNetworkCommunicateCallback();
59 virtual void networkCommunicateCallback(simgrid::surf::NetworkAction *action, simgrid::surf::RoutingEdge *src, simgrid::surf::RoutingEdge *dst, double size, double rate) {}