diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index 471269b8b..a9df10f92 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -120,7 +120,7 @@ Interpreter::Interpreter(Instance *aInstance) , mPingHopLimit(0) , mPingAllowZeroHopLimit(false) , mPingIdentifier(0) - , mPingTimer(*aInstance, Interpreter::HandlePingTimer, this) + , mPingTimer(*aInstance, Interpreter::HandlePingTimer) #if OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE , mResolvingInProgress(false) #endif @@ -4821,16 +4821,10 @@ void Interpreter::SetUserCommands(const otCliCommand *aCommands, uint8_t aLength mUserCommandsContext = aContext; } -Interpreter &Interpreter::GetOwner(OwnerLocator &aOwnerLocator) +Interpreter &Interpreter::GetOwner(InstanceLocator &aInstanceLocator) { -#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE - Interpreter &interpreter = (aOwnerLocator.GetOwner()); -#else - OT_UNUSED_VARIABLE(aOwnerLocator); - - Interpreter &interpreter = Interpreter::GetInterpreter(); -#endif - return interpreter; + OT_UNUSED_VARIABLE(aInstanceLocator); + return Interpreter::GetInterpreter(); } void Interpreter::SignalPingRequest(const Ip6::Address &aPeerAddress, diff --git a/src/cli/cli.hpp b/src/cli/cli.hpp index 7c12afe1d..8cc2abf69 100644 --- a/src/cli/cli.hpp +++ b/src/cli/cli.hpp @@ -596,7 +596,7 @@ private: const char *LinkMetricsStatusToStr(uint8_t aStatus); #endif // OPENTHREAD_CONFIG_MLE_LINK_METRICS_ENABLE - static Interpreter &GetOwner(OwnerLocator &aOwnerLocator); + static Interpreter &GetOwner(InstanceLocator &aInstanceLocator); static void HandleDiscoveryRequest(const otThreadDiscoveryRequestInfo *aInfo, void *aContext) { diff --git a/src/core/backbone_router/bbr_manager.cpp b/src/core/backbone_router/bbr_manager.cpp index 43519f349..af709d118 100644 --- a/src/core/backbone_router/bbr_manager.cpp +++ b/src/core/backbone_router/bbr_manager.cpp @@ -63,7 +63,7 @@ Manager::Manager(Instance &aInstance) #if OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE , mMulticastListenersTable(aInstance) #endif - , mTimer(aInstance, Manager::HandleTimer, this) + , mTimer(aInstance, Manager::HandleTimer) , mBackboneTmfAgent(aInstance) #if OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE #if OPENTHREAD_CONFIG_BACKBONE_ROUTER_DUA_NDPROXYING_ENABLE @@ -141,6 +141,11 @@ void Manager::HandleNotifierEvents(Events aEvents) } } +void Manager::HandleTimer(Timer &aTimer) +{ + aTimer.Get().HandleTimer(); +} + void Manager::HandleTimer(void) { #if OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE diff --git a/src/core/backbone_router/bbr_manager.hpp b/src/core/backbone_router/bbr_manager.hpp index 597aa03f4..aa29524bf 100644 --- a/src/core/backbone_router/bbr_manager.hpp +++ b/src/core/backbone_router/bbr_manager.hpp @@ -229,7 +229,7 @@ private: #endif void HandleNotifierEvents(Events aEvents); - static void HandleTimer(Timer &aTimer) { aTimer.GetOwner().HandleTimer(); } + static void HandleTimer(Timer &aTimer); void HandleTimer(void); #if OPENTHREAD_CONFIG_BACKBONE_ROUTER_MULTICAST_ROUTING_ENABLE diff --git a/src/core/border_router/routing_manager.cpp b/src/core/border_router/routing_manager.cpp index 491545dc1..64bf4dc98 100644 --- a/src/core/border_router/routing_manager.cpp +++ b/src/core/border_router/routing_manager.cpp @@ -65,10 +65,10 @@ RoutingManager::RoutingManager(Instance &aInstance) , mAdvertisedOmrPrefixNum(0) , mAdvertisedOnLinkPrefix(nullptr) , mDiscoveredPrefixNum(0) - , mDiscoveredPrefixInvalidTimer(aInstance, HandleDiscoveredPrefixInvalidTimer, this) - , mRouterAdvertisementTimer(aInstance, HandleRouterAdvertisementTimer, this) + , mDiscoveredPrefixInvalidTimer(aInstance, HandleDiscoveredPrefixInvalidTimer) + , mRouterAdvertisementTimer(aInstance, HandleRouterAdvertisementTimer) , mRouterAdvertisementCount(0) - , mRouterSolicitTimer(aInstance, HandleRouterSolicitTimer, this) + , mRouterSolicitTimer(aInstance, HandleRouterSolicitTimer) , mRouterSolicitCount(0) { mLocalOmrPrefix.Clear(); @@ -772,7 +772,7 @@ bool RoutingManager::IsValidOnLinkPrefix(const Ip6::Prefix &aOnLinkPrefix) void RoutingManager::HandleRouterAdvertisementTimer(Timer &aTimer) { - aTimer.GetOwner().HandleRouterAdvertisementTimer(); + aTimer.Get().HandleRouterAdvertisementTimer(); } void RoutingManager::HandleRouterAdvertisementTimer(void) @@ -784,7 +784,7 @@ void RoutingManager::HandleRouterAdvertisementTimer(void) void RoutingManager::HandleRouterSolicitTimer(Timer &aTimer) { - aTimer.GetOwner().HandleRouterSolicitTimer(); + aTimer.Get().HandleRouterSolicitTimer(); } void RoutingManager::HandleRouterSolicitTimer(void) @@ -824,7 +824,7 @@ void RoutingManager::HandleRouterSolicitTimer(void) void RoutingManager::HandleDiscoveredPrefixInvalidTimer(Timer &aTimer) { - aTimer.GetOwner().HandleDiscoveredPrefixInvalidTimer(); + aTimer.Get().HandleDiscoveredPrefixInvalidTimer(); } void RoutingManager::HandleDiscoveredPrefixInvalidTimer(void) diff --git a/src/core/common/locator-getters.hpp b/src/core/common/locator-getters.hpp index 43ed54cf0..dc87b40c5 100644 --- a/src/core/common/locator-getters.hpp +++ b/src/core/common/locator-getters.hpp @@ -63,15 +63,6 @@ template inline Type &InstanceLocator::Get(void) const return GetInstance().Get(); } -#if !OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE - -template OwnerType &OwnerLocator::GetOwner(void) -{ - return Instance::Get().Get(); -} - -#endif - } // namespace ot #endif // LOCATOR_GETTERS_HPP_ diff --git a/src/core/common/locator.hpp b/src/core/common/locator.hpp index e2bc32bc5..30350c31f 100644 --- a/src/core/common/locator.hpp +++ b/src/core/common/locator.hpp @@ -161,54 +161,6 @@ protected: } }; -/** - * This class implements a locator for owner of an object. - * - * This is used as the base class for objects that provide a callback (e.g., `Timer` or `Tasklet`). - * - */ -class OwnerLocator -{ -public: - /** - * This template method returns a reference to the owner object. - * - * The caller needs to provide the `OwnerType` as part of the template type. - * - * @returns A reference to the owner of this object. - * - */ - template OwnerType &GetOwner(void) -#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE - { - return *static_cast(mOwner); - } -#else - // Implemented in `locator-getters.hpp` - ; -#endif - -protected: - /** - * This constructor initializes the object. - * - * @param[in] aOwner A pointer to the owner object (as `void *`). - * - */ - explicit OwnerLocator(void *aOwner) -#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE - : mOwner(aOwner) -#endif - { - OT_UNUSED_VARIABLE(aOwner); - } - -#if OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE -private: - void *mOwner; -#endif -}; - /** * @} * diff --git a/src/core/common/notifier.cpp b/src/core/common/notifier.cpp index d1b98ab45..6f970f4ba 100644 --- a/src/core/common/notifier.cpp +++ b/src/core/common/notifier.cpp @@ -43,7 +43,7 @@ namespace ot { Notifier::Notifier(Instance &aInstance) : InstanceLocator(aInstance) - , mTask(aInstance, Notifier::EmitEvents, this) + , mTask(aInstance, Notifier::EmitEvents) { for (ExternalCallback &callback : mExternalCallbacks) { @@ -117,7 +117,7 @@ void Notifier::SignalIfFirst(Event aEvent) void Notifier::EmitEvents(Tasklet &aTasklet) { - aTasklet.GetOwner().EmitEvents(); + aTasklet.Get().EmitEvents(); } void Notifier::EmitEvents(void) diff --git a/src/core/common/tasklet.cpp b/src/core/common/tasklet.cpp index de8bab9f5..68ff27e91 100644 --- a/src/core/common/tasklet.cpp +++ b/src/core/common/tasklet.cpp @@ -41,9 +41,8 @@ namespace ot { -Tasklet::Tasklet(Instance &aInstance, Handler aHandler, void *aOwner) +Tasklet::Tasklet(Instance &aInstance, Handler aHandler) : InstanceLocator(aInstance) - , OwnerLocator(aOwner) , mHandler(aHandler) , mNext(nullptr) { diff --git a/src/core/common/tasklet.hpp b/src/core/common/tasklet.hpp index 198858c6f..9d9b9e5be 100644 --- a/src/core/common/tasklet.hpp +++ b/src/core/common/tasklet.hpp @@ -61,7 +61,7 @@ class TaskletScheduler; * This class is used to represent a tasklet. * */ -class Tasklet : public InstanceLocator, public OwnerLocator +class Tasklet : public InstanceLocator { friend class TaskletScheduler; @@ -79,10 +79,9 @@ public: * * @param[in] aInstance A reference to the OpenThread instance object. * @param[in] aHandler A pointer to a function that is called when the tasklet is run. - * @param[in] aOwner A pointer to owner of this `Tasklet` object. * */ - Tasklet(Instance &aInstance, Handler aHandler, void *aOwner); + Tasklet(Instance &aInstance, Handler aHandler); /** * This method puts the tasklet on the tasklet scheduler run queue. @@ -129,7 +128,7 @@ public: * */ TaskletContext(Instance &aInstance, Handler aHandler, void *aContext) - : Tasklet(aInstance, aHandler, aContext) + : Tasklet(aInstance, aHandler) , mContext(aContext) { } diff --git a/src/core/common/time_ticker.cpp b/src/core/common/time_ticker.cpp index 10461d098..28834b98c 100644 --- a/src/core/common/time_ticker.cpp +++ b/src/core/common/time_ticker.cpp @@ -45,7 +45,7 @@ namespace ot { TimeTicker::TimeTicker(Instance &aInstance) : InstanceLocator(aInstance) , mReceivers(0) - , mTimer(aInstance, HandleTimer, this) + , mTimer(aInstance, HandleTimer) { } @@ -71,7 +71,7 @@ void TimeTicker::UnregisterReceiver(Receiver aReceiver) void TimeTicker::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void TimeTicker::HandleTimer(void) diff --git a/src/core/common/timer.hpp b/src/core/common/timer.hpp index 751eff188..7158fb19d 100644 --- a/src/core/common/timer.hpp +++ b/src/core/common/timer.hpp @@ -67,7 +67,7 @@ class TimerMilliScheduler; * This class implements a timer. * */ -class Timer : public InstanceLocator, public OwnerLocator, public LinkedListEntry +class Timer : public InstanceLocator, public LinkedListEntry { friend class TimerScheduler; friend class LinkedListEntry; @@ -92,12 +92,10 @@ public: * * @param[in] aInstance A reference to the OpenThread instance. * @param[in] aHandler A pointer to a function that is called when the timer expires. - * @param[in] aOwner A pointer to owner of the `Timer` object. * */ - Timer(Instance &aInstance, Handler aHandler, void *aOwner) + Timer(Instance &aInstance, Handler aHandler) : InstanceLocator(aInstance) - , OwnerLocator(aOwner) , mHandler(aHandler) , mFireTime() , mNext(this) @@ -153,11 +151,10 @@ public: * * @param[in] aInstance A reference to the OpenThread instance. * @param[in] aHandler A pointer to a function that is called when the timer expires. - * @param[in] aOwner A pointer to the owner of the `TimerMilli` object. * */ - TimerMilli(Instance &aInstance, Handler aHandler, void *aOwner) - : Timer(aInstance, aHandler, aOwner) + TimerMilli(Instance &aInstance, Handler aHandler) + : Timer(aInstance, aHandler) { } @@ -231,7 +228,7 @@ public: * */ TimerMilliContext(Instance &aInstance, Handler aHandler, void *aContext) - : TimerMilli(aInstance, aHandler, aContext) + : TimerMilli(aInstance, aHandler) , mContext(aContext) { } @@ -375,11 +372,10 @@ public: * * @param[in] aInstance A reference to the OpenThread instance. * @param[in] aHandler A pointer to a function that is called when the timer expires. - * @param[in] aOwner A pointer to owner of the `TimerMicro` object. * */ - TimerMicro(Instance &aInstance, Handler aHandler, void *aOwner) - : Timer(aInstance, aHandler, aOwner) + TimerMicro(Instance &aInstance, Handler aHandler) + : Timer(aInstance, aHandler) { } diff --git a/src/core/common/trickle_timer.cpp b/src/core/common/trickle_timer.cpp index b8f46551c..322d2dac4 100644 --- a/src/core/common/trickle_timer.cpp +++ b/src/core/common/trickle_timer.cpp @@ -44,9 +44,8 @@ TrickleTimer::TrickleTimer(Instance &aInstance, uint32_t aRedundancyConstant, #endif Handler aTransmitHandler, - Handler aIntervalExpiredHandler, - void * aOwner) - : TimerMilli(aInstance, TrickleTimer::HandleTimer, aOwner) + Handler aIntervalExpiredHandler) + : TimerMilli(aInstance, TrickleTimer::HandleTimer) #ifdef ENABLE_TRICKLE_TIMER_SUPPRESSION_SUPPORT , mRedundancyConstant(aRedundancyConstant) , mCounter(0) diff --git a/src/core/common/trickle_timer.hpp b/src/core/common/trickle_timer.hpp index e8ed1d015..dda6caecc 100644 --- a/src/core/common/trickle_timer.hpp +++ b/src/core/common/trickle_timer.hpp @@ -86,7 +86,6 @@ public: * @param[in] aRedundancyConstant The redundancy constant for the timer, also known as `k`. * @param[in] aTransmitHandler A pointer to a function that is called when transmission should occur. * @param[in] aIntervalExpiredHandler An optional pointer to a function that is called when the interval expires. - * @param[in] aOwner A pointer to owner of the `TrickleTimer` object. * */ TrickleTimer(Instance &aInstance, @@ -94,8 +93,7 @@ public: uint32_t aRedundancyConstant, #endif Handler aTransmitHandler, - Handler aIntervalExpiredHandler, - void * aOwner); + Handler aIntervalExpiredHandler); /** * This method indicates whether or not the trickle timer instance is running. diff --git a/src/core/mac/data_poll_sender.cpp b/src/core/mac/data_poll_sender.cpp index 0d36fd743..a99913919 100644 --- a/src/core/mac/data_poll_sender.cpp +++ b/src/core/mac/data_poll_sender.cpp @@ -52,7 +52,7 @@ DataPollSender::DataPollSender(Instance &aInstance) , mPollPeriod(0) , mExternalPollPeriod(0) , mFastPollsUsers(0) - , mTimer(aInstance, DataPollSender::HandlePollTimer, this) + , mTimer(aInstance, DataPollSender::HandlePollTimer) , mEnabled(false) , mAttachMode(false) , mRetxMode(false) @@ -499,7 +499,7 @@ uint32_t DataPollSender::CalculatePollPeriod(void) const void DataPollSender::HandlePollTimer(Timer &aTimer) { - IgnoreError(aTimer.GetOwner().SendDataPoll()); + IgnoreError(aTimer.Get().SendDataPoll()); } uint32_t DataPollSender::GetDefaultPollPeriod(void) const diff --git a/src/core/mac/mac.cpp b/src/core/mac/mac.cpp index 9fffcde9a..eb767c7ee 100644 --- a/src/core/mac/mac.cpp +++ b/src/core/mac/mac.cpp @@ -115,8 +115,8 @@ Mac::Mac(Instance &aInstance) , mActiveScanHandler(nullptr) // Initialize `mActiveScanHandler` and `mEnergyScanHandler` union , mScanHandlerContext(nullptr) , mLinks(aInstance) - , mOperationTask(aInstance, Mac::HandleOperationTask, this) - , mTimer(aInstance, Mac::HandleTimer, this) + , mOperationTask(aInstance, Mac::HandleOperationTask) + , mTimer(aInstance, Mac::HandleTimer) , mOobFrame(nullptr) , mKeyIdMode2FrameCounter(0) , mCcaSampleCount(0) @@ -755,7 +755,7 @@ void Mac::StartOperation(Operation aOperation) void Mac::HandleOperationTask(Tasklet &aTasklet) { - aTasklet.GetOwner().PerformNextOperation(); + aTasklet.Get().PerformNextOperation(); } void Mac::PerformNextOperation(void) @@ -1681,7 +1681,7 @@ exit: void Mac::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void Mac::HandleTimer(void) diff --git a/src/core/mac/sub_mac.cpp b/src/core/mac/sub_mac.cpp index 1facf3703..3f94674c8 100644 --- a/src/core/mac/sub_mac.cpp +++ b/src/core/mac/sub_mac.cpp @@ -65,14 +65,14 @@ SubMac::SubMac(Instance &aInstance) , mPcapCallbackContext(nullptr) , mFrameCounter(0) , mKeyId(0) - , mTimer(aInstance, SubMac::HandleTimer, this) + , mTimer(aInstance, SubMac::HandleTimer) #if OPENTHREAD_CONFIG_MAC_CSL_RECEIVER_ENABLE , mCslTimeout(OPENTHREAD_CONFIG_CSL_TIMEOUT) , mCslPeriod(0) , mCslChannel(0) , mIsCslChannelSpecified(false) , mCslState(kCslIdle) - , mCslTimer(aInstance, SubMac::HandleCslTimer, this) + , mCslTimer(aInstance, SubMac::HandleCslTimer) #endif { mExtAddress.Clear(); @@ -657,7 +657,7 @@ void SubMac::HandleEnergyScanDone(int8_t aMaxRssi) void SubMac::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void SubMac::HandleTimer(void) @@ -971,7 +971,7 @@ void SubMac::SetCslTimeout(uint32_t aTimeout) void SubMac::HandleCslTimer(Timer &aTimer) { - aTimer.GetOwner().HandleCslTimer(); + aTimer.Get().HandleCslTimer(); } void SubMac::HandleCslTimer(void) diff --git a/src/core/meshcop/border_agent.cpp b/src/core/meshcop/border_agent.cpp index a3970f64c..2e13beab2 100644 --- a/src/core/meshcop/border_agent.cpp +++ b/src/core/meshcop/border_agent.cpp @@ -284,7 +284,7 @@ BorderAgent::BorderAgent(Instance &aInstance) , mPendingSet(UriPath::kPendingSet, BorderAgent::HandleRequest<&BorderAgent::mPendingSet>, this) , mProxyTransmit(UriPath::kProxyTx, BorderAgent::HandleRequest<&BorderAgent::mProxyTransmit>, this) , mUdpReceiver(BorderAgent::HandleUdpReceive, this) - , mTimer(aInstance, HandleTimeout, this) + , mTimer(aInstance, HandleTimeout) , mState(kStateStopped) { mCommissionerAloc.InitAsThreadOriginRealmLocalScope(); @@ -594,7 +594,7 @@ exit: void BorderAgent::HandleTimeout(Timer &aTimer) { - aTimer.GetOwner().HandleTimeout(); + aTimer.Get().HandleTimeout(); } void BorderAgent::HandleTimeout(void) diff --git a/src/core/meshcop/commissioner.cpp b/src/core/meshcop/commissioner.cpp index b9537c014..b56d431ed 100644 --- a/src/core/meshcop/commissioner.cpp +++ b/src/core/meshcop/commissioner.cpp @@ -62,8 +62,8 @@ Commissioner::Commissioner(Instance &aInstance) , mJoinerRloc(0) , mSessionId(0) , mTransmitAttempts(0) - , mJoinerExpirationTimer(aInstance, HandleJoinerExpirationTimer, this) - , mTimer(aInstance, HandleTimer, this) + , mJoinerExpirationTimer(aInstance, HandleJoinerExpirationTimer) + , mTimer(aInstance, HandleTimer) , mRelayReceive(UriPath::kRelayRx, &Commissioner::HandleRelayReceive, this) , mDatasetChanged(UriPath::kDatasetChanged, &Commissioner::HandleDatasetChanged, this) , mJoinerFinalize(UriPath::kJoinerFinalize, &Commissioner::HandleJoinerFinalize, this) @@ -605,7 +605,7 @@ exit: void Commissioner::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void Commissioner::HandleTimer(void) @@ -627,7 +627,7 @@ void Commissioner::HandleTimer(void) void Commissioner::HandleJoinerExpirationTimer(Timer &aTimer) { - aTimer.GetOwner().HandleJoinerExpirationTimer(); + aTimer.Get().HandleJoinerExpirationTimer(); } void Commissioner::HandleJoinerExpirationTimer(void) diff --git a/src/core/meshcop/dataset_manager.cpp b/src/core/meshcop/dataset_manager.cpp index 820cd42b6..1d7e20d30 100644 --- a/src/core/meshcop/dataset_manager.cpp +++ b/src/core/meshcop/dataset_manager.cpp @@ -55,7 +55,7 @@ DatasetManager::DatasetManager(Instance &aInstance, Dataset::Type aType, Timer:: , mLocal(aInstance, aType) , mTimestampValid(false) , mCoapPending(false) - , mTimer(aInstance, aTimerHandler, this) + , mTimer(aInstance, aTimerHandler) { mTimestamp.Init(); } @@ -694,12 +694,12 @@ void ActiveDataset::HandleGet(Coap::Message &aMessage, const Ip6::MessageInfo &a void ActiveDataset::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } PendingDataset::PendingDataset(Instance &aInstance) : DatasetManager(aInstance, Dataset::kPending, PendingDataset::HandleTimer) - , mDelayTimer(aInstance, PendingDataset::HandleDelayTimer, this) + , mDelayTimer(aInstance, PendingDataset::HandleDelayTimer) , mResourceGet(UriPath::kPendingGet, &PendingDataset::HandleGet, this) #if OPENTHREAD_FTD , mResourceSet(UriPath::kPendingSet, &PendingDataset::HandleSet, this) @@ -785,7 +785,7 @@ void PendingDataset::StartDelayTimer(void) void PendingDataset::HandleDelayTimer(Timer &aTimer) { - aTimer.GetOwner().HandleDelayTimer(); + aTimer.Get().HandleDelayTimer(); } void PendingDataset::HandleDelayTimer(void) @@ -834,7 +834,7 @@ void PendingDataset::HandleGet(Coap::Message &aMessage, const Ip6::MessageInfo & void PendingDataset::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } } // namespace MeshCoP diff --git a/src/core/meshcop/joiner.cpp b/src/core/meshcop/joiner.cpp index c67fee20d..6ff590324 100644 --- a/src/core/meshcop/joiner.cpp +++ b/src/core/meshcop/joiner.cpp @@ -62,7 +62,7 @@ Joiner::Joiner(Instance &aInstance) , mContext(nullptr) , mJoinerRouterIndex(0) , mFinalizeMessage(nullptr) - , mTimer(aInstance, Joiner::HandleTimer, this) + , mTimer(aInstance, Joiner::HandleTimer) , mJoinerEntrust(UriPath::kJoinerEntrust, &Joiner::HandleJoinerEntrust, this) { SetIdFromIeeeEui64(); @@ -615,7 +615,7 @@ exit: void Joiner::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void Joiner::HandleTimer(void) diff --git a/src/core/meshcop/joiner_router.cpp b/src/core/meshcop/joiner_router.cpp index 7ceb9be47..c6c7ad040 100644 --- a/src/core/meshcop/joiner_router.cpp +++ b/src/core/meshcop/joiner_router.cpp @@ -55,7 +55,7 @@ JoinerRouter::JoinerRouter(Instance &aInstance) : InstanceLocator(aInstance) , mSocket(aInstance) , mRelayTransmit(UriPath::kRelayTx, &JoinerRouter::HandleRelayTransmit, this) - , mTimer(aInstance, JoinerRouter::HandleTimer, this) + , mTimer(aInstance, JoinerRouter::HandleTimer) , mJoinerUdpPort(0) , mIsJoinerPortConfigured(false) { @@ -249,7 +249,7 @@ exit: void JoinerRouter::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void JoinerRouter::HandleTimer(void) diff --git a/src/core/meshcop/meshcop_leader.cpp b/src/core/meshcop/meshcop_leader.cpp index 9822afdc3..571979096 100644 --- a/src/core/meshcop/meshcop_leader.cpp +++ b/src/core/meshcop/meshcop_leader.cpp @@ -56,7 +56,7 @@ Leader::Leader(Instance &aInstance) : InstanceLocator(aInstance) , mPetition(UriPath::kLeaderPetition, Leader::HandlePetition, this) , mKeepAlive(UriPath::kLeaderKeepAlive, Leader::HandleKeepAlive, this) - , mTimer(aInstance, HandleTimer, this) + , mTimer(aInstance, HandleTimer) , mDelayTimerMinimal(DelayTimerTlv::kDelayTimerMinimal) , mSessionId(Random::NonCrypto::GetUint16()) { @@ -266,7 +266,7 @@ uint32_t Leader::GetDelayTimerMinimal(void) const void Leader::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void Leader::HandleTimer(void) diff --git a/src/core/net/dhcp6_client.cpp b/src/core/net/dhcp6_client.cpp index 43e268c48..20eeec92d 100644 --- a/src/core/net/dhcp6_client.cpp +++ b/src/core/net/dhcp6_client.cpp @@ -50,7 +50,7 @@ namespace Dhcp6 { Client::Client(Instance &aInstance) : InstanceLocator(aInstance) , mSocket(aInstance) - , mTrickleTimer(aInstance, Client::HandleTrickleTimer, nullptr, this) + , mTrickleTimer(aInstance, Client::HandleTrickleTimer, nullptr) , mStartTime(0) , mIdentityAssociationCurrent(nullptr) { @@ -216,7 +216,7 @@ exit: bool Client::HandleTrickleTimer(TrickleTimer &aTrickleTimer) { - return aTrickleTimer.GetOwner().HandleTrickleTimer(); + return aTrickleTimer.Get().HandleTrickleTimer(); } bool Client::HandleTrickleTimer(void) diff --git a/src/core/net/dns_client.cpp b/src/core/net/dns_client.cpp index fba9bbcdf..9adc9ec32 100644 --- a/src/core/net/dns_client.cpp +++ b/src/core/net/dns_client.cpp @@ -50,7 +50,7 @@ namespace Dns { Client::Client(Instance &aInstance) : mSocket(aInstance) - , mRetransmissionTimer(aInstance, Client::HandleRetransmissionTimer, this) + , mRetransmissionTimer(aInstance, Client::HandleRetransmissionTimer) { } @@ -270,7 +270,7 @@ void Client::FinalizeDnsTransaction(Message & aQuery, void Client::HandleRetransmissionTimer(Timer &aTimer) { - aTimer.GetOwner().HandleRetransmissionTimer(); + aTimer.Get().HandleRetransmissionTimer(); } void Client::HandleRetransmissionTimer(void) diff --git a/src/core/net/ip6.cpp b/src/core/net/ip6.cpp index 325cebc7b..0f5d62634 100644 --- a/src/core/net/ip6.cpp +++ b/src/core/net/ip6.cpp @@ -67,7 +67,7 @@ Ip6::Ip6(Instance &aInstance) , mIsReceiveIp6FilterEnabled(false) , mReceiveIp6DatagramCallback(nullptr) , mReceiveIp6DatagramCallbackContext(nullptr) - , mSendQueueTask(aInstance, Ip6::HandleSendQueue, this) + , mSendQueueTask(aInstance, Ip6::HandleSendQueue) , mIcmp(aInstance) , mUdp(aInstance) , mMpl(aInstance) @@ -525,7 +525,7 @@ exit: void Ip6::HandleSendQueue(Tasklet &aTasklet) { - aTasklet.GetOwner().HandleSendQueue(); + aTasklet.Get().HandleSendQueue(); } void Ip6::HandleSendQueue(void) diff --git a/src/core/net/ip6_mpl.cpp b/src/core/net/ip6_mpl.cpp index d59af2c8a..7746f13e0 100644 --- a/src/core/net/ip6_mpl.cpp +++ b/src/core/net/ip6_mpl.cpp @@ -46,11 +46,11 @@ namespace Ip6 { Mpl::Mpl(Instance &aInstance) : InstanceLocator(aInstance) , mMatchingAddress(nullptr) - , mSeedSetTimer(aInstance, Mpl::HandleSeedSetTimer, this) + , mSeedSetTimer(aInstance, Mpl::HandleSeedSetTimer) , mSeedId(0) , mSequence(0) #if OPENTHREAD_FTD - , mRetransmissionTimer(aInstance, Mpl::HandleRetransmissionTimer, this) + , mRetransmissionTimer(aInstance, Mpl::HandleRetransmissionTimer) , mTimerExpirations(0) #endif { @@ -264,7 +264,7 @@ exit: void Mpl::HandleSeedSetTimer(Timer &aTimer) { - aTimer.GetOwner().HandleSeedSetTimer(); + aTimer.Get().HandleSeedSetTimer(); } void Mpl::HandleSeedSetTimer(void) @@ -337,7 +337,7 @@ exit: void Mpl::HandleRetransmissionTimer(Timer &aTimer) { - aTimer.GetOwner().HandleRetransmissionTimer(); + aTimer.Get().HandleRetransmissionTimer(); } void Mpl::HandleRetransmissionTimer(void) diff --git a/src/core/net/sntp_client.cpp b/src/core/net/sntp_client.cpp index 40ce98d5c..4dbc943d9 100644 --- a/src/core/net/sntp_client.cpp +++ b/src/core/net/sntp_client.cpp @@ -92,7 +92,7 @@ QueryMetadata::QueryMetadata(otSntpResponseHandler aHandler, void *aContext) Client::Client(Instance &aInstance) : mSocket(aInstance) - , mRetransmissionTimer(aInstance, Client::HandleRetransmissionTimer, this) + , mRetransmissionTimer(aInstance, Client::HandleRetransmissionTimer) , mUnixEra(0) { } @@ -280,7 +280,7 @@ void Client::FinalizeSntpTransaction(Message & aQuery, void Client::HandleRetransmissionTimer(Timer &aTimer) { - aTimer.GetOwner().HandleRetransmissionTimer(); + aTimer.Get().HandleRetransmissionTimer(); } void Client::HandleRetransmissionTimer(void) diff --git a/src/core/net/srp_client.cpp b/src/core/net/srp_client.cpp index 1e48b8d64..4157c37de 100644 --- a/src/core/net/srp_client.cpp +++ b/src/core/net/srp_client.cpp @@ -144,7 +144,7 @@ Client::Client(Instance &aInstance) , mCallback(nullptr) , mCallbackContext(nullptr) , mDomainName(kDefaultDomainName) - , mTimer(aInstance, Client::HandleTimer, this) + , mTimer(aInstance, Client::HandleTimer) { mHostInfo.Init(); @@ -1399,7 +1399,7 @@ bool Client::ShouldRenewEarly(const Service &aService) const void Client::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void Client::HandleTimer(void) diff --git a/src/core/net/srp_server.cpp b/src/core/net/srp_server.cpp index 79288b7f2..cdfbb4f80 100644 --- a/src/core/net/srp_server.cpp +++ b/src/core/net/srp_server.cpp @@ -85,8 +85,8 @@ Server::Server(Instance &aInstance) , mMaxLease(kDefaultMaxLease) , mMinKeyLease(kDefaultMinKeyLease) , mMaxKeyLease(kDefaultMaxKeyLease) - , mLeaseTimer(aInstance, HandleLeaseTimer, this) - , mOutstandingUpdatesTimer(aInstance, HandleOutstandingUpdatesTimer, this) + , mLeaseTimer(aInstance, HandleLeaseTimer) + , mOutstandingUpdatesTimer(aInstance, HandleOutstandingUpdatesTimer) , mEnabled(false) { IgnoreError(SetDomain(kDefaultDomain)); @@ -1130,7 +1130,7 @@ exit: void Server::HandleLeaseTimer(Timer &aTimer) { - aTimer.GetOwner().HandleLeaseTimer(); + aTimer.Get().HandleLeaseTimer(); } void Server::HandleLeaseTimer(void) @@ -1250,7 +1250,7 @@ void Server::HandleLeaseTimer(void) void Server::HandleOutstandingUpdatesTimer(Timer &aTimer) { - aTimer.GetOwner().HandleOutstandingUpdatesTimer(); + aTimer.Get().HandleOutstandingUpdatesTimer(); } void Server::HandleOutstandingUpdatesTimer(void) diff --git a/src/core/radio/trel_link.cpp b/src/core/radio/trel_link.cpp index 6349c13ea..6f5e2e8c4 100644 --- a/src/core/radio/trel_link.cpp +++ b/src/core/radio/trel_link.cpp @@ -49,8 +49,8 @@ Link::Link(Instance &aInstance) , mRxChannel(0) , mPanId(Mac::kPanIdBroadcast) , mTxPacketNumber(0) - , mTxTasklet(aInstance, HandleTxTasklet, this) - , mTimer(aInstance, HandleTimer, this) + , mTxTasklet(aInstance, HandleTxTasklet) + , mTimer(aInstance, HandleTimer) , mInterface(aInstance) { memset(&mTxFrame, 0, sizeof(mTxFrame)); @@ -115,7 +115,7 @@ void Link::Send(void) void Link::HandleTxTasklet(Tasklet &aTasklet) { - aTasklet.GetOwner().HandleTxTasklet(); + aTasklet.Get().HandleTxTasklet(); } void Link::HandleTxTasklet(void) @@ -248,7 +248,7 @@ void Link::InvokeSendDone(otError aError, Mac::RxFrame *aAckFrame) void Link::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void Link::HandleTimer(void) diff --git a/src/core/thread/announce_begin_server.cpp b/src/core/thread/announce_begin_server.cpp index 9183df4d9..102398041 100644 --- a/src/core/thread/announce_begin_server.cpp +++ b/src/core/thread/announce_begin_server.cpp @@ -92,7 +92,7 @@ exit: void AnnounceBeginServer::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().AnnounceSenderBase::HandleTimer(); + aTimer.Get().AnnounceSenderBase::HandleTimer(); } } // namespace ot diff --git a/src/core/thread/announce_sender.cpp b/src/core/thread/announce_sender.cpp index 10218ab18..88337d511 100644 --- a/src/core/thread/announce_sender.cpp +++ b/src/core/thread/announce_sender.cpp @@ -52,7 +52,7 @@ AnnounceSenderBase::AnnounceSenderBase(Instance &aInstance, Timer::Handler aHand , mJitter(0) , mCount(0) , mChannel(0) - , mTimer(aInstance, aHandler, this) + , mTimer(aInstance, aHandler) { } @@ -116,7 +116,7 @@ AnnounceSender::AnnounceSender(Instance &aInstance) void AnnounceSender::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().AnnounceSenderBase::HandleTimer(); + aTimer.Get().AnnounceSenderBase::HandleTimer(); } void AnnounceSender::CheckState(void) diff --git a/src/core/thread/discover_scanner.cpp b/src/core/thread/discover_scanner.cpp index 1234558ae..20114f9f9 100644 --- a/src/core/thread/discover_scanner.cpp +++ b/src/core/thread/discover_scanner.cpp @@ -48,7 +48,7 @@ DiscoverScanner::DiscoverScanner(Instance &aInstance) : InstanceLocator(aInstance) , mHandler(nullptr) , mHandlerContext(nullptr) - , mTimer(aInstance, DiscoverScanner::HandleTimer, this) + , mTimer(aInstance, DiscoverScanner::HandleTimer) , mFilterIndexes() , mState(kStateIdle) , mScanChannel(0) @@ -258,7 +258,7 @@ void DiscoverScanner::HandleDiscoverComplete(void) void DiscoverScanner::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void DiscoverScanner::HandleTimer(void) diff --git a/src/core/thread/dua_manager.cpp b/src/core/thread/dua_manager.cpp index ab3ad4706..17f23fd14 100644 --- a/src/core/thread/dua_manager.cpp +++ b/src/core/thread/dua_manager.cpp @@ -51,7 +51,7 @@ namespace ot { DuaManager::DuaManager(Instance &aInstance) : InstanceLocator(aInstance) - , mRegistrationTask(aInstance, DuaManager::HandleRegistrationTask, this) + , mRegistrationTask(aInstance, DuaManager::HandleRegistrationTask) , mDuaNotification(UriPath::kDuaRegistrationNotify, &DuaManager::HandleDuaNotification, this) , mIsDuaPending(false) #if OPENTHREAD_CONFIG_DUA_ENABLE @@ -396,6 +396,11 @@ void DuaManager::HandleTimeTick(void) UpdateTimeTickerRegistration(); } +void DuaManager::HandleRegistrationTask(Tasklet &aTasklet) +{ + aTasklet.Get().PerformNextRegistration(); +} + void DuaManager::UpdateTimeTickerRegistration(void) { if (mDelay.mValue == 0) diff --git a/src/core/thread/dua_manager.hpp b/src/core/thread/dua_manager.hpp index ac46c6b6c..dc3a7b95b 100644 --- a/src/core/thread/dua_manager.hpp +++ b/src/core/thread/dua_manager.hpp @@ -190,7 +190,7 @@ private: void HandleTimeTick(void); - static void HandleRegistrationTask(Tasklet &aTasklet) { aTasklet.GetOwner().PerformNextRegistration(); } + static void HandleRegistrationTask(Tasklet &aTasklet); void UpdateTimeTickerRegistration(void); diff --git a/src/core/thread/energy_scan_server.cpp b/src/core/thread/energy_scan_server.cpp index e6d1e7da6..11d2e45e1 100644 --- a/src/core/thread/energy_scan_server.cpp +++ b/src/core/thread/energy_scan_server.cpp @@ -55,7 +55,7 @@ EnergyScanServer::EnergyScanServer(Instance &aInstance) , mCount(0) , mActive(false) , mScanResultsLength(0) - , mTimer(aInstance, EnergyScanServer::HandleTimer, this) + , mTimer(aInstance, EnergyScanServer::HandleTimer) , mEnergyScan(UriPath::kEnergyScan, &EnergyScanServer::HandleRequest, this) { Get().AddResource(mEnergyScan); @@ -106,7 +106,7 @@ exit: void EnergyScanServer::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void EnergyScanServer::HandleTimer(void) diff --git a/src/core/thread/key_manager.cpp b/src/core/thread/key_manager.cpp index 3e0ec2cf7..7b5c18cfd 100644 --- a/src/core/thread/key_manager.cpp +++ b/src/core/thread/key_manager.cpp @@ -66,7 +66,7 @@ KeyManager::KeyManager(Instance &aInstance) , mKeyRotationTime(kDefaultKeyRotationTime) , mKeySwitchGuardTime(kDefaultKeySwitchGuardTime) , mKeySwitchGuardEnabled(false) - , mKeyRotationTimer(aInstance, KeyManager::HandleKeyRotationTimer, this) + , mKeyRotationTimer(aInstance, KeyManager::HandleKeyRotationTimer) , mKekFrameCounter(0) , mSecurityPolicyFlags(kDefaultSecurityPolicyFlags) , mIsPskcSet(false) @@ -323,7 +323,7 @@ void KeyManager::StartKeyRotationTimer(void) void KeyManager::HandleKeyRotationTimer(Timer &aTimer) { - aTimer.GetOwner().HandleKeyRotationTimer(); + aTimer.Get().HandleKeyRotationTimer(); } void KeyManager::HandleKeyRotationTimer(void) diff --git a/src/core/thread/mesh_forwarder.cpp b/src/core/thread/mesh_forwarder.cpp index fed88d8bb..fe66949cb 100644 --- a/src/core/thread/mesh_forwarder.cpp +++ b/src/core/thread/mesh_forwarder.cpp @@ -89,7 +89,7 @@ MeshForwarder::MeshForwarder(Instance &aInstance) , mEnabled(false) , mTxPaused(false) , mSendBusy(false) - , mScheduleTransmissionTask(aInstance, MeshForwarder::ScheduleTransmissionTask, this) + , mScheduleTransmissionTask(aInstance, MeshForwarder::ScheduleTransmissionTask) #if OPENTHREAD_FTD , mIndirectSender(aInstance) #endif @@ -229,7 +229,7 @@ void MeshForwarder::ResumeMessageTransmissions(void) void MeshForwarder::ScheduleTransmissionTask(Tasklet &aTasklet) { - aTasklet.GetOwner().ScheduleTransmissionTask(); + aTasklet.Get().ScheduleTransmissionTask(); } void MeshForwarder::ScheduleTransmissionTask(void) diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index 47ed5171a..7161e8b5a 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -71,9 +71,9 @@ Mle::Mle(Instance &aInstance) , mReattachState(kReattachStop) , mAttachCounter(0) , mAnnounceDelay(kAnnounceTimeout) - , mAttachTimer(aInstance, Mle::HandleAttachTimer, this) - , mDelayedResponseTimer(aInstance, Mle::HandleDelayedResponseTimer, this) - , mMessageTransmissionTimer(aInstance, Mle::HandleMessageTransmissionTimer, this) + , mAttachTimer(aInstance, Mle::HandleAttachTimer) + , mDelayedResponseTimer(aInstance, Mle::HandleDelayedResponseTimer) + , mMessageTransmissionTimer(aInstance, Mle::HandleMessageTransmissionTimer) , mParentLeaderCost(0) , mParentRequestMode(kAttachAny) , mParentPriority(0) @@ -101,7 +101,7 @@ Mle::Mle(Instance &aInstance) , mParentSearchBackoffWasCanceled(false) , mParentSearchRecentlyDetached(false) , mParentSearchBackoffCancelTime(0) - , mParentSearchTimer(aInstance, Mle::HandleParentSearchTimer, this) + , mParentSearchTimer(aInstance, Mle::HandleParentSearchTimer) #endif , mAnnounceChannel(0) , mAlternateChannel(0) @@ -1622,7 +1622,7 @@ exit: void Mle::HandleAttachTimer(Timer &aTimer) { - aTimer.GetOwner().HandleAttachTimer(); + aTimer.Get().HandleAttachTimer(); } void Mle::HandleAttachTimer(void) @@ -1858,7 +1858,7 @@ exit: void Mle::HandleDelayedResponseTimer(Timer &aTimer) { - aTimer.GetOwner().HandleDelayedResponseTimer(); + aTimer.Get().HandleDelayedResponseTimer(); } void Mle::HandleDelayedResponseTimer(void) @@ -2174,7 +2174,7 @@ exit: void Mle::HandleMessageTransmissionTimer(Timer &aTimer) { - aTimer.GetOwner().HandleMessageTransmissionTimer(); + aTimer.Get().HandleMessageTransmissionTimer(); } void Mle::HandleMessageTransmissionTimer(void) @@ -3964,7 +3964,7 @@ exit: #if OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE void Mle::HandleParentSearchTimer(Timer &aTimer) { - aTimer.GetOwner().HandleParentSearchTimer(); + aTimer.Get().HandleParentSearchTimer(); } void Mle::HandleParentSearchTimer(void) diff --git a/src/core/thread/mle_router.cpp b/src/core/thread/mle_router.cpp index 1d4cff3fc..cedd8f2cf 100644 --- a/src/core/thread/mle_router.cpp +++ b/src/core/thread/mle_router.cpp @@ -56,7 +56,7 @@ namespace Mle { MleRouter::MleRouter(Instance &aInstance) : Mle(aInstance) - , mAdvertiseTimer(aInstance, MleRouter::HandleAdvertiseTimer, nullptr, this) + , mAdvertiseTimer(aInstance, MleRouter::HandleAdvertiseTimer, nullptr) , mAddressSolicit(UriPath::kAddressSolicit, &MleRouter::HandleAddressSolicit, this) , mAddressRelease(UriPath::kAddressRelease, &MleRouter::HandleAddressRelease, this) , mChildTable(aInstance) @@ -388,7 +388,7 @@ void MleRouter::SetStateLeader(uint16_t aRloc16) bool MleRouter::HandleAdvertiseTimer(TrickleTimer &aTimer) { - return aTimer.GetOwner().HandleAdvertiseTimer(); + return aTimer.Get().HandleAdvertiseTimer(); } bool MleRouter::HandleAdvertiseTimer(void) diff --git a/src/core/thread/network_data_leader_ftd.cpp b/src/core/thread/network_data_leader_ftd.cpp index c07db939f..f9b4aaf3a 100644 --- a/src/core/thread/network_data_leader_ftd.cpp +++ b/src/core/thread/network_data_leader_ftd.cpp @@ -57,7 +57,7 @@ namespace NetworkData { Leader::Leader(Instance &aInstance) : LeaderBase(aInstance) - , mTimer(aInstance, Leader::HandleTimer, this) + , mTimer(aInstance, Leader::HandleTimer) , mServerData(UriPath::kServerData, &Leader::HandleServerData, this) , mCommissioningDataGet(UriPath::kCommissionerGet, &Leader::HandleCommissioningGet, this) , mCommissioningDataSet(UriPath::kCommissionerSet, &Leader::HandleCommissioningSet, this) @@ -1331,7 +1331,7 @@ void Leader::UpdateContextsAfterReset(void) void Leader::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void Leader::HandleTimer(void) diff --git a/src/core/thread/network_data_notifier.cpp b/src/core/thread/network_data_notifier.cpp index eed8087f6..12c5adb04 100644 --- a/src/core/thread/network_data_notifier.cpp +++ b/src/core/thread/network_data_notifier.cpp @@ -46,7 +46,7 @@ namespace NetworkData { Notifier::Notifier(Instance &aInstance) : InstanceLocator(aInstance) - , mTimer(aInstance, Notifier::HandleTimer, this) + , mTimer(aInstance, Notifier::HandleTimer) , mNextDelay(0) , mWaitingForResponse(false) { @@ -115,7 +115,7 @@ void Notifier::HandleNotifierEvents(Events aEvents) void Notifier::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void Notifier::HandleTimer(void) diff --git a/src/core/thread/panid_query_server.cpp b/src/core/thread/panid_query_server.cpp index 8d4b0823f..6567b0ad4 100644 --- a/src/core/thread/panid_query_server.cpp +++ b/src/core/thread/panid_query_server.cpp @@ -50,7 +50,7 @@ PanIdQueryServer::PanIdQueryServer(Instance &aInstance) : InstanceLocator(aInstance) , mChannelMask(0) , mPanId(Mac::kPanIdBroadcast) - , mTimer(aInstance, PanIdQueryServer::HandleTimer, this) + , mTimer(aInstance, PanIdQueryServer::HandleTimer) , mPanIdQuery(UriPath::kPanIdQuery, &PanIdQueryServer::HandleQuery, this) { Get().AddResource(mPanIdQuery); @@ -140,7 +140,7 @@ exit: void PanIdQueryServer::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void PanIdQueryServer::HandleTimer(void) diff --git a/src/core/thread/time_sync_service.cpp b/src/core/thread/time_sync_service.cpp index eeee38066..be9121137 100644 --- a/src/core/thread/time_sync_service.cpp +++ b/src/core/thread/time_sync_service.cpp @@ -62,7 +62,7 @@ TimeSync::TimeSync(Instance &aInstance) , mNetworkTimeOffset(0) , mTimeSyncCallback(nullptr) , mTimeSyncCallbackContext(nullptr) - , mTimer(aInstance, HandleTimeout, this) + , mTimer(aInstance, HandleTimeout) , mCurrentStatus(OT_NETWORK_TIME_UNSYNCHRONIZED) { CheckAndHandleChanges(false); @@ -210,7 +210,7 @@ void TimeSync::HandleTimeout(void) void TimeSync::HandleTimeout(Timer &aTimer) { - aTimer.GetOwner().HandleTimeout(); + aTimer.Get().HandleTimeout(); } void TimeSync::CheckAndHandleChanges(bool aTimeUpdated) diff --git a/src/core/utils/channel_manager.cpp b/src/core/utils/channel_manager.cpp index 9990090e1..555e217e2 100644 --- a/src/core/utils/channel_manager.cpp +++ b/src/core/utils/channel_manager.cpp @@ -54,7 +54,7 @@ ChannelManager::ChannelManager(Instance &aInstance) , mDelay(kMinimumDelay) , mChannel(0) , mState(kStateIdle) - , mTimer(aInstance, ChannelManager::HandleTimer, this) + , mTimer(aInstance, ChannelManager::HandleTimer) , mAutoSelectInterval(kDefaultAutoSelectInterval) , mAutoSelectEnabled(false) { @@ -153,7 +153,7 @@ void ChannelManager::HandleDatasetUpdateDone(otError aError) void ChannelManager::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void ChannelManager::HandleTimer(void) diff --git a/src/core/utils/channel_monitor.cpp b/src/core/utils/channel_monitor.cpp index 5c5ba274c..bdf610c62 100644 --- a/src/core/utils/channel_monitor.cpp +++ b/src/core/utils/channel_monitor.cpp @@ -62,7 +62,7 @@ ChannelMonitor::ChannelMonitor(Instance &aInstance) : InstanceLocator(aInstance) , mChannelMaskIndex(0) , mSampleCount(0) - , mTimer(aInstance, ChannelMonitor::HandleTimer, this) + , mTimer(aInstance, ChannelMonitor::HandleTimer) { memset(mChannelOccupancy, 0, sizeof(mChannelOccupancy)); } @@ -114,7 +114,7 @@ exit: void ChannelMonitor::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void ChannelMonitor::HandleTimer(void) diff --git a/src/core/utils/child_supervision.cpp b/src/core/utils/child_supervision.cpp index 1ca45ef09..e6be59fc1 100644 --- a/src/core/utils/child_supervision.cpp +++ b/src/core/utils/child_supervision.cpp @@ -155,7 +155,7 @@ void ChildSupervisor::HandleNotifierEvents(Events aEvents) SupervisionListener::SupervisionListener(Instance &aInstance) : InstanceLocator(aInstance) , mTimeout(0) - , mTimer(aInstance, SupervisionListener::HandleTimer, this) + , mTimer(aInstance, SupervisionListener::HandleTimer) { SetTimeout(kDefaultTimeout); } @@ -206,7 +206,7 @@ void SupervisionListener::RestartTimer(void) void SupervisionListener::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void SupervisionListener::HandleTimer(void) diff --git a/src/core/utils/dataset_updater.cpp b/src/core/utils/dataset_updater.cpp index 10aea32d6..fde10dce3 100644 --- a/src/core/utils/dataset_updater.cpp +++ b/src/core/utils/dataset_updater.cpp @@ -51,7 +51,7 @@ DatasetUpdater::DatasetUpdater(Instance &aInstance) , mWaitInterval(kWaitInterval) , mCallback(nullptr) , mCallbackContext(nullptr) - , mTimer(aInstance, DatasetUpdater::HandleTimer, this) + , mTimer(aInstance, DatasetUpdater::HandleTimer) , mDataset(nullptr) { } @@ -100,7 +100,7 @@ void DatasetUpdater::CancelUpdate(void) void DatasetUpdater::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void DatasetUpdater::HandleTimer(void) diff --git a/src/core/utils/jam_detector.cpp b/src/core/utils/jam_detector.cpp index 7a09aee8c..896025517 100644 --- a/src/core/utils/jam_detector.cpp +++ b/src/core/utils/jam_detector.cpp @@ -49,7 +49,7 @@ JamDetector::JamDetector(Instance &aInstance) : InstanceLocator(aInstance) , mHandler(nullptr) , mContext(nullptr) - , mTimer(aInstance, JamDetector::HandleTimer, this) + , mTimer(aInstance, JamDetector::HandleTimer) , mHistoryBitmap(0) , mCurSecondStartTime(0) , mSampleInterval(0) @@ -161,7 +161,7 @@ exit: void JamDetector::HandleTimer(Timer &aTimer) { - aTimer.GetOwner().HandleTimer(); + aTimer.Get().HandleTimer(); } void JamDetector::HandleTimer(void) diff --git a/src/ncp/ncp_base.cpp b/src/ncp/ncp_base.cpp index aba230e6c..895559a65 100644 --- a/src/ncp/ncp_base.cpp +++ b/src/ncp/ncp_base.cpp @@ -207,7 +207,7 @@ NcpBase::NcpBase(Instance *aInstance) , mDiscoveryScanJoinerFlag(false) , mDiscoveryScanEnableFiltering(false) , mDiscoveryScanPanId(0xffff) - , mUpdateChangedPropsTask(*aInstance, NcpBase::UpdateChangedProps, this) + , mUpdateChangedPropsTask(*aInstance, NcpBase::UpdateChangedProps) , mThreadChangedFlags(0) , mHostPowerState(SPINEL_HOST_POWER_STATE_ONLINE) , mHostPowerReplyFrameTag(Spinel::Buffer::kInvalidTag) diff --git a/src/ncp/ncp_spi.cpp b/src/ncp/ncp_spi.cpp index 92009ea71..0f4257066 100644 --- a/src/ncp/ncp_spi.cpp +++ b/src/ncp/ncp_spi.cpp @@ -82,7 +82,7 @@ NcpSpi::NcpSpi(Instance *aInstance) , mTxState(kTxStateIdle) , mHandlingRxFrame(false) , mResetFlag(true) - , mPrepareTxFrameTask(*aInstance, NcpSpi::PrepareTxFrame, this) + , mPrepareTxFrameTask(*aInstance, NcpSpi::PrepareTxFrame) , mSendFrameLength(0) { SpiFrame sendFrame(mSendFrame); diff --git a/src/ncp/ncp_uart.cpp b/src/ncp/ncp_uart.cpp index 4654efb68..29547b44c 100644 --- a/src/ncp/ncp_uart.cpp +++ b/src/ncp/ncp_uart.cpp @@ -87,7 +87,7 @@ NcpUart::NcpUart(Instance *aInstance) , mState(kStartingFrame) , mByte(0) , mUartSendImmediate(false) - , mUartSendTask(*aInstance, EncodeAndSendToUart, this) + , mUartSendTask(*aInstance, EncodeAndSendToUart) #if OPENTHREAD_ENABLE_NCP_SPINEL_ENCRYPTER , mTxFrameBufferEncrypterReader(mTxFrameBuffer) #endif // OPENTHREAD_ENABLE_NCP_SPINEL_ENCRYPTER diff --git a/tests/unit/test_timer.cpp b/tests/unit/test_timer.cpp index 9ff02ab2e..d3b8e6927 100644 --- a/tests/unit/test_timer.cpp +++ b/tests/unit/test_timer.cpp @@ -87,7 +87,7 @@ template class TestTimer : public TimerType { public: explicit TestTimer(ot::Instance &aInstance) - : TimerType(aInstance, TestTimer::HandleTimerFired, nullptr) + : TimerType(aInstance, TestTimer::HandleTimerFired) , mFiredCounter(0) { }