diag_attrfailureevents.cpp
Go to the documentation of this file.
1/** @file diag_attrfailureevents.cpp
2 Implements failure and indicator events belonging to a common partition.
3*/
4
6
7using namespace std;
8
9namespace faudes {
10
11// faudes type std
12FAUDES_TYPE_IMPLEMENTATION(Void,AttributeFailureEvents,AttributeFlags)
13
14// Construct
16 // configure unregistered set type
17 mFailureEvents.Name("FailureEvents");
18 mFailureEvents.TypeName("FailureEvents");
19 mFailureEvents.ElementTag("Event");
20 mIndicatorEvents.Name("IndicatorEvents");
21 mIndicatorEvents.TypeName("IndicatorEvents");
22 mIndicatorEvents.ElementTag("Event");
23}
24
25
26// DoAssign()
32
33
34// Equality
36 // test base
37 if(!AttributeFlags::DoEqual(rAttr)) return false;
38 // my members
39 if(mFailureEvents!=rAttr.mFailureEvents) return false;
40 if(mIndicatorEvents!=rAttr.mIndicatorEvents) return false;
41 // pass
42 return true;
43}
44
45// IsDefault()
49
50// Clear()
55
56// DoWrite()
57void AttributeFailureEvents::DoWrite(TokenWriter& rTw, const std::string& rLabel, const Type* pContext) const {
58 if(IsDefault()) return;
59 AttributeFlags::DoWrite(rTw,"",pContext);
61 mFailureEvents.Write(rTw,"FailureEvents", pContext);
63 mIndicatorEvents.Write(rTw,"IndicatorEvents", pContext);
64}
65
66// DoXWrite()
67void AttributeFailureEvents::DoXWrite(TokenWriter& rTw, const std::string& rLabel, const Type* pContext) const {
68 if(IsDefault()) return;
69 AttributeFlags::DoXWrite(rTw,"",pContext);
71 mFailureEvents.XWrite(rTw,"FailureEvents", pContext);
73 mIndicatorEvents.XWrite(rTw,"IndicatorEvents", pContext);
74}
75
76
77
78// DoRead()
79void AttributeFailureEvents::DoRead(TokenReader &rTr, const std::string &rLabel, const Type *pContext) {
80 AttributeFlags::DoRead(rTr,"",pContext);
81 Token token;
82 while(1) {
83 rTr.Peek(token);
84 if(token.Type()!=Token::Begin) break;
85 if(token.StringValue()=="FailureEvents") {
86 mFailureEvents.Read(rTr, "FailureEvents", pContext);
87 continue;
88 }
89 if(token.StringValue()=="IndicatorEvents") {
90 mIndicatorEvents.Read(rTr, "IndicatorEvents", pContext);
91 continue;
92 }
93 break;
94 }
95}
96
97
98} // namespace faudes
99
#define FAUDES_TYPE_IMPLEMENTATION(ftype, ctype, cbase)
Definition cfl_types.h:958
virtual bool DoEuqal(const AttributeFailureEvents &rAttr) const
virtual void DoAssign(const AttributeFailureEvents &rSrcAttr)
void DoWrite(TokenWriter &rTw, const std::string &rLabel, const Type *pContext) const
void DoRead(TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
void DoXWrite(TokenWriter &rTw, const std::string &rLabel, const Type *pContext) const
bool DoEqual(const AttributeFlags &rOther) const
virtual void DoXWrite(TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
void DoAssign(const AttributeFlags &rSrcAttr)
virtual void DoWrite(TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
virtual void DoRead(TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
bool Peek(Token &token)
const std::string & StringValue(void) const
@ Begin
<label> (begin of section)
Definition cfl_token.h:84
TokenType Type(void) const
virtual void Name(const std::string &rName)
void Read(const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
virtual void XWrite(const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const
void Write(const Type *pContext=0) const
bool Empty(void) const
virtual void Clear(void)

libFAUDES 2.33k --- 2025.09.16 --- c++ api documentaion by doxygen