53 #include "../Entity.h"
54 #include "../Parameter.h"
55 using namespace ::br::pucrio::telemidia::ncl;
57 #include "../descriptor/GenericDescriptor.h"
58 using namespace ::br::pucrio::telemidia::ncl::descriptor;
60 #include "../components/NodeEntity.h"
61 using namespace ::br::pucrio::telemidia::ncl::components;
63 #include "../connectors/Connector.h"
64 #include "../connectors/Role.h"
65 using namespace ::br::pucrio::telemidia::ncl::connectors;
67 #include "../interfaces/InterfacePoint.h"
68 #include "../interfaces/SwitchPort.h"
69 using namespace ::br::pucrio::telemidia::ncl::interfaces;
82 class LinkComposition;
86 map<string, vector<Bind*>*> *roleBinds;
88 map<string, Parameter*> *parameters;
94 Link(
string id, Connector *connector);
96 Bind* bind(Node *node, InterfacePoint *interfPt,
97 GenericDescriptor *desc,
string roleId);
99 Bind* bind(Node *node, InterfacePoint *interfPt,
100 GenericDescriptor *desc, Role *role);
103 Bind* getBind(Node *node, InterfacePoint *interfPt,
104 GenericDescriptor *desc, Role *role);
106 vector<Bind*> *getBinds();
107 Connector *getConnector();
110 unsigned int getNumBinds();
111 unsigned int getNumRoleBinds(Role *role);
112 vector<Bind*> *getRoleBinds(Role *role);
115 void setConnector(Connector *connector);
116 bool unBind(
Bind *bind);
118 vector<Parameter*> *getParameters();
120 void removeParameter(
Parameter *parameter);
121 void updateConnector(Connector *newConnector);
122 bool containsNode(Node *node, GenericDescriptor *descriptor);
125 bool containsNode(Node *node, GenericDescriptor *descriptor,
126 vector<Bind*> *binds);
Definition: LinkComposition.h:63
Definition: Parameter.h:61