@@ -4,13 +4,13 @@ import { CXXRTLDebugger } from '../debugger';
4
4
// @ts -ignore
5
5
import embedHtml from '../surfer/embed.html' ;
6
6
import { ILink , Packet } from '../cxxrtl/link' ;
7
- import { ClientPacket , ServerPacket } from '../cxxrtl/proto' ;
7
+ import { ClientPacket } from '../cxxrtl/proto' ;
8
8
9
9
export class ClientPacketString {
10
- constructor ( public inner : string ) { }
10
+ constructor ( public inner : string ) { }
11
11
}
12
12
export class ServerPacketString {
13
- constructor ( public inner : string ) { }
13
+ constructor ( public inner : string ) { }
14
14
}
15
15
16
16
@@ -28,58 +28,57 @@ export type WebviewToExtensionMessage =
28
28
;
29
29
30
30
export class WaveformProvider {
31
- constructor (
32
- private rtlDebugger : CXXRTLDebugger ,
33
- private webviewPanel : vscode . WebviewPanel ,
34
- bundleRoot : vscode . Uri ,
35
- ) {
36
- const webviewHtml = embedHtml . replace ( / _ _ b a s e _ h r e f _ _ / ,
37
- this . webview . asWebviewUri ( bundleRoot ) . toString ( ) ) ;
38
- this . webview . onDidReceiveMessage ( this . processMessage . bind ( this ) ) ;
39
- this . webview . html = webviewHtml ;
40
- const debuggerLink = rtlDebugger . session ?. createSecondaryLink ( )
31
+ constructor (
32
+ private rtlDebugger : CXXRTLDebugger ,
33
+ private webviewPanel : vscode . WebviewPanel ,
34
+ bundleRoot : vscode . Uri ,
35
+ ) {
36
+ const webviewHtml = embedHtml . replace ( / _ _ b a s e _ h r e f _ _ / ,
37
+ this . webview . asWebviewUri ( bundleRoot ) . toString ( ) ) ;
38
+ this . webview . onDidReceiveMessage ( this . processMessage . bind ( this ) ) ;
39
+ this . webview . html = webviewHtml ;
40
+ const debuggerLink = rtlDebugger . session ?. createSecondaryLink ( ) ;
41
41
42
- // TODO: Correct way to handle errors?
43
- if ( debuggerLink ) {
44
- this . debuggerLink = debuggerLink
45
- this . debuggerLink . onRecv = async ( message ) => {
46
- console . log ( "Running on recv for " , message )
47
- // await this.sendMessage({ type: "cxxrtl_scmessage", message: new ServerPacketString(message.asString()) })
48
- }
49
- } else {
50
- throw new Error ( "Failed to create secondary debugger link" )
42
+ // TODO: Correct way to handle errors?
43
+ if ( debuggerLink ) {
44
+ this . debuggerLink = debuggerLink ;
45
+ this . debuggerLink . onRecv = async ( message ) => {
46
+ // console.log("Running on recv for ", message)
47
+ await this . sendMessage ( { type : "cxxrtl_scmessage" , message : new ServerPacketString ( message . asString ( ) ) } )
48
+ } ;
49
+ } else {
50
+ throw new Error ( 'Failed to create secondary debugger link' ) ;
51
+ }
51
52
}
52
- }
53
53
54
- dispose ( ) {
55
- this . webviewPanel . dispose ( ) ;
56
- }
54
+ dispose ( ) {
55
+ this . webviewPanel . dispose ( ) ;
56
+ }
57
57
58
- get webview ( ) {
59
- return this . webviewPanel . webview ;
60
- }
58
+ get webview ( ) {
59
+ return this . webviewPanel . webview ;
60
+ }
61
61
62
- private async sendMessage ( message : ExtensionToWebviewMessage ) {
63
- const messagePosted = await this . webview . postMessage ( message ) ;
64
- if ( ! messagePosted ) {
65
- console . warn ( '[RTL Debugger] [WaveformProvider] Dropping extension to webview message:' , message ) ;
62
+ private async sendMessage ( message : ExtensionToWebviewMessage ) {
63
+ const messagePosted = await this . webview . postMessage ( message ) ;
64
+ if ( ! messagePosted ) {
65
+ console . warn ( '[RTL Debugger] [WaveformProvider] Dropping extension to webview message:' , message ) ;
66
+ }
66
67
}
67
- }
68
68
69
- private async processMessage ( message : WebviewToExtensionMessage ) {
70
- if ( message . type === 'ready' ) {
71
- console . log ( '[RTL Debugger] [WaveformProvider] Ready' ) ;
72
- } else if ( message . type === 'crash' ) {
73
- console . log ( '[RTL Debugger] [WaveformProvider] Crash:' , message . error ) ;
74
- } else if ( message . type == 'cxxrtl_csmessage' ) {
75
- console . log ( ` [RTL Debugger] [WaveformProvider] Got CSMessage` , message . message ) ;
76
- const packet : Packet < ClientPacket > = Packet . fromString ( message . message . inner ) ;
77
- console . log ( "Handing " , packet . asString ( ) , " off to debugger link" )
78
- await this . debuggerLink . send ( packet )
79
- } else {
80
- console . error ( '[RTL Debugger] [WaveformProvider] Unhandled webview to extension message:' , message ) ;
69
+ private async processMessage ( message : WebviewToExtensionMessage ) {
70
+ if ( message . type === 'ready' ) {
71
+ console . log ( '[RTL Debugger] [WaveformProvider] Ready' ) ;
72
+ } else if ( message . type === 'crash' ) {
73
+ console . log ( '[RTL Debugger] [WaveformProvider] Crash:' , message . error ) ;
74
+ } else if ( message . type == 'cxxrtl_csmessage' ) {
75
+ console . log ( ' [RTL Debugger] [WaveformProvider] Got CSMessage' , message . message ) ;
76
+ const packet : Packet < ClientPacket > = Packet . fromString ( message . message . inner ) ;
77
+ await this . debuggerLink . send ( packet ) ;
78
+ } else {
79
+ console . error ( '[RTL Debugger] [WaveformProvider] Unhandled webview to extension message:' , message ) ;
80
+ }
81
81
}
82
- }
83
82
84
- private debuggerLink : ILink ;
83
+ private debuggerLink : ILink ;
85
84
}
0 commit comments