summaryrefslogtreecommitdiff
path: root/common/message_server.js
diff options
context:
space:
mode:
Diffstat (limited to 'common/message_server.js')
-rw-r--r--common/message_server.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/common/message_server.js b/common/message_server.js
new file mode 100644
index 0000000..ea40487
--- /dev/null
+++ b/common/message_server.js
@@ -0,0 +1,37 @@
+/**
+ * Hachette message server
+ *
+ * Copyright (C) 2021 Wojtek Kosior
+ * Redistribution terms are gathered in the `copyright' file.
+ */
+
+/*
+ * IMPORTS_START
+ * IMPORT browser
+ * IMPORTS_END
+ */
+
+var listeners = {};
+
+/* magic should be one of the constants from /common/connection_types.js */
+
+function listen_for_connection(magic, cb)
+{
+ listeners[magic] = cb;
+}
+
+function raw_listen(port)
+{
+ if (listeners[port.name] === undefined)
+ return;
+
+ listeners[port.name](port);
+}
+
+browser.runtime.onConnect.addListener(raw_listen);
+
+/*
+ * EXPORTS_START
+ * EXPORT listen_for_connection
+ * EXPORTS_END
+ */