class EventSignalBase
클라이언트는 이벤트 신호에 연결하여 이벤트를 수신하거나 이벤트 신호에서 연결을 끊어 이벤트 수신을 중지할 수 있습니다.
생성 시 연결된 클라이언트 수가 각각 0에서 1 또는 1로 변경될 때 호출되는 연결 및 연결 끊기 콜백을 제공할 수 있습니다.
멤버
EventSignalBase
구문: public inline EventSignalBase ( );
빈 연결 및 연결 끊기 작업을 사용하여 이벤트 신호를 생성합니다.
~EventSignalBase
구문: public inline virtual ~EventSignalBase ( );
소멸자
RegisterCallback
구문: public inline CallbackToken RegisterCallback ( CallbackFunction callback );
이 EventSignalBase에 콜백을 등록하고 고유한 토큰을 할당합니다.
매개 변수
callback
등록할 콜백입니다.
반환
이 등록과 연결된 새 토큰으로, 후속 등록 취소에 사용할 수 있습니다.
UnregisterCallback
구문: public inline bool UnregisterCallback ( CallbackToken token );
있는 경우 제공된 토큰과 연결된 이 EventSource에서 콜백을 등록 취소합니다. 토큰은 등록 시 RegisterCallback에서 반환됩니다.
매개 변수
token
제거할 콜백과 연결된 토큰입니다. 이 토큰은 등록 시 RegisterCallback의 반환 값에 의해 제공됩니다.
반환
이 요청에 대한 응답으로 콜백이 등록 취소되었는지 여부를 나타내는 값입니다.
operator()
구문: public inline void operator() ( T t );
함수 호출 연산자입니다. 지정된 인수 t 를 사용하여 이벤트를 연결된 클라이언트에 신호로 보냅니다. 또한 Signal을 참조하세요.
매개 변수
t
신호할 이벤트 인수입니다.
UnregisterAllCallbacks
구문: public inline void UnregisterAllCallbacks ( );
등록된 모든 콜백의 등록을 취소합니다.
Signal
구문: public inline void Signal ( T t );
연결된 모든 콜백에 대해 지정된 인수 t 를 사용하여 이벤트에 신호를 보냅니다.
매개 변수
t
신호할 이벤트 인수입니다.
IsConnected
구문: public inline bool IsConnected ( ) const;
콜백이 연결되어 있는지 확인합니다.
반환
콜백이 연결된 경우 true
m_callbacks
구문: protected std::map< CallbackToken, CallbackFunction > m_callbacks;
m_nextCallbackToken
구문: protected CallbackToken m_nextCallbackToken;
m_mutex
구문: protected mutable std::recursive_mutex m_mutex;
CallbackFunction
구문: typedef CallbackFunction;
연결된 클라이언트에 이벤트를 신호하는 데 사용되는 콜백 유형입니다.
CallbackArgument
구문: typedef CallbackArgument;
콜백 이벤트에 대한 인수 형식입니다.
CallbackToken
구문: typedef CallbackToken;
콜백 등록, 추적 및 등록 취소에 사용되는 단조롭게 증가하는 토큰입니다.