diff --git a/src/main/java/org/toop/eventbus/Events.java b/src/main/java/org/toop/eventbus/Events.java index b624c84..6aff0e8 100644 --- a/src/main/java/org/toop/eventbus/Events.java +++ b/src/main/java/org/toop/eventbus/Events.java @@ -18,6 +18,26 @@ public class Events { */ public record OnChangingServerBackend(Server.ServerBackend backend) {} + /** + * Triggers changing the server ip. + */ + public record changeServerIp(String ip) {} + + /** + * Triggers on changing the server ip. + */ + public record OnChangingServerIp(String ip) {} + + /** + * Triggers changing the server port. + */ + public record changeServerPort(String port) {} + + /** + * Triggers on changing the server port. + */ + public record OnChangingServerPort(String port) {} + } } diff --git a/src/main/java/org/toop/server/Server.java b/src/main/java/org/toop/server/Server.java index 34e2262..850d536 100644 --- a/src/main/java/org/toop/server/Server.java +++ b/src/main/java/org/toop/server/Server.java @@ -55,7 +55,7 @@ public class Server { ip = set_ip; port = set_port; setBackend(set_backend); - + this.initEvents(); } public IBackend getBackend() { @@ -79,6 +79,7 @@ public class Server { public void setIp(String ip) { this.ip = ip; + GlobalEventBus.post(new Events.ServerEvents.OnChangingServerIp(ip)); } public String getPort() { @@ -87,6 +88,7 @@ public class Server { public void setPort(String port) { this.port = port; + GlobalEventBus.post(new Events.ServerEvents.OnChangingServerPort(port)); } private Message sendCommandString(String sentence) { @@ -152,4 +154,9 @@ public class Server { ); } + private void initEvents() { + GlobalEventBus.subscribeAndRegister(Events.ServerEvents.changeServerIp.class, e -> this.setIp(e.ip())); + GlobalEventBus.subscribeAndRegister(Events.ServerEvents.changeServerPort.class, e -> this.setPort(e.port())); + } + } \ No newline at end of file