WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
wpi::net::uv::Signal Class Referencefinal

Signal handle. More...

#include <wpi/net/uv/Signal.hpp>

Inheritance diagram for wpi::net::uv::Signal:
wpi::net::uv::HandleImpl< Signal, uv_signal_t > wpi::net::uv::Handle

Public Member Functions

 Signal (const private_init &)
 ~Signal () noexcept override=default
void Start (int signum)
 Start watching for the given signal.
void StartOneshot (int signum)
 Start watching for the given signal.
void Stop ()
 Stop watching for the signal.
int GetSignal () const
 Get the signal being monitored.
Public Member Functions inherited from wpi::net::uv::HandleImpl< Signal, uv_signal_t >
std::shared_ptr< Signalshared_from_this ()
uv_signal_tGetRaw () const noexcept
 Get the underlying handle data structure.
Public Member Functions inherited from wpi::net::uv::Handle
 Handle (const Handle &)=delete
 Handle (Handle &&)=delete
Handleoperator= (const Handle &)=delete
Handleoperator= (Handle &&)=delete
virtual ~Handle () noexcept
Type GetType () const noexcept
 Get the type of the handle.
std::string_view GetTypeName () const noexcept
 Get the name of the type of the handle.
std::shared_ptr< LoopGetLoop () const noexcept
 Get the loop where this handle runs.
LoopGetLoopRef () const noexcept
 Get the loop where this handle runs.
bool IsActive () const noexcept
 Check if the handle is active.
bool IsClosing () const noexcept
 Check if a handle is closing or closed.
void Close () noexcept
 Request handle to be closed.
void SetLoopClosing (bool loopClosing) noexcept
 Set if the loop is closing.
bool IsLoopClosing () const noexcept
 Get the loop closing status.
void Reference () noexcept
 Reference the given handle.
void Unreference () noexcept
 Unreference the given handle.
bool HasReference () const noexcept
 Check if the given handle is referenced.
size_t RawSize () const noexcept
 Return the size of the underlying handle type.
uv_handle_tGetRawHandle () const noexcept
 Get the underlying handle data structure.
void SetBufferAllocator (std::function< Buffer(size_t)> alloc, std::function< void(Buffer &)> dealloc)
 Set the functions used for allocating and releasing buffers.
void FreeBuf (Buffer &buf) const noexcept
 Free a buffer.
template<typename T = void>
std::shared_ptr< T > GetData () const
 Gets user-defined data.
void SetData (std::shared_ptr< void > data)
 Sets user-defined data.
void SetLogger (wpi::util::Logger *logger)
 Sets logger.
wpi::util::LoggerGetLogger () const
 Gets logger.
void ReportError (int err) const
 Report an error.

Static Public Member Functions

static std::shared_ptr< SignalCreate (Loop &loop)
 Create a signal handle.
static std::shared_ptr< SignalCreate (const std::shared_ptr< Loop > &loop)
 Create a signal handle.

Public Attributes

wpi::util::sig::Signal< int > signal
 Signal generated when a signal occurs.
Public Attributes inherited from wpi::net::uv::Handle
wpi::util::sig::Signal< Errorerror
 Error signal.
wpi::util::sig::Signal closed
 Closed signal.

Additional Inherited Members

Public Types inherited from wpi::net::uv::Handle
using Type = uv_handle_type
Protected Member Functions inherited from wpi::net::uv::HandleImpl< Signal, uv_signal_t >
 HandleImpl ()
Protected Member Functions inherited from wpi::net::uv::Handle
 Handle (uv_handle_t *uv_handle)
void Keep () noexcept
void Release () noexcept
void ForceClosed () noexcept
template<typename F, typename... Args>
bool Invoke (F &&f, Args &&... args) const
Static Protected Member Functions inherited from wpi::net::uv::Handle
static void AllocBuf (uv_handle_t *handle, size_t size, uv_buf_t *buf)
static void DefaultFreeBuf (Buffer &buf)

Detailed Description

Signal handle.

Constructor & Destructor Documentation

◆ Signal()

wpi::net::uv::Signal::Signal ( const private_init & )
inlineexplicit

◆ ~Signal()

wpi::net::uv::Signal::~Signal ( )
overridedefaultnoexcept

Member Function Documentation

◆ Create() [1/2]

std::shared_ptr< Signal > wpi::net::uv::Signal::Create ( const std::shared_ptr< Loop > & loop)
inlinestatic

Create a signal handle.

Parameters
loopLoop object where this handle runs.

◆ Create() [2/2]

std::shared_ptr< Signal > wpi::net::uv::Signal::Create ( Loop & loop)
static

Create a signal handle.

Parameters
loopLoop object where this handle runs.

◆ GetSignal()

int wpi::net::uv::Signal::GetSignal ( ) const
inline

Get the signal being monitored.

Returns
Signal number.

◆ Start()

void wpi::net::uv::Signal::Start ( int signum)

Start watching for the given signal.

Parameters
signumSignal to watch for.

◆ StartOneshot()

void wpi::net::uv::Signal::StartOneshot ( int signum)

Start watching for the given signal.

Same as Start() but the signal handler is reset the moment the signal is received.

Parameters
signumSignal to watch for.

◆ Stop()

void wpi::net::uv::Signal::Stop ( )
inline

Stop watching for the signal.

Member Data Documentation

◆ signal

wpi::util::sig::Signal<int> wpi::net::uv::Signal::signal

Signal generated when a signal occurs.


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