summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorifsmirnov <[email protected]>2025-06-24 22:06:51 +0300
committerifsmirnov <[email protected]>2025-06-24 22:18:28 +0300
commit55cdb44decfd610ddefbcbf7ef9b4b8799937564 (patch)
tree241859d63699cea85ae226137880241a22a04ccc
parent507e7e6f4ff8a39643ab15470199a85ec7cf2f00 (diff)
Switch TTabletManager to virtual interface
commit_hash:2ce8952e7e1da466264de530778e4d62a490f52c
-rw-r--r--yt/yt/core/actions/signal.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/yt/yt/core/actions/signal.h b/yt/yt/core/actions/signal.h
index 395249ad5d5..280778943e6 100644
--- a/yt/yt/core/actions/signal.h
+++ b/yt/yt/core/actions/signal.h
@@ -61,6 +61,14 @@ public: \
} \
static_assert(true)
+#define DEFINE_SIGNAL_WITH_ACCESSOR_OVERRIDE(TSignature, name) \
+ DEFINE_SIGNAL_OVERRIDE(TSignature, name); \
+ ::NYT::TCallbackList<TSignature>* Get##name##Signal() override \
+ { \
+ return &name##_; \
+ } \
+ static_assert(true)
+
#define DECLARE_SIGNAL(TSignature, name) \
void Subscribe##name(const ::NYT::TCallback<TSignature>& callback); \
void Unsubscribe##name(const ::NYT::TCallback<TSignature>& callback)
@@ -77,6 +85,10 @@ public: \
virtual void Subscribe##name(const ::NYT::TCallback<TSignature>& callback) = 0; \
virtual void Unsubscribe##name(const ::NYT::TCallback<TSignature>& callback) = 0
+#define DECLARE_INTERFACE_SIGNAL_WITH_ACCESSOR(TSignature, name) \
+ DECLARE_INTERFACE_SIGNAL(TSignature, name); \
+ virtual ::NYT::TCallbackList<TSignature>* Get##name##Signal() = 0
+
#define DELEGATE_SIGNAL_WITH_RENAME(declaringType, TSignature, name, delegateTo, delegateName) \
void declaringType::Subscribe##name(const ::NYT::TCallback<TSignature>& callback) \
{ \