Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git] / src / kernel / routing / AsRoutedGraph.hpp
1 /* Copyright (c) 2013-2016. The SimGrid Team. All rights reserved.          */
2
3 /* This program is free software; you can redistribute it and/or modify it
4  * under the terms of the license (GNU LGPL) which comes with this package. */
5
6 #ifndef SIMGRID_ROUTING_GENERIC_HPP_
7 #define SIMGRID_ROUTING_GENERIC_HPP_
8
9 #include "src/kernel/routing/AsImpl.hpp"
10
11 namespace simgrid {
12 namespace kernel {
13 namespace routing {
14
15 class XBT_PRIVATE AsRoutedGraph : public AsImpl {
16 public:
17   explicit AsRoutedGraph(As* father, const char* name);
18
19   void getOneLinkRoutes(std::vector<Onelink*>* accumulator) override;
20
21   void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override;
22   virtual sg_platf_route_cbarg_t newExtendedRoute(RoutingMode hierarchy, sg_platf_route_cbarg_t routearg, int change_order);
23 protected:
24   void getRouteCheckParams(NetCard *src, NetCard *dst);
25   void addRouteCheckParams(sg_platf_route_cbarg_t route);
26 };
27
28 }}} // namespace
29
30 #endif /* SIMGRID_ROUTING_GENERIC_HPP_ */