QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
SignalDataTransition< Args > Class Template Reference

#include <SignalDataTransition.h>

+ Inheritance diagram for SignalDataTransition< Args >:
+ Collaboration diagram for SignalDataTransition< Args >:

Public Types

using Guard = std::function< bool(Args...)>
 
using Action = std::function< void(Args...)>
 

Public Member Functions

 SignalDataTransition (const SignalDataTransition &)=delete
 
SignalDataTransitionoperator= (const SignalDataTransition &)=delete
 
template<typename Sender , typename Func >
 SignalDataTransition (const Sender *sender, Func signalFn, QAbstractState *target, Guard guard=nullptr, Action action=nullptr)
 
std::tuple< Args... > signalArgs () const
 Get the arguments from the last matched signal.
 
- Public Member Functions inherited from QGCSignalTransition
 QGCSignalTransition (QState *sourceState=nullptr)
 
 QGCSignalTransition (const QObject *sender, const char *signal, QState *sourceState=nullptr)
 
template<typename Func >
 QGCSignalTransition (const typename QtPrivate::FunctionPointer< Func >::Object *sender, Func signalFn, QState *sourceState=nullptr)
 
QGCStateMachinemachine () const
 Get the QGCStateMachine this transition belongs to.
 
Vehiclevehicle () const
 Get the Vehicle associated with the state machine.
 

Protected Member Functions

bool eventTest (QEvent *event) override
 
void onTransition (QEvent *event) override
 

Detailed Description

template<typename... Args>
class SignalDataTransition< Args >

Transition that provides access to signal arguments in guard and action Use this when you need to inspect signal parameters to decide whether to transition.

Definition at line 12 of file SignalDataTransition.h.

Member Typedef Documentation

◆ Action

template<typename... Args>
using SignalDataTransition< Args >::Action = std::function<void(Args...)>

Definition at line 19 of file SignalDataTransition.h.

◆ Guard

template<typename... Args>
using SignalDataTransition< Args >::Guard = std::function<bool(Args...)>

Definition at line 18 of file SignalDataTransition.h.

Constructor & Destructor Documentation

◆ SignalDataTransition() [1/2]

template<typename... Args>
SignalDataTransition< Args >::SignalDataTransition ( const SignalDataTransition< Args > &  )
delete

◆ SignalDataTransition() [2/2]

template<typename... Args>
template<typename Sender , typename Func >
SignalDataTransition< Args >::SignalDataTransition ( const Sender *  sender,
Func  signalFn,
QAbstractState *  target,
Guard  guard = nullptr,
Action  action = nullptr 
)
inline

Create a signal data transition

Parameters
senderThe object that emits the signal
signalThe signal to listen for
targetTarget state for the transition
guardOptional predicate receiving signal args, must return true to transition
actionOptional action receiving signal args, called during transition

Definition at line 28 of file SignalDataTransition.h.

Member Function Documentation

◆ eventTest()

template<typename... Args>
bool SignalDataTransition< Args >::eventTest ( QEvent *  event)
inlineoverrideprotected

Definition at line 41 of file SignalDataTransition.h.

◆ onTransition()

template<typename... Args>
void SignalDataTransition< Args >::onTransition ( QEvent *  event)
inlineoverrideprotected

Definition at line 65 of file SignalDataTransition.h.

◆ operator=()

template<typename... Args>
SignalDataTransition & SignalDataTransition< Args >::operator= ( const SignalDataTransition< Args > &  )
delete

◆ signalArgs()

template<typename... Args>
std::tuple< Args... > SignalDataTransition< Args >::signalArgs ( ) const
inline

Get the arguments from the last matched signal.

Definition at line 38 of file SignalDataTransition.h.


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