7fd59977 |
1 | #include <IFSelect_SignValidity.ixx> |
2 | #include <Interface_Check.hxx> |
3 | |
4 | |
5 | static Standard_CString nulsign = ""; |
6 | |
7 | |
8 | //======================================================================= |
9 | //function : IFSelect_SignValidity |
10 | //purpose : |
11 | //======================================================================= |
12 | |
13 | IFSelect_SignValidity::IFSelect_SignValidity() : IFSelect_Signature ("Validity") |
14 | { |
15 | AddCase ("UNKNOWN"); |
16 | AddCase ("UNLOADED"); |
17 | AddCase ("Load-Error"); |
18 | AddCase ("Data-Error"); |
19 | AddCase ("Load-Warning"); |
20 | AddCase ("Data-Warning"); |
21 | AddCase ("OK"); |
22 | } |
23 | |
24 | |
25 | //======================================================================= |
26 | //function : CVal |
27 | //purpose : |
28 | //======================================================================= |
29 | |
30 | Standard_CString IFSelect_SignValidity::CVal(const Handle(Standard_Transient)& ent, |
31 | const Handle(Interface_InterfaceModel)& model) |
32 | { |
33 | if (ent.IsNull() || model.IsNull()) return nulsign; |
34 | Standard_Integer num = model->Number(ent); |
35 | Standard_Integer cas = 0; |
36 | if (model->IsUnknownEntity(num)) return "UNKNOWN"; |
37 | if (model->IsRedefinedContent(num)) return "UNLOADED"; |
38 | |
39 | const Handle(Interface_Check) ch1 = model->Check(num,Standard_True); |
40 | const Handle(Interface_Check) ch2 = model->Check(num,Standard_False); |
41 | if (ch1->NbFails() > 0) return "Load-Error"; |
42 | else if (ch1->NbWarnings() > 0) cas = 1; |
43 | |
44 | if (ch2->NbFails() > 0) return "Data-Error"; |
45 | else if (cas == 1) return "Load-Warning"; |
46 | else if (ch2->NbWarnings() > 0) return "Data-Warning"; |
47 | |
48 | return "OK"; |
49 | } |
50 | |
51 | |
52 | //======================================================================= |
53 | //function : Value |
54 | //purpose : |
55 | //======================================================================= |
56 | |
57 | Standard_CString IFSelect_SignValidity::Value |
58 | (const Handle(Standard_Transient)& ent, |
59 | const Handle(Interface_InterfaceModel)& model) const |
60 | { |
61 | return IFSelect_SignValidity::CVal(ent,model); |
62 | } |