DESERT 4.0.0
PositionListener< Owner > Class Template Reference

#include <position_listener.h>

Inheritance diagram for PositionListener< Owner >:
Inheritance graph
Collaboration diagram for PositionListener< Owner >:
Collaboration graph

Public Member Functions

 PositionListener (Owner *owner, uint16_t port, timeval read_timeout)
 
virtual ~PositionListener ()
 
virtual void Run ()
 
- Public Member Functions inherited from StoppableThread
 StoppableThread ()=default
 
virtual ~StoppableThread ()=default
 
bool Start (bool exc_info=false)
 
void Stop (bool wait=false)
 
template<class Rep , class Period >
void Sleep (const std::chrono::duration< Rep, Period > &d)
 
bool Running ()
 
bool StopRequested ()
 

Protected Member Functions

bool ReadyToRead ()
 

Protected Attributes

SOCKET_TYPE m_SocketFD {0}
 
timeval m_ReadTimeout
 
uint16_t m_Port
 
Owner * p_Owner
 

Detailed Description

template<typename Owner>
class PositionListener< Owner >

Position listener thread with UDP socket

Constructor & Destructor Documentation

◆ PositionListener()

template<typename Owner >
PositionListener< Owner >::PositionListener ( Owner *  owner,
uint16_t  port,
timeval  read_timeout 
)
inline

◆ ~PositionListener()

template<typename Owner >
virtual PositionListener< Owner >::~PositionListener ( )
inlinevirtual

Member Function Documentation

◆ ReadyToRead()

template<typename Owner >
bool PositionListener< Owner >::ReadyToRead ( )
inlineprotected

Uses select() to do a timed wait for new data

Returns
true if data ara available, false if not

References PositionListener< Owner >::m_ReadTimeout, and PositionListener< Owner >::m_SocketFD.

Referenced by PositionListener< Owner >::Run().

◆ Run()

template<typename Owner >
virtual void PositionListener< Owner >::Run ( )
inlinevirtual

Member Data Documentation

◆ m_Port

template<typename Owner >
uint16_t PositionListener< Owner >::m_Port
protected

UDP port number to read position from

Referenced by PositionListener< Owner >::PositionListener(), and PositionListener< Owner >::Run().

◆ m_ReadTimeout

template<typename Owner >
timeval PositionListener< Owner >::m_ReadTimeout
protected

◆ m_SocketFD

template<typename Owner >
SOCKET_TYPE PositionListener< Owner >::m_SocketFD {0}
protected

◆ p_Owner

template<typename Owner >
Owner* PositionListener< Owner >::p_Owner
protected

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