OpenDDS  Snapshot(2023/04/07-19:43)
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
OpenDDS::DCPS::PmfPeriodicTask< Delegate > Class Template Reference

#include <PeriodicTask.h>

Inheritance diagram for OpenDDS::DCPS::PmfPeriodicTask< Delegate >:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::PmfPeriodicTask< Delegate >:
Collaboration graph
[legend]

Public Types

typedef void(Delegate::* PMF) (const MonotonicTimePoint &)
 
- Public Types inherited from ACE_Event_Handler
typedef long Reference_Count
 

Public Member Functions

 PmfPeriodicTask (RcHandle< ReactorInterceptor > interceptor, const Delegate &delegate, PMF function)
 
- Public Member Functions inherited from OpenDDS::DCPS::PeriodicTask
 PeriodicTask (RcHandle< ReactorInterceptor > interceptor)
 
virtual ~PeriodicTask ()
 
void enable (bool reenable, const TimeDuration &period)
 
void disable ()
 
bool enabled () const
 
- Public Member Functions inherited from OpenDDS::DCPS::RcEventHandler
 RcEventHandler ()
 
ACE_Event_Handler::Reference_Count add_reference ()
 
ACE_Event_Handler::Reference_Count remove_reference ()
 
- Public Member Functions inherited from ACE_Event_Handler
virtual ~ACE_Event_Handler (void)
 
virtual ACE_HANDLE get_handle (void) const
 
virtual void set_handle (ACE_HANDLE)
 
virtual int priority (void) const
 
virtual void priority (int priority)
 
virtual int handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_exit (ACE_Process *)
 
virtual int handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask)
 
virtual int handle_signal (int signum, siginfo_t *=0, ucontext_t *=0)
 
virtual int resume_handler (void)
 
virtual int handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
 
virtual int handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
 
virtual void reactor (ACE_Reactor *reactor)
 
virtual ACE_Reactorreactor (void) const
 
virtual ACE_Reactor_Timer_Interfacereactor_timer_interface (void) const
 
Reference_Counting_Policyreference_counting_policy (void)
 
- Public Member Functions inherited from OpenDDS::DCPS::RcObject
virtual ~RcObject ()
 
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
long ref_count () const
 
WeakObject_get_weak_object () const
 

Private Member Functions

void execute (const MonotonicTimePoint &now)
 

Private Attributes

WeakRcHandle< Delegatedelegate_
 
PMF function_
 

Additional Inherited Members

- Static Public Member Functions inherited from ACE_Event_Handler
static ACE_THR_FUNC_RETURN read_adapter (void *event_handler)
 
static int register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED)
 
static int remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr)
 
- Public Attributes inherited from ACE_Event_Handler
 LO_PRIORITY
 
 HI_PRIORITY
 
 NULL_MASK
 
 READ_MASK
 
 WRITE_MASK
 
 EXCEPT_MASK
 
 ACCEPT_MASK
 
 CONNECT_MASK
 
 TIMER_MASK
 
 QOS_MASK
 
 GROUP_QOS_MASK
 
 SIGNAL_MASK
 
 ALL_EVENTS_MASK
 
 RWE_MASK
 
 DONT_CALL
 
 ACE_EVENT_HANDLER_NOT_RESUMED
 
 ACE_REACTOR_RESUMES_HANDLER
 
 ACE_APPLICATION_RESUMES_HANDLER
 
- Protected Types inherited from ACE_Event_Handler
typedef ACE_Atomic_Op< ACE_SYNCH_MUTEX, Reference_CountAtomic_Reference_Count
 
- Protected Member Functions inherited from ACE_Event_Handler
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 
- Protected Member Functions inherited from OpenDDS::DCPS::RcObject
 RcObject ()
 
- Protected Attributes inherited from ACE_Event_Handler
Atomic_Reference_Count reference_count_
 

Detailed Description

template<typename Delegate>
class OpenDDS::DCPS::PmfPeriodicTask< Delegate >

Definition at line 141 of file PeriodicTask.h.

Member Typedef Documentation

◆ PMF

template<typename Delegate >
typedef void(Delegate::* OpenDDS::DCPS::PmfPeriodicTask< Delegate >::PMF) (const MonotonicTimePoint &)

Definition at line 143 of file PeriodicTask.h.

Constructor & Destructor Documentation

◆ PmfPeriodicTask()

template<typename Delegate >
OpenDDS::DCPS::PmfPeriodicTask< Delegate >::PmfPeriodicTask ( RcHandle< ReactorInterceptor interceptor,
const Delegate delegate,
PMF  function 
)
inline

Definition at line 145 of file PeriodicTask.h.

146  : PeriodicTask(interceptor)
147  , delegate_(delegate)
148  , function_(function) {}
PeriodicTask(RcHandle< ReactorInterceptor > interceptor)
Definition: PeriodicTask.h:21
WeakRcHandle< Delegate > delegate_
Definition: PeriodicTask.h:151

Member Function Documentation

◆ execute()

template<typename Delegate >
void OpenDDS::DCPS::PmfPeriodicTask< Delegate >::execute ( const MonotonicTimePoint now)
inlineprivatevirtual

Implements OpenDDS::DCPS::PeriodicTask.

Definition at line 154 of file PeriodicTask.h.

References OpenDDS::DCPS::WeakRcHandle< T >::lock(), and OPENDDS_END_VERSIONED_NAMESPACE_DECL.

155  {
156  RcHandle<Delegate> handle = delegate_.lock();
157  if (handle) {
158  ((*handle).*function_)(now);
159  }
160  }
RcHandle< T > lock() const
Definition: RcObject.h:188
WeakRcHandle< Delegate > delegate_
Definition: PeriodicTask.h:151

Member Data Documentation

◆ delegate_

template<typename Delegate >
WeakRcHandle<Delegate> OpenDDS::DCPS::PmfPeriodicTask< Delegate >::delegate_
private

Definition at line 151 of file PeriodicTask.h.

◆ function_

template<typename Delegate >
PMF OpenDDS::DCPS::PmfPeriodicTask< Delegate >::function_
private

Definition at line 152 of file PeriodicTask.h.


The documentation for this class was generated from the following file: