26 virtual void setQ(uint16_t q) { Q = q; }
27 virtual uint16_t getQ()
const {
return Q; }
28 virtual Type getType()
const = 0;
30 void rename(
const String& newName) {
31 String oldName = name;
33 INFO_PRINTLN(
"[Interface] Interface renamed " + oldName +
" to " + name);
36 T as() {
return static_cast<T
>(
this);}
38 void validate() { _valid =
true; }
39 void validate(
bool state) { _valid = state; }
40 void invalidate() { _invalid =
true; }
41 bool isValid() {
return _valid && !_invalid; }
42 bool isInvalid() {
return _invalid; }
44 String getName()
const {
return name; }
47 Interface() =
default;
50 bool _invalid =
false;