From d50a5806d85ea5a39eda6d809df19db291def302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Jou=C3=9Fen?= Date: Mon, 9 Jul 2018 15:51:04 +0200 Subject: [PATCH] Introduce a SessionManagerProvider object to provide a SessionManager based on the used MediaMode --- .../server/core/SessionManagerProvider.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 openvidu-server/src/main/java/io/openvidu/server/core/SessionManagerProvider.java diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/SessionManagerProvider.java b/openvidu-server/src/main/java/io/openvidu/server/core/SessionManagerProvider.java new file mode 100644 index 00000000..8c90fe64 --- /dev/null +++ b/openvidu-server/src/main/java/io/openvidu/server/core/SessionManagerProvider.java @@ -0,0 +1,30 @@ +package io.openvidu.server.core; + +import io.openvidu.java.client.MediaMode; +import io.openvidu.java.client.SessionProperties; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.xml.ws.spi.WebServiceFeatureAnnotation; + +public class SessionManagerProvider { + + @Autowired + private SessionManager sessionManager; + + @Autowired + private SessionStorage sessionStorage; + + public SessionManager get(MediaMode mediaMode) { + if(mediaMode == MediaMode.RELAYED) { + // Implement SessionManager for MediaMode.RELAYED + } + + return this.sessionManager; + } + + public SessionManager get(String sessionId) { + SessionProperties sessionProperties = this.sessionStorage.getSessionProperties(sessionId); + return this.get(sessionProperties.mediaMode()); + } + +}