libqi-api  release-2.5.3-2016-11-18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
qi::SignalF< T > Class Template Reference

#include <signal.hpp>

Public Types

using FunctionType = T
 
- Public Types inherited from qi::SignalBase
using OnSubscribers = boost::function< void(bool)>
 

Public Member Functions

 SignalF (OnSubscribers onSubscribers=OnSubscribers())
 
virtual qi::Signature signature () const
 
SignalSubscriberconnect (...)
 
- Public Member Functions inherited from qi::SignalBase
 SignalBase (const Signature &signature, OnSubscribers onSubscribers=OnSubscribers())
 
 SignalBase (OnSubscribers onSubscribers=OnSubscribers())
 
virtual ~SignalBase ()
 
template<typename F >
SignalSubscriberconnect (boost::function< F > func)
 
SignalSubscriberconnect (const SignalSubscriber &s)
 
SignalSubscriberconnect (AnyObject object, const unsigned int slot)
 
SignalSubscriberconnect (AnyObject object, const std::string &slot)
 
bool disconnectAll ()
 
bool asyncDisconnectAll ()
 
bool disconnect (const SignalLink &link)
 
bool asyncDisconnect (const SignalLink &link)
 
virtual void trigger (const GenericFunctionParameters &params, MetaCallType callType=MetaCallType_Auto)
 
void setCallType (MetaCallType callType)
 Set the MetaCallType used by operator()(). More...
 
void operator() (qi::AutoAnyReference p1=qi::AutoAnyReference(), qi::AutoAnyReference p2=qi::AutoAnyReference(), qi::AutoAnyReference p3=qi::AutoAnyReference(), qi::AutoAnyReference p4=qi::AutoAnyReference(), qi::AutoAnyReference p5=qi::AutoAnyReference(), qi::AutoAnyReference p6=qi::AutoAnyReference(), qi::AutoAnyReference p7=qi::AutoAnyReference(), qi::AutoAnyReference p8=qi::AutoAnyReference())
 Trigger the signal with given arguments, and call type set by setCallType() More...
 
std::vector< SignalSubscribersubscribers ()
 
bool hasSubscribers ()
 
void _setSignature (const Signature &s)
 

Additional Inherited Members

- Public Attributes inherited from qi::SignalBase
boost::shared_ptr
< SignalBasePrivate
_p
 
- Static Public Attributes inherited from qi::SignalBase
static const SignalLink invalidSignalLink
 
- Protected Types inherited from qi::SignalBase
using Trigger = boost::function< void(const GenericFunctionParameters &params, MetaCallType callType)>
 
- Protected Member Functions inherited from qi::SignalBase
void callSubscribers (const GenericFunctionParameters &params, MetaCallType callType=MetaCallType_Auto)
 
void setTriggerOverride (Trigger trigger)
 
void setOnSubscribers (OnSubscribers onSubscribers)
 
void callOnSubscribe (bool v)
 
void createNewTrackLink (int &id, SignalLink *&trackLink)
 
void disconnectTrackLink (int id)
 

Detailed Description

template<typename T>
class qi::SignalF< T >

Definition at line 122 of file signal.hpp.

Member Typedef Documentation

template<typename T>
using qi::SignalF< T >::FunctionType = T

Definition at line 131 of file signal.hpp.

Constructor & Destructor Documentation

template<typename T >
qi::SignalF< T >::SignalF ( OnSubscribers  onSubscribers = OnSubscribers())

Signal constructor

Parameters
onSubscribersinvoked each time number of subscribers switch between 0 and 1, with argument '!subscribers.empty()' Will not be called when destructor is invoked and all subscribers are removed

Definition at line 133 of file signal.hxx.

Member Function Documentation

template<typename T>
SignalSubscriber & qi::SignalF< T >::connect (   ...)

Connect a subscriber to this signal.

Multiple forms can be used:

Returns
a SignalSubscriber object. This object can be implicitly converted to a SignalLink.
Exceptions
runtime_errorif the connection could not be made (because of invalid callback arity or argument type)

Definition at line 19 of file signal.hxx.

template<typename T >
qi::Signature qi::SignalF< T >::signature ( ) const
virtual

Reimplemented from qi::SignalBase.

Reimplemented in qi::GenericProperty.

Definition at line 142 of file signal.hxx.


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