Skip to content

Commit 6b65c74

Browse files
committed
Refactor some old UI-related code. Rewrite LogPrinter to handle commandline. Add RCM-payload module into CLI interface: now it could be executed on system without graphical environment (x86/amd64 only).
E.g.: java -jar app.jar --rcm payload.bin
1 parent 255c926 commit 6b65c74

23 files changed

+328
-154
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<name>NS-USBloader</name>
99

1010
<artifactId>ns-usbloader</artifactId>
11-
<version>3.0-SNAPSHOT</version>
11+
<version>4.0-SNAPSHOT</version>
1212

1313
<url>https://github.com/developersu/ns-usbloader/</url>
1414
<description>

src/main/java/nsusbloader/COM/NET/NETCommunications.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
package nsusbloader.COM.NET;
2020

2121
import javafx.concurrent.Task;
22+
import nsusbloader.ModelControllers.ILogPrinter;
2223
import nsusbloader.NSLDataTypes.EFileStatus;
23-
import nsusbloader.ModelControllers.LogPrinter;
24+
import nsusbloader.ModelControllers.Log;
2425
import nsusbloader.NSLDataTypes.EModule;
2526
import nsusbloader.NSLDataTypes.EMsgType;
2627
import nsusbloader.COM.Helpers.NSSplitReader;
@@ -33,7 +34,7 @@
3334

3435
public class NETCommunications extends Task<Void> { // todo: thows IOException?
3536

36-
private LogPrinter logPrinter;
37+
private ILogPrinter logPrinter;
3738

3839
private String hostIP;
3940
private int hostPort;
@@ -61,7 +62,7 @@ public NETCommunications(List<File> filesList, String switchIP, boolean doNotSer
6162
else
6263
this.extras = "";
6364
this.switchIP = switchIP;
64-
this.logPrinter = new LogPrinter(EModule.USB_NET_TRANSFERS);
65+
this.logPrinter = Log.getPrinter(EModule.USB_NET_TRANSFERS);
6566
this.nspMap = new HashMap<>();
6667
this.nspFileSizes = new HashMap<>();
6768
// Filter and remove empty/incorrect split-files

src/main/java/nsusbloader/COM/USB/GoldLeaf.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import javafx.concurrent.Task;
2323
import javafx.stage.FileChooser;
2424
import nsusbloader.MediatorControl;
25-
import nsusbloader.ModelControllers.LogPrinter;
25+
import nsusbloader.ModelControllers.ILogPrinter;
2626
import nsusbloader.NSLDataTypes.EMsgType;
2727
import nsusbloader.COM.Helpers.NSSplitReader;
2828
import org.usb4java.DeviceHandle;
@@ -69,7 +69,7 @@ class GoldLeaf extends TransferModule {
6969
// For using in CMD_SelectFile with SPEC:/ prefix
7070
private File selectedFile;
7171

72-
GoldLeaf(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, LogPrinter logPrinter, boolean nspFilter){
72+
GoldLeaf(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, ILogPrinter logPrinter, boolean nspFilter){
7373
super(handler, nspMap, task, logPrinter);
7474

7575
final byte CMD_GetDriveCount = 1;

src/main/java/nsusbloader/COM/USB/GoldLeaf_05.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
package nsusbloader.COM.USB;
2020

2121
import javafx.concurrent.Task;
22-
import nsusbloader.ModelControllers.LogPrinter;
22+
import nsusbloader.ModelControllers.ILogPrinter;
2323
import nsusbloader.NSLDataTypes.EFileStatus;
2424
import nsusbloader.NSLDataTypes.EMsgType;
2525
import nsusbloader.COM.Helpers.NSSplitReader;
@@ -53,7 +53,7 @@ public class GoldLeaf_05 extends TransferModule {
5353
private RandomAccessFile raf; // NSP File
5454
private NSSplitReader nsr; // It'a also NSP File
5555

56-
GoldLeaf_05(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, LogPrinter logPrinter){
56+
GoldLeaf_05(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, ILogPrinter logPrinter){
5757
super(handler, nspMap, task, logPrinter);
5858
status = EFileStatus.FAILED;
5959

src/main/java/nsusbloader/COM/USB/GoldLeaf_07.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import javafx.stage.FileChooser;
2424
import nsusbloader.COM.Helpers.NSSplitReader;
2525
import nsusbloader.MediatorControl;
26-
import nsusbloader.ModelControllers.LogPrinter;
26+
import nsusbloader.ModelControllers.ILogPrinter;
2727
import nsusbloader.NSLDataTypes.EMsgType;
2828
import org.usb4java.DeviceHandle;
2929
import org.usb4java.LibUsb;
@@ -69,7 +69,7 @@ class GoldLeaf_07 extends TransferModule {
6969
// For using in CMD_SelectFile with SPEC:/ prefix
7070
private File selectedFile;
7171

72-
GoldLeaf_07(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, LogPrinter logPrinter, boolean nspFilter){
72+
GoldLeaf_07(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, ILogPrinter logPrinter, boolean nspFilter){
7373
super(handler, nspMap, task, logPrinter);
7474

7575
final byte CMD_GetDriveCount = 0x00;

src/main/java/nsusbloader/COM/USB/PFS/PFSProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
package nsusbloader.COM.USB.PFS;
2020

21-
import nsusbloader.ModelControllers.LogPrinter;
21+
import nsusbloader.ModelControllers.ILogPrinter;
2222
import nsusbloader.NSLDataTypes.EMsgType;
2323

2424
import java.io.*;
@@ -38,7 +38,7 @@ public class PFSProvider {
3838
private long bodySize;
3939
private int ticketID = -1;
4040

41-
public PFSProvider(File nspFile, LogPrinter logPrinter) throws Exception{
41+
public PFSProvider(File nspFile, ILogPrinter logPrinter) throws Exception{
4242
if (nspFile.isDirectory()) {
4343
nspFileName = nspFile.getName();
4444
nspFile = new File(nspFile.getAbsolutePath() + File.separator + "00");

src/main/java/nsusbloader/COM/USB/TinFoil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
package nsusbloader.COM.USB;
2020

2121
import javafx.concurrent.Task;
22-
import nsusbloader.ModelControllers.LogPrinter;
22+
import nsusbloader.ModelControllers.ILogPrinter;
2323
import nsusbloader.NSLDataTypes.EFileStatus;
2424
import nsusbloader.NSLDataTypes.EMsgType;
2525
import nsusbloader.COM.Helpers.NSSplitReader;
@@ -48,7 +48,7 @@ class TinFoil extends TransferModule {
4848
/* byte[] magic = new byte[4];
4949
ByteBuffer bb = StandardCharsets.UTF_8.encode("TUC0").rewind().get(magic); // Let's rephrase this 'string' */
5050

51-
TinFoil(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, LogPrinter logPrinter){
51+
TinFoil(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, ILogPrinter logPrinter){
5252
super(handler, nspMap, task, logPrinter);
5353
logPrinter.print("============= Tinfoil =============", EMsgType.INFO);
5454

src/main/java/nsusbloader/COM/USB/TransferModule.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
package nsusbloader.COM.USB;
2020

2121
import javafx.concurrent.Task;
22-
import nsusbloader.ModelControllers.LogPrinter;
22+
import nsusbloader.ModelControllers.ILogPrinter;
2323
import nsusbloader.NSLDataTypes.EFileStatus;
2424
import nsusbloader.NSLDataTypes.EMsgType;
2525
import org.usb4java.DeviceHandle;
@@ -31,11 +31,11 @@ public abstract class TransferModule {
3131
EFileStatus status = EFileStatus.UNKNOWN;
3232

3333
LinkedHashMap<String, File> nspMap;
34-
LogPrinter logPrinter;
34+
ILogPrinter logPrinter;
3535
DeviceHandle handlerNS;
3636
Task<Void> task;
3737

38-
TransferModule(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, LogPrinter printer){
38+
TransferModule(DeviceHandle handler, LinkedHashMap<String, File> nspMap, Task<Void> task, ILogPrinter printer){
3939
this.handlerNS = handler;
4040
this.nspMap = nspMap;
4141
this.task = task;

src/main/java/nsusbloader/COM/USB/UsbCommunications.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
package nsusbloader.COM.USB;
2020

2121
import javafx.concurrent.Task;
22-
import nsusbloader.ModelControllers.LogPrinter;
22+
import nsusbloader.ModelControllers.ILogPrinter;
23+
import nsusbloader.ModelControllers.Log;
2324
import nsusbloader.NSLDataTypes.EFileStatus;
2425
import nsusbloader.NSLDataTypes.EModule;
2526
import nsusbloader.NSLDataTypes.EMsgType;
@@ -32,7 +33,7 @@
3233
// TODO: add filter option to show only NSP files
3334
public class UsbCommunications extends Task<Void> {
3435

35-
private LogPrinter logPrinter;
36+
private ILogPrinter logPrinter;
3637
private LinkedHashMap<String, File> nspMap;
3738
private String protocol;
3839
private boolean nspFilterForGl;
@@ -43,7 +44,7 @@ public UsbCommunications(List<File> nspList, String protocol, boolean filterNspF
4344
this.nspMap = new LinkedHashMap<>();
4445
for (File f: nspList)
4546
nspMap.put(f.getName(), f);
46-
this.logPrinter = new LogPrinter(EModule.USB_NET_TRANSFERS);
47+
this.logPrinter = Log.getPrinter(EModule.USB_NET_TRANSFERS);
4748
}
4849

4950
@Override

src/main/java/nsusbloader/COM/USB/UsbConnect.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
package nsusbloader.COM.USB;
2020

21-
import nsusbloader.ModelControllers.LogPrinter;
21+
import nsusbloader.ModelControllers.ILogPrinter;
2222
import nsusbloader.NSLDataTypes.EMsgType;
2323
import org.usb4java.*;
2424

@@ -39,7 +39,7 @@ public class UsbConnect {
3939
private DeviceHandle handlerNS;
4040
private Device deviceNS;
4141

42-
private LogPrinter logPrinter;
42+
private ILogPrinter logPrinter;
4343

4444
private boolean connected; // TODO: replace to 'connectionFailure' and invert requests everywhere
4545

@@ -49,7 +49,7 @@ public class UsbConnect {
4949
private int returningValue;
5050
private DeviceList deviceList;
5151

52-
public static UsbConnect connectRcmMode(LogPrinter logPrinter){
52+
public static UsbConnect connectRcmMode(ILogPrinter logPrinter){
5353
UsbConnect usbConnect = new UsbConnect(logPrinter);
5454
usbConnect.VENDOR_ID = RCM_VID;
5555
usbConnect.PRODUCT_ID = RCM_PID;
@@ -71,7 +71,7 @@ public static UsbConnect connectRcmMode(LogPrinter logPrinter){
7171

7272
return usbConnect;
7373
}
74-
public static UsbConnect connectHomebrewMode(LogPrinter logPrinter){
74+
public static UsbConnect connectHomebrewMode(ILogPrinter logPrinter){
7575
UsbConnect usbConnect = new UsbConnect(logPrinter);
7676
usbConnect.VENDOR_ID = HOMEBREW_VID;
7777
usbConnect.PRODUCT_ID = HOMEBREW_PID;
@@ -96,7 +96,7 @@ public static UsbConnect connectHomebrewMode(LogPrinter logPrinter){
9696

9797
private UsbConnect(){}
9898

99-
private UsbConnect(LogPrinter logPrinter){
99+
private UsbConnect(ILogPrinter logPrinter){
100100
this.logPrinter = logPrinter;
101101
this.connected = false;
102102
};

0 commit comments

Comments
 (0)