@@ -41,6 +41,7 @@ class WbasicDatDom : public aDominoType
4141 // forbid ouside use base directly
4242 using aDominoType::getData;
4343 using aDominoType::replaceDataOK;
44+ bool isWrCtrl_ (Domino::Event aEv) const noexcept { return aEv < wrCtrl_.size () ? wrCtrl_[aEv] : false ; }
4445 // -------------------------------------------------------------------------------------------
4546 std::vector<bool > wrCtrl_;
4647
@@ -52,8 +53,9 @@ class WbasicDatDom : public aDominoType
5253template <typename aDominoType>
5354S_PTR<void > WbasicDatDom<aDominoType>::getData(const Domino::EvName& aEvName) const noexcept
5455{
55- if (not isWrCtrl (aEvName))
56- return aDominoType::getData (aEvName);
56+ const auto ev = this ->getEventBy (aEvName);
57+ if (not isWrCtrl_ (ev))
58+ return aDominoType::getData_ (ev);
5759
5860 WRN (" (WbasicDatDom) Failed!!! EvName=" << aEvName << " is not write-protect so unavailable via this func!!!" );
5961 return nullptr ;
@@ -63,15 +65,15 @@ S_PTR<void> WbasicDatDom<aDominoType>::getData(const Domino::EvName& aEvName) co
6365template <typename aDominoType>
6466bool WbasicDatDom<aDominoType>::isWrCtrl(const Domino::EvName& aEvName) const noexcept
6567{
66- const auto ev = this ->getEventBy (aEvName);
67- return ev < wrCtrl_.size () ? wrCtrl_[ev] : false ;
68+ return isWrCtrl_ (this ->getEventBy (aEvName));
6869}
6970
7071// ***********************************************************************************************
7172template <typename aDominoType>
7273bool WbasicDatDom<aDominoType>::replaceDataOK(const Domino::EvName& aEvName, S_PTR<void > aData) noexcept
7374{
74- if (isWrCtrl (aEvName)) {
75+ const auto ev = this ->getEventBy (aEvName);
76+ if (isWrCtrl_ (ev)) {
7577 WRN (" (WbasicDatDom) Failed!!! EvName=" << aEvName << " is not write-protect so unavailable via this func!!!" )
7678 return false ;
7779 }
@@ -92,8 +94,9 @@ void WbasicDatDom<aDominoType>::rmEv_(Domino::Event aValidEv) noexcept
9294template <typename aDominoType>
9395S_PTR<void > WbasicDatDom<aDominoType>::wbasic_getData(const Domino::EvName& aEvName) const noexcept
9496{
95- if (isWrCtrl (aEvName))
96- return aDominoType::getData (aEvName);
97+ const auto ev = this ->getEventBy (aEvName);
98+ if (isWrCtrl_ (ev))
99+ return aDominoType::getData_ (ev);
97100
98101 WRN (" (WbasicDatDom) Failed!!! EvName=" << aEvName << " is not write-protect so unavailable via this func!!!" );
99102 return nullptr ;
@@ -103,7 +106,8 @@ S_PTR<void> WbasicDatDom<aDominoType>::wbasic_getData(const Domino::EvName& aEvN
103106template <typename aDominoType>
104107bool WbasicDatDom<aDominoType>::wbasic_replaceDataOK(const Domino::EvName& aEvName, S_PTR<void > aData) noexcept
105108{
106- if (isWrCtrl (aEvName))
109+ const auto ev = this ->getEventBy (aEvName);
110+ if (isWrCtrl_ (ev))
107111 return aDominoType::replaceDataOK (aEvName, std::move (aData));
108112 else {
109113 WRN (" (WbasicDatDom) Failed!!! EvName=" << aEvName << " is not write-protect so unavailable via this func!!!" )
@@ -115,13 +119,13 @@ bool WbasicDatDom<aDominoType>::wbasic_replaceDataOK(const Domino::EvName& aEvNa
115119template <typename aDominoType>
116120bool WbasicDatDom<aDominoType>::wrCtrlOk(const Domino::EvName& aEvName, const bool aNewState) noexcept
117121{
118- if (aDominoType::getData (aEvName))
122+ const auto ev = this ->newEvent (aEvName);
123+ if (aDominoType::getData_ (ev))
119124 {
120125 WRN (" (WbasicDatDom) !!! Failed to change wrCtrl when aleady own data(out-of-ctrl), EvName=" << aEvName);
121126 return false ;
122127 }
123128
124- const auto ev = this ->newEvent (aEvName);
125129 if (ev >= wrCtrl_.size ())
126130 wrCtrl_.resize (ev + 1 ); // resize() can inc size()
127131 wrCtrl_[ev] = aNewState;
0 commit comments