20 #ifndef __LINKINFO_HXX__
21 #define __LINKINFO_HXX__
41 class CollectorSwOutPort;
91 std::map<InfoReason, std::vector< std::pair<OutPort *,InPort *> > >
_infos;
92 std::map<WarnReason, std::vector< std::vector< std::pair<OutPort *,InPort *> > > >
_collapse;
93 std::map<ErrReason, std::vector< std::pair<OutPort *,InPort *> > >
_errors;
98 void startCollapseTransac();
99 void endCollapseTransac() throw(
Exception);
105 void pushUselessCFLink(
Node *start,
Node *end);
106 void takeDecision() const throw(Exception);
108 std::
string getGlobalRepr() const;
109 std::
string getInfoRepr() const;
110 std::
string getWarnRepr() const;
111 std::
string getErrRepr() const;
112 bool areWarningsOrErrors() const;
113 unsigned getNumberOfInfoLinks(
InfoReason reason) const;
114 unsigned getNumberOfWarnLinksGrp(
WarnReason reason) const;
115 unsigned getNumberOfErrLinks(
ErrReason reason) const;
116 std::set< std::pair<
Node *, Node *> > getInfoUselessLinks() const;
118 std::vector< std::pair<OutPort *,
InPort *> > getWarnLink(
unsigned id,
WarnReason reason) const;
119 std::pair<OutPort *,
InPort *> getErrLink(
unsigned id,
ErrReason reason) const;
121 static std::
string getStringReprOfI(
InfoReason reason);
122 static std::
string getStringReprOfW(
WarnReason reason);
123 static std::
string getStringReprOfE(
ErrReason reason);
124 static std::
string printThereIsAre(
unsigned val, const std::
string& other);
126 static const
unsigned char ALL_STOP_ASAP = 1;
127 static const
unsigned char ALL_DONT_STOP = 2;
128 static const
unsigned char WARN_ONLY_DONT_STOP = 3;