diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebKit2/Platform/IPC/MessageReceiver.h | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebKit2/Platform/IPC/MessageReceiver.h')
-rw-r--r-- | Source/WebKit2/Platform/IPC/MessageReceiver.h | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/Source/WebKit2/Platform/IPC/MessageReceiver.h b/Source/WebKit2/Platform/IPC/MessageReceiver.h index 331b7c33a..ef890c146 100644 --- a/Source/WebKit2/Platform/IPC/MessageReceiver.h +++ b/Source/WebKit2/Platform/IPC/MessageReceiver.h @@ -23,29 +23,50 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef MessageReceiver_h -#define MessageReceiver_h +#pragma once #include <wtf/Assertions.h> -#include <wtf/OwnPtr.h> namespace IPC { -class MessageDecoder; -class MessageEncoder; class Connection; +class Decoder; +class Encoder; class MessageReceiver { public: - virtual ~MessageReceiver() { } + virtual ~MessageReceiver() + { + ASSERT(!m_messageReceiverMapCount); + } - virtual void didReceiveMessage(Connection*, MessageDecoder&) = 0; - virtual void didReceiveSyncMessage(Connection*, MessageDecoder&, std::unique_ptr<MessageEncoder>&) + virtual void didReceiveMessage(Connection&, Decoder&) = 0; + virtual void didReceiveSyncMessage(Connection&, Decoder&, std::unique_ptr<Encoder>&) { ASSERT_NOT_REACHED(); } + +private: + friend class MessageReceiverMap; + + void willBeAddedToMessageReceiverMap() + { +#if !ASSERT_DISABLED + m_messageReceiverMapCount++; +#endif + } + + void willBeRemovedFromMessageReceiverMap() + { + ASSERT(m_messageReceiverMapCount); +#if !ASSERT_DISABLED + m_messageReceiverMapCount--; +#endif + } + +#if !ASSERT_DISABLED + unsigned m_messageReceiverMapCount { 0 }; +#endif }; } // namespace IPC - -#endif // MessageReceiver_h |