mirror of
https://github.com/GravitLauncher/Launcher
synced 2024-11-15 03:31:15 +03:00
[FEATURE] Портирован SetProfileRequest
This commit is contained in:
parent
956cef2cd6
commit
b5d2f47cf8
4 changed files with 51 additions and 11 deletions
|
@ -16,10 +16,7 @@
|
||||||
import ru.gravit.launchserver.socket.websocket.json.EchoResponse;
|
import ru.gravit.launchserver.socket.websocket.json.EchoResponse;
|
||||||
import ru.gravit.launchserver.socket.websocket.json.JsonResponseAdapter;
|
import ru.gravit.launchserver.socket.websocket.json.JsonResponseAdapter;
|
||||||
import ru.gravit.launchserver.socket.websocket.json.JsonResponseInterface;
|
import ru.gravit.launchserver.socket.websocket.json.JsonResponseInterface;
|
||||||
import ru.gravit.launchserver.socket.websocket.json.auth.AuthResponse;
|
import ru.gravit.launchserver.socket.websocket.json.auth.*;
|
||||||
import ru.gravit.launchserver.socket.websocket.json.auth.CheckServerResponse;
|
|
||||||
import ru.gravit.launchserver.socket.websocket.json.auth.JoinServerResponse;
|
|
||||||
import ru.gravit.launchserver.socket.websocket.json.auth.ProfilesResponse;
|
|
||||||
import ru.gravit.launchserver.socket.websocket.json.update.LauncherResponse;
|
import ru.gravit.launchserver.socket.websocket.json.update.LauncherResponse;
|
||||||
import ru.gravit.launchserver.socket.websocket.json.update.UpdateListResponse;
|
import ru.gravit.launchserver.socket.websocket.json.update.UpdateListResponse;
|
||||||
import ru.gravit.utils.helper.LogHelper;
|
import ru.gravit.utils.helper.LogHelper;
|
||||||
|
@ -78,6 +75,7 @@ public void registerResponses() {
|
||||||
registerResponse("launcher", LauncherResponse.class);
|
registerResponse("launcher", LauncherResponse.class);
|
||||||
registerResponse("updateList", UpdateListResponse.class);
|
registerResponse("updateList", UpdateListResponse.class);
|
||||||
registerResponse("cmdExec", UpdateListResponse.class);
|
registerResponse("cmdExec", UpdateListResponse.class);
|
||||||
|
registerResponse("setProfile", SetProfileResponse.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendObject(ChannelHandlerContext ctx, Object obj) {
|
public void sendObject(ChannelHandlerContext ctx, Object obj) {
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
import io.netty.channel.ChannelHandlerContext;
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
import ru.gravit.launcher.events.request.ErrorRequestEvent;
|
import ru.gravit.launcher.events.request.ErrorRequestEvent;
|
||||||
|
import ru.gravit.launcher.events.request.SetProfileRequestEvent;
|
||||||
import ru.gravit.launcher.profiles.ClientProfile;
|
import ru.gravit.launcher.profiles.ClientProfile;
|
||||||
import ru.gravit.launchserver.LaunchServer;
|
import ru.gravit.launchserver.LaunchServer;
|
||||||
import ru.gravit.launchserver.socket.Client;
|
import ru.gravit.launchserver.socket.Client;
|
||||||
|
@ -32,8 +33,8 @@ public void execute(WebSocketService service, ChannelHandlerContext ctx, Client
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
client.profile = p;
|
client.profile = p;
|
||||||
service.sendObject(ctx, new WebSocketService.SuccessResult(getType()));
|
service.sendObject(ctx, new SetProfileRequestEvent(p));
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
service.sendObject(ctx, new ErrorRequestEvent("Profile not found"));
|
service.sendObject(ctx, new ErrorRequestEvent("Profile not found"));
|
||||||
|
|
|
@ -1,30 +1,45 @@
|
||||||
package ru.gravit.launcher.request.auth;
|
package ru.gravit.launcher.request.auth;
|
||||||
|
|
||||||
import ru.gravit.launcher.LauncherConfig;
|
import ru.gravit.launcher.LauncherConfig;
|
||||||
|
import ru.gravit.launcher.events.request.SetProfileRequestEvent;
|
||||||
import ru.gravit.launcher.profiles.ClientProfile;
|
import ru.gravit.launcher.profiles.ClientProfile;
|
||||||
import ru.gravit.launcher.request.Request;
|
import ru.gravit.launcher.request.Request;
|
||||||
import ru.gravit.launcher.request.RequestType;
|
import ru.gravit.launcher.request.RequestType;
|
||||||
|
import ru.gravit.launcher.request.websockets.LegacyRequestBridge;
|
||||||
|
import ru.gravit.launcher.request.websockets.RequestInterface;
|
||||||
import ru.gravit.launcher.serialize.HInput;
|
import ru.gravit.launcher.serialize.HInput;
|
||||||
import ru.gravit.launcher.serialize.HOutput;
|
import ru.gravit.launcher.serialize.HOutput;
|
||||||
import ru.gravit.launcher.serialize.SerializeLimits;
|
import ru.gravit.launcher.serialize.SerializeLimits;
|
||||||
|
|
||||||
public class SetProfileRequest extends Request<Boolean> {
|
public class SetProfileRequest extends Request<SetProfileRequestEvent> implements RequestInterface {
|
||||||
private ClientProfile profile;
|
private transient ClientProfile profile;
|
||||||
|
|
||||||
|
public String client;
|
||||||
|
|
||||||
public SetProfileRequest(LauncherConfig config, ClientProfile profile) {
|
public SetProfileRequest(LauncherConfig config, ClientProfile profile) {
|
||||||
super(config);
|
super(config);
|
||||||
this.profile = profile;
|
this.profile = profile;
|
||||||
|
this.client = profile.getTitle();
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public SetProfileRequestEvent requestWebSockets() throws Exception
|
||||||
|
{
|
||||||
|
return (SetProfileRequestEvent) LegacyRequestBridge.sendRequest(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer getLegacyType() {
|
public Integer getLegacyType() {
|
||||||
return RequestType.SETPROFILE.getNumber();
|
return RequestType.SETPROFILE.getNumber();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Boolean requestDo(HInput input, HOutput output) throws Exception {
|
protected SetProfileRequestEvent requestDo(HInput input, HOutput output) throws Exception {
|
||||||
output.writeString(profile.getTitle(), SerializeLimits.MAX_CLIENT);
|
output.writeString(profile.getTitle(), SerializeLimits.MAX_CLIENT);
|
||||||
readError(input);
|
readError(input);
|
||||||
return input.readBoolean();
|
return new SetProfileRequestEvent(profile);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getType() {
|
||||||
|
return "setProfile";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
package ru.gravit.launcher.events.request;
|
||||||
|
|
||||||
|
import ru.gravit.launcher.profiles.ClientProfile;
|
||||||
|
import ru.gravit.launcher.request.ResultInterface;
|
||||||
|
import ru.gravit.utils.event.EventInterface;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class SetProfileRequestEvent implements ResultInterface, EventInterface {
|
||||||
|
private static final UUID uuid = UUID.fromString("08c0de9e-4364-4152-9066-8354a3a48541");
|
||||||
|
public ClientProfile newProfile;
|
||||||
|
|
||||||
|
public SetProfileRequestEvent(ClientProfile newProfile) {
|
||||||
|
this.newProfile = newProfile;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getType() {
|
||||||
|
return "setProfile";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UUID getUUID() {
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue