클라이언트는 이벤트 신호에 연결하여 이벤트를 수신하거나 이벤트 신호에서 연결을 끊어 이벤트 수신을 중지할 수 있습니다.
생성 시 연결된 클라이언트 수가 각각 0에서 1 또는 0으로 변경될 때 호출되는 연결 및 연결 끊기 콜백을 제공할 수 있습니다.
구성원
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 );
함수 호출 연산자입니다. 지정된 인수가 연결된 클라이언트에 이벤트에 신호를 전송합니다. Signal참조하세요.
매개 변수
- 신호를 보낼 이벤트 인수를
t.
UnregisterAllCallbacks
구문: public inline void UnregisterAllCallbacks ( );
등록된 모든 콜백의 등록을 취소합니다.
신호
구문: public inline void Signal ( 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;
콜백 등록, 추적 및 등록 취소에 사용되는 단조로 증가하는 토큰입니다.