File tree Expand file tree Collapse file tree 2 files changed +12
-4
lines changed Expand file tree Collapse file tree 2 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,10 @@ import { IKernel, IKernelSpecs } from '@jupyterlite/kernel';
4
4
import { EmbeddedKernel } from './kernel' ;
5
5
import WelcomePanel from './panel' ;
6
6
import { ServiceContainer } from './services/ServiceContainer' ;
7
+ import { DeviceService } from './services/DeviceService' ;
8
+
9
+ // Variable for saving the DeviceService instance so we can restore it if kernel is restarted
10
+ var devService : DeviceService | null = null ;
7
11
8
12
// Kernel plugin for the embedded kernel
9
13
const kernelPlugin : JupyterLiteServerPlugin < void > = {
@@ -39,11 +43,14 @@ const kernelPlugin: JupyterLiteServerPlugin<void> = {
39
43
} ,
40
44
} ,
41
45
create : async ( options : IKernel . IOptions ) : Promise < IKernel > => {
42
-
46
+
43
47
console . log ( "CREATED NEW EMBEDDED KERNEL..." )
44
- const serviceContainer = new ServiceContainer ( )
48
+ const serviceContainer = new ServiceContainer ( devService ) ;
45
49
await serviceContainer . init ( ) ;
46
50
51
+ // Save the DeviceService instance so we can restore it if kernel is restarted
52
+ devService = serviceContainer . deviceService ;
53
+
47
54
const welcomePanel = new WelcomePanel ( serviceContainer ) ;
48
55
document . body . appendChild ( welcomePanel . getElement ( ) ) ;
49
56
const kernel = new EmbeddedKernel ( options , serviceContainer ) ;
Original file line number Diff line number Diff line change @@ -10,8 +10,9 @@ export class ServiceContainer {
10
10
private _firmwareService : FirmwareService ;
11
11
private _flashService : FlashService ;
12
12
13
- constructor ( ) {
14
- this . _deviceService = new DeviceService ( ) ;
13
+ constructor ( devService ?: DeviceService | null ) {
14
+ // If a DeviceService instance is passed (and is not null), use it; otherwise, create a new one.
15
+ this . _deviceService = devService || new DeviceService ( ) ;
15
16
this . _consoleService = new ConsoleService ( this . _deviceService ) ;
16
17
this . _firmwareService = new FirmwareService ( this . _deviceService ) ;
17
18
You can’t perform that action at this time.
0 commit comments