다음을 통해 공유


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;

콜백 등록, 추적 및 등록 취소에 사용되는 단조롭게 증가하는 토큰입니다.