diff libervia/server/server.py @ 1516:a3ca1bab6eb1

server, restricted bridge: add new methods and signals to prepare calls implementation: rel 422
author Goffi <goffi@goffi.org>
date Thu, 01 Jun 2023 20:44:57 +0200
parents 16228994ca3b
children
line wrap: on
line diff
--- a/libervia/server/server.py	Mon May 22 11:57:49 2023 +0200
+++ b/libervia/server/server.py	Thu Jun 01 20:44:57 2023 +0200
@@ -573,6 +573,18 @@
         self.bridge.register_signal(
             "message_new", partial(self.on_signal, "message_new")
         )
+        self.bridge.register_signal(
+            "call_accepted", partial(self.on_signal, "call_accepted"), "plugin"
+        )
+        self.bridge.register_signal(
+            "call_ended", partial(self.on_signal, "call_ended"), "plugin"
+        )
+        self.bridge.register_signal(
+            "ice_candidates_new", partial(self.on_signal, "ice_candidates_new"), "plugin"
+        )
+        self.bridge.register_signal(
+            "action_new", self.action_new_handler,
+        )
 
         # libervia applications handling
         self.bridge.register_signal(
@@ -694,6 +706,22 @@
         getattr(self.bridge, method_name)(*args, **kwargs)
         return d
 
+    def action_new_handler(
+        self,
+        action_data_s: str,
+        action_id: str,
+        security_limit: int,
+        profile: str
+    ) -> None:
+        if security_limit > C.SECURITY_LIMIT:
+            log.debug(
+                f"ignoring action {action_id} due to security limit"
+            )
+        else:
+            self.on_signal(
+                "action_new", action_data_s, action_id, security_limit, profile
+            )
+
     def on_signal(self, signal_name, *args):
         profile = args[-1]
         if not profile: