-/** @ingroup SURF_routing_interface
- * @brief A routing edge
- * @details [long description]
- */
-struct RoutingEdge {
-public:
- virtual ~RoutingEdge(){};
- virtual int getId()=0;
- virtual int *getIdPtr()=0;
- virtual void setId(int id)=0;
- virtual char *getName()=0;
- virtual AsPtr getRcComponent()=0;
- virtual e_surf_network_element_type_t getRcType()=0;
-};
-
-struct RoutingEdgeImpl : public RoutingEdge {
-public:
- RoutingEdgeImpl(char *name, int id, e_surf_network_element_type_t rcType, AsPtr rcComponent)
- : p_rcComponent(rcComponent), p_rcType(rcType), m_id(id), p_name(name) {}
- ~RoutingEdgeImpl() { xbt_free(p_name);};
-
- int getId() {return m_id;}
- int *getIdPtr() {return &m_id;}
- void setId(int id) {m_id = id;}
- char *getName() {return p_name;}
- AsPtr getRcComponent() {return p_rcComponent;}
- e_surf_network_element_type_t getRcType() {return p_rcType;}
-private:
- AsPtr p_rcComponent;
- e_surf_network_element_type_t p_rcType;
- int m_id;
- char *p_name;
-};
-
-struct RoutingEdgeWrapper : public RoutingEdge {