summaryrefslogtreecommitdiff
path: root/Source/WebKit2/Platform/IPC/MessageReceiver.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebKit2/Platform/IPC/MessageReceiver.h
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebKit2/Platform/IPC/MessageReceiver.h')
-rw-r--r--Source/WebKit2/Platform/IPC/MessageReceiver.h41
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