11/// <!-- @echo package.title --> version <!-- @echo package.version --> core.
2- /// Class which handles client requests and executes code.
2+ /// The core class which handles client requests and executes COS code.
3+ /// All writes used here are used for $X and $Y compatibility, but they actually do not
4+ /// write any code to the screen.
35Class WebTerminal .Core Extends Common [ Not ProcedureBlock ]
46{
57
@@ -13,18 +15,34 @@ Class WebTerminal.Core Extends Common [ Not ProcedureBlock ]
1315Method redirects () [ Private , ProcedureBlock = 0 ]
1416{
1517wstr (str )
18+ do ##class (%Device ).ReDirectIO ($$$NO)
19+ write str
20+ do ##class (%Device ).ReDirectIO ($$$YES)
1621 quit ##class (WebTerminal.Common ).SendChunk ($ZPARENT , " o" , str )
1722
1823wchr (c )
24+ do ##class (%Device ).ReDirectIO ($$$NO)
25+ write $CHAR (c )
26+ do ##class (%Device ).ReDirectIO ($$$YES)
1927 quit ##class (WebTerminal.Common ).SendChunk ($ZPARENT , " o" , $CHAR (c ))
2028
2129wnl
30+ do ##class (%Device ).ReDirectIO ($$$NO)
31+ write !
32+ do ##class (%Device ).ReDirectIO ($$$YES)
2233 quit ##class (WebTerminal.Common ).SendChunk ($ZPARENT , " o" , $CHAR (13 , 10 ))
2334
2435wff
36+ do ##class (%Device ).ReDirectIO ($$$NO)
37+ set $X = 0
38+ set $Y = 0
39+ do ##class (%Device ).ReDirectIO ($$$YES)
2540 quit ##class (WebTerminal.Common ).SendChunk ($ZPARENT , " o" , $CHAR (12 ))
2641
2742wtab (s )
43+ do ##class (%Device ).ReDirectIO ($$$NO)
44+ set $x = s
45+ do ##class (%Device ).ReDirectIO ($$$YES)
2846 quit ##class (WebTerminal.Common ).SendChunk ($ZPARENT , " o" , $CHAR (27 ) _ " [" _ (s + 1 ) _ " G" )
2947
3048rstr (length = 32656 , timeout = 86400 )
@@ -95,9 +113,10 @@ ClassMethod Loop(StartupRoutine As %String = "") As %Status
95113 set $ZERROR = " "
96114 try { xecute ..WaitCommand () } catch {}
97115 do ##class (%Device ).ReDirectIO ($$$NO)
116+ write !! // assume that prompt takes 2 lines
98117 do ..SendChunk ($ZPARENT , " e" , $LISTBUILD ($NAMESPACE , $ZERROR ))
99118 }
100119 return $$$OK
101120}
102121
103- }
122+ }
0 commit comments