X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5faf49cdf3f8ad8751317b857a6d3134fe07eda3..caf6aba21918125649ff5a84fafb22e225b2d580:/src/surf/surf_routing_generic.hpp diff --git a/src/surf/surf_routing_generic.hpp b/src/surf/surf_routing_generic.hpp index ecf6975e06..96ffd16dbf 100644 --- a/src/surf/surf_routing_generic.hpp +++ b/src/surf/surf_routing_generic.hpp @@ -1,38 +1,48 @@ +/* Copyright (c) 2013-2015. The SimGrid Team. + * All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + +#include + #include "surf_routing_none.hpp" #ifndef SURF_ROUTING_GENERIC_HPP_ #define SURF_ROUTING_GENERIC_HPP_ -class AsGeneric; -typedef AsGeneric *AsGenericPtr; +namespace simgrid { +namespace surf { + +class XBT_PRIVATE AsGeneric; -class AsGeneric : public AsNone { +class XBT_PRIVATE AsGeneric : public AsNone { public: AsGeneric(); ~AsGeneric(); - void getRouteAndLatency(RoutingEdgePtr src, RoutingEdgePtr dst, sg_platf_route_cbarg_t into, double *latency); - xbt_dynar_t getOneLinkRoutes(); - void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges); - sg_platf_route_cbarg_t getBypassRoute(RoutingEdgePtr src, RoutingEdgePtr dst, double *lat); - void finalize(); + + virtual void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override; + virtual void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override; + virtual sg_platf_route_cbarg_t getBypassRoute(NetCard *src, NetCard *dst, double *lat) override; /* The parser calls the following functions to inform the routing models * that a new element is added to the AS currently built. * * Of course, only the routing model of this AS is informed, not every ones */ - int parsePU(RoutingEdgePtr elm); /* A host or a router, whatever */ - int parseAS( RoutingEdgePtr elm); - void parseRoute(sg_platf_route_cbarg_t route); - void parseASroute(sg_platf_route_cbarg_t route); - void parseBypassroute(sg_platf_route_cbarg_t e_route); - - xbt_dynar_t getOnelinkRoutes(); - sg_platf_route_cbarg_t getBypassroute(RoutingEdgePtr src, RoutingEdgePtr dst, double *lat); - sg_platf_route_cbarg_t newExtendedRoute(e_surf_routing_hierarchy_t hierarchy, sg_platf_route_cbarg_t routearg, int change_order); - AsPtr asExist(AsPtr to_find); - AsPtr autonomousSystemExist(char *element); - AsPtr processingUnitsExist(char *element); - void srcDstCheck(RoutingEdgePtr src, RoutingEdgePtr dst); + virtual int parsePU(NetCard *elm) override; /* A host or a router, whatever */ + virtual int parseAS(NetCard *elm) override; + virtual void parseRoute(sg_platf_route_cbarg_t route) override; + virtual void parseASroute(sg_platf_route_cbarg_t route) override; + virtual void parseBypassroute(sg_platf_route_cbarg_t e_route) override; + + virtual sg_platf_route_cbarg_t newExtendedRoute(e_surf_routing_hierarchy_t hierarchy, sg_platf_route_cbarg_t routearg, int change_order); + virtual As *asExist(As *to_find); + virtual As *autonomousSystemExist(char *element); + virtual As *processingUnitsExist(char *element); + virtual void srcDstCheck(NetCard *src, NetCard *dst); }; +} +} + #endif /* SURF_ROUTING_GENERIC_HPP_ */