Lines Matching refs:Message
29 template <typename Message, typename IDType, bool AllowCopyableMessage = true>
37 static_assert(AllowCopyableMessage || is_sk_sp<Message>::value ||
38 !std::is_copy_constructible<Message>::value,
43 static void Post(Message m);
53 void poll(SkTArray<Message>* out);
56 SkTArray<Message> fMessages;
61 void receive(Message m); // SkMessageBus is a friend only to call this.
74 #define DECLARE_SKMESSAGEBUS_MESSAGE(Message, IDType, AllowCopyableMessage) \
76 SkMessageBus<Message, IDType, AllowCopyableMessage>* \
77 SkMessageBus<Message, IDType, AllowCopyableMessage>::Get() { \
79 static SkMessageBus<Message, IDType, AllowCopyableMessage>* bus; \
80 once([] { bus = new SkMessageBus<Message, IDType, AllowCopyableMessage>(); }); \
86 template <typename Message, typename IDType, bool AllowCopyableMessage>
87 SkMessageBus<Message, IDType, AllowCopyableMessage>::Inbox::Inbox(IDType uniqueID)
90 auto* bus = SkMessageBus<Message, IDType, AllowCopyableMessage>::Get();
95 template <typename Message, typename IDType, bool AllowCopyableMessage>
96 SkMessageBus<Message, IDType, AllowCopyableMessage>::Inbox::~Inbox() {
98 auto* bus = SkMessageBus<Message, IDType, AllowCopyableMessage>::Get();
109 template <typename Message, typename IDType, bool AllowCopyableMessage>
110 void SkMessageBus<Message, IDType, AllowCopyableMessage>::Inbox::receive(Message m) {
115 template <typename Message, typename IDType, bool AllowCopyableMessage>
116 void SkMessageBus<Message, IDType, AllowCopyableMessage>::Inbox::poll(SkTArray<Message>* messages) {
125 template <typename Message, typename IDType, bool AllowCopyableMessage>
126 SkMessageBus<Message, IDType, AllowCopyableMessage>::SkMessageBus() = default;
128 template <typename Message, typename IDType, bool AllowCopyableMessage>
129 /*static*/ void SkMessageBus<Message, IDType, AllowCopyableMessage>::Post(Message m) {
130 auto* bus = SkMessageBus<Message, IDType, AllowCopyableMessage>::Get();
137 if constexpr (is_sk_sp<Message>::value) {
146 if constexpr (is_sk_sp<Message>::value && !AllowCopyableMessage) {