diff options
Diffstat (limited to 'common/message_server.js')
-rw-r--r-- | common/message_server.js | 37 |
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 + */ |