33 #include "private/ArnItemValve_p.hpp" 36 ArnItemValvePrivate::ArnItemValvePrivate()
39 _targetItem = arnNullptr;
43 ArnItemValvePrivate::~ArnItemValvePrivate()
49 :
ArnItemB( *new ArnItemValvePrivate, parent)
64 d->_targetItem = targetItem;
65 d->_switchMode = mode;
76 return d->_switchMode;
87 return d->_switchValue;
104 else if (value != d->_switchValue) {
105 d->_switchValue = value;
107 emit
changed( d->_switchValue);
112 void ArnItemValve::itemUpdated(
const ArnLinkHandle& handleData,
const QByteArray* value)
116 ArnItemB::itemUpdated( handleData, value);
119 d->_switchValue = (value->toInt() != 0);
124 emit
changed( d->_switchValue);
128 void ArnItemValve::doControl()
132 if (!d->_targetItem)
return;
135 (d->_targetItem->*&ArnItemValve::setEnableUpdNotify)( d->_switchValue);
137 (d->_targetItem->*&ArnItemValve::setEnableSetValue)( d->_switchValue);
void setValue(bool value)
Assign a bool to an Arn Data Object
ArnItemValve & operator=(bool value)
void setValue(const ArnBasicItem &other, int ignoreSame=Arn::SameValue::DefaultAction)
bool setTarget(ArnItemB *targetItem, SwitchMode mode=SwitchMode::InOutStream)
Valve for controlling stream to/from an ArnItemB.
bool toBool(bool *isOk=arnNullptr) const
SwitchMode switchMode() const
bool isOpen() const
State of the handle.
Control target item accepting assign of value (setValue)
Base class handle for an Arn Data Object.
Control target item notifying (signal) updated value.
ArnItemValve(QObject *parent=arnNullptr)
Assigning same value is ignored.