66from .handlers import RouteHandler , YRoomSessionHandler , FileIDIndexHandler
77from .websockets import GlobalAwarenessWebsocket , YRoomWebsocket
88from .rooms .yroom_manager import YRoomManager
9+ from .outputs import OutputsManager , outputs_handlers
910
1011class RtcExtensionApp (ExtensionApp ):
1112 name = "jupyter_rtc_core"
@@ -25,6 +26,9 @@ class RtcExtensionApp(ExtensionApp):
2526 (r"api/fileid/index" , FileIDIndexHandler )
2627 ]
2728
29+ for handler in outputs_handlers :
30+ handlers .append (handler )
31+
2832 yroom_manager_class = Type (
2933 klass = YRoomManager ,
3034 help = """YRoom Manager Class.""" ,
@@ -37,6 +41,17 @@ class RtcExtensionApp(ExtensionApp):
3741 allow_none = True
3842 ).tag (config = True )
3943
44+ outputs_manager_class = Type (
45+ klass = OutputsManager ,
46+ help = "Outputs manager class." ,
47+ default_value = OutputsManager
48+ ).tag (config = True )
49+
50+ outputs_manager = Instance (
51+ klass = OutputsManager ,
52+ help = "An instance of the OutputsManager" ,
53+ allow_none = True
54+ ).tag (config = True )
4055
4156 def initialize (self ):
4257 super ().initialize ()
@@ -59,7 +74,10 @@ def get_fileid_manager():
5974 loop = loop ,
6075 log = log
6176 )
62- pass
77+
78+ # Initialize OutputsManager
79+ self .outputs_manager = self .outputs_manager_class (config = self .config )
80+ self .settings ["outputs_manager" ] = self .outputs_manager
6381
6482
6583 def _link_jupyter_server_extension (self , server_app ):
0 commit comments