mirror of
https://github.com/lihop/godot-xterm.git
synced 2025-05-04 20:24:23 +02:00
Refactor PTY
PTY now provides a public interface to an underlying instance of PTYNative. The PTYNative class can be extended as appropriate for each platform and the platform-specific implementation will be selected by PTY at runtime.
This commit is contained in:
parent
d11853e9f6
commit
df32ee3c18
8 changed files with 539 additions and 333 deletions
28
addons/godot_xterm/nodes/pty/pty_native.gd
Normal file
28
addons/godot_xterm/nodes/pty/pty_native.gd
Normal file
|
@ -0,0 +1,28 @@
|
|||
tool
|
||||
extends Node
|
||||
|
||||
signal data_received(data)
|
||||
signal exited(exit_code, signum)
|
||||
|
||||
|
||||
func open(cols: int, rows: int):
|
||||
return _not_implemented()
|
||||
|
||||
|
||||
func resize(cols: int, rows: int):
|
||||
return _not_implemented()
|
||||
|
||||
|
||||
func get_master():
|
||||
return _not_implemented()
|
||||
|
||||
|
||||
func _not_implemented() -> int:
|
||||
var method := ""
|
||||
|
||||
var stack = get_stack()
|
||||
if stack.size() >= 2 and "function" in stack[1]:
|
||||
method = "%s()" % stack[1].function
|
||||
|
||||
push_error("Method %s not implemented on the current platform (%s)." % [method, OS.get_name()])
|
||||
return ERR_METHOD_NOT_FOUND
|
Loading…
Add table
Add a link
Reference in a new issue