Merge pull request #52226 from Faless/debugger/4.x_start_options
This commit is contained in:
commit
3cc01b2824
7 changed files with 47 additions and 15 deletions
|
|
@ -183,16 +183,16 @@ ScriptEditorDebugger *EditorDebuggerNode::get_default_debugger() const {
|
|||
return Object::cast_to<ScriptEditorDebugger>(tabs->get_tab_control(0));
|
||||
}
|
||||
|
||||
Error EditorDebuggerNode::start(const String &p_protocol) {
|
||||
Error EditorDebuggerNode::start(const String &p_uri) {
|
||||
stop();
|
||||
ERR_FAIL_COND_V(p_uri.find("://") < 0, ERR_INVALID_PARAMETER);
|
||||
if (EDITOR_GET("run/output/always_open_output_on_play")) {
|
||||
EditorNode::get_singleton()->make_bottom_panel_item_visible(EditorNode::get_log());
|
||||
} else {
|
||||
EditorNode::get_singleton()->make_bottom_panel_item_visible(this);
|
||||
}
|
||||
|
||||
server = Ref<EditorDebuggerServer>(EditorDebuggerServer::create(p_protocol));
|
||||
const Error err = server->start();
|
||||
server = Ref<EditorDebuggerServer>(EditorDebuggerServer::create(p_uri.substr(0, p_uri.find("://") + 3)));
|
||||
const Error err = server->start(p_uri);
|
||||
if (err != OK) {
|
||||
return err;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ public:
|
|||
void set_camera_override(CameraOverride p_override);
|
||||
CameraOverride get_camera_override();
|
||||
|
||||
Error start(const String &p_protocol = "tcp://");
|
||||
Error start(const String &p_uri = "tcp://");
|
||||
|
||||
void stop();
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ private:
|
|||
public:
|
||||
static EditorDebuggerServer *create(const String &p_protocol);
|
||||
virtual void poll() {}
|
||||
virtual Error start();
|
||||
virtual Error start(const String &p_uri);
|
||||
virtual void stop();
|
||||
virtual bool is_active() const;
|
||||
virtual bool is_connection_available() const;
|
||||
|
|
@ -63,11 +63,18 @@ EditorDebuggerServerTCP::EditorDebuggerServerTCP() {
|
|||
server.instantiate();
|
||||
}
|
||||
|
||||
Error EditorDebuggerServerTCP::start() {
|
||||
int remote_port = (int)EditorSettings::get_singleton()->get("network/debug/remote_port");
|
||||
const Error err = server->listen(remote_port);
|
||||
Error EditorDebuggerServerTCP::start(const String &p_uri) {
|
||||
int bind_port = (int)EditorSettings::get_singleton()->get("network/debug/remote_port");
|
||||
String bind_host = (String)EditorSettings::get_singleton()->get("network/debug/remote_host");
|
||||
if (!p_uri.is_empty() && p_uri != "tcp://") {
|
||||
String scheme, path;
|
||||
Error err = p_uri.parse_url(scheme, bind_host, bind_port, path);
|
||||
ERR_FAIL_COND_V(err != OK, ERR_INVALID_PARAMETER);
|
||||
ERR_FAIL_COND_V(!bind_host.is_valid_ip_address() && bind_host != "*", ERR_INVALID_PARAMETER);
|
||||
}
|
||||
const Error err = server->listen(bind_port, bind_host);
|
||||
if (err != OK) {
|
||||
EditorNode::get_log()->add_message(String("Error listening on port ") + itos(remote_port), EditorLog::MSG_TYPE_ERROR);
|
||||
EditorNode::get_log()->add_message(String("Error listening on port ") + itos(bind_port), EditorLog::MSG_TYPE_ERROR);
|
||||
return err;
|
||||
}
|
||||
return err;
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public:
|
|||
static void register_protocol_handler(const String &p_protocol, CreateServerFunc p_func);
|
||||
static EditorDebuggerServer *create(const String &p_protocol);
|
||||
virtual void poll() = 0;
|
||||
virtual Error start() = 0;
|
||||
virtual Error start(const String &p_uri = "") = 0;
|
||||
virtual void stop() = 0;
|
||||
virtual bool is_active() const = 0;
|
||||
virtual bool is_connection_available() const = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue