public bool Handle(IPacket header, IIBLVMSocket socket) { if (header.Type == PacketType.ManagerBitLockerLock) { Utils.PacketValidation(socket.Status, (int)ClientSocketStatus.LoggedIn, header.GetPayloadSize(), false); IPayload <ClientDrive> packet = socket.PacketFactory.CreateManagerBitLockerLockRequest(null); packet.ParsePayload(header.GetPayloadSize(), socket.SocketStream); IDevice receiver = (from device in deviceController.GetUserDevices(session.Account.Id) where device.DeviceIP.Equals(packet.Payload.IP) select device).FirstOrDefault(); if (receiver != null) { Utils.SendPacket(socket.SocketStream, socket.PacketFactory.CreateServerBitLockerCommandResponse(broadcaster.RequestBitLockerLock(receiver, packet.Payload.Drive))); } else { Utils.SendPacket(socket.SocketStream, socket.PacketFactory.CreateServerBitLockerCommandResponse(false)); } return(true); } return(false); }
public bool Handle(IPacket header, IIBLVMSocket socket) { if (header.Type == PacketType.ManagerDevicesRequest) { Utils.PacketValidation(socket.Status, (int)SocketStatus.LoggedIn, header.GetPayloadSize(), true); IPayload <IDevice[]> packet = socket.PacketFactory.CreateServerDevicesResponse(deviceController.GetUserDevices(session.Account.Id)); Utils.SendPacket(socket.SocketStream, packet); return(true); } return(false); }