2019-09-10 23:47:06 +03:00
|
|
|
package Classes;
|
2019-09-11 22:07:24 +03:00
|
|
|
import Objects.*;
|
2019-09-12 23:23:36 +03:00
|
|
|
import java.io.*;
|
|
|
|
|
import java.nio.file.*;
|
|
|
|
|
import com.google.gson.Gson;
|
2019-09-11 22:07:24 +03:00
|
|
|
import java.util.HashMap;
|
2019-09-12 23:23:36 +03:00
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
import edu.wpi.cscore.*;
|
2019-09-11 22:07:24 +03:00
|
|
|
|
2019-09-12 01:05:27 +03:00
|
|
|
public class SettingsManager {
|
|
|
|
|
private static SettingsManager instance;
|
|
|
|
|
private SettingsManager() {
|
|
|
|
|
InitiateGeneralSettings();
|
|
|
|
|
InitiateCamerasInfo();
|
|
|
|
|
InitiateUsbCameras();
|
|
|
|
|
InitiateUsbCamerasSettings();
|
|
|
|
|
}
|
|
|
|
|
public static synchronized SettingsManager getInstance(){
|
|
|
|
|
if(instance == null){
|
|
|
|
|
synchronized (SettingsManager.class) {
|
|
|
|
|
if(instance == null){
|
|
|
|
|
instance = new SettingsManager();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return instance;
|
|
|
|
|
}
|
2019-09-11 22:07:24 +03:00
|
|
|
public static HashMap cams = new HashMap();
|
|
|
|
|
public static HashMap UsbCameras = new HashMap();
|
|
|
|
|
public static HashMap USBCamerasInfo = new HashMap();
|
|
|
|
|
public static DefaultGeneralSettings GeneralSettings;
|
|
|
|
|
public static HashMap CameraPort = new HashMap();
|
|
|
|
|
public static HashMap CamerasCurrentPipeline = new HashMap();
|
2019-09-12 23:23:36 +03:00
|
|
|
private Path SettingsPath = Paths.get(System.getProperty("user.dir"),"Settings");
|
|
|
|
|
private Path CamsPath = Paths.get(SettingsPath.toString(),"Cams");
|
|
|
|
|
|
2019-09-11 22:07:24 +03:00
|
|
|
|
|
|
|
|
private void InitiateGeneralSettings(){
|
2019-09-12 23:23:36 +03:00
|
|
|
if (!Files.exists(SettingsPath)){
|
|
|
|
|
try {
|
|
|
|
|
Files.createDirectories(SettingsPath);
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
GeneralSettings = new Gson().fromJson(new FileReader(Paths.get(SettingsPath.toString(),"Settings.json").toString()),DefaultGeneralSettings.class);
|
|
|
|
|
} catch (FileNotFoundException e) {
|
|
|
|
|
GeneralSettings = new DefaultGeneralSettings();
|
|
|
|
|
}
|
2019-09-11 22:07:24 +03:00
|
|
|
}
|
2019-09-12 01:05:27 +03:00
|
|
|
|
2019-09-11 22:07:24 +03:00
|
|
|
private void InitiateCamerasInfo(){
|
2019-09-12 23:23:36 +03:00
|
|
|
UsbCameraInfo[] TrueCameras = new UsbCameraInfo[];
|
|
|
|
|
UsbCameraInfo[] UsbDevices = UsbCamera.enumerateUsbCameras();
|
|
|
|
|
|
|
|
|
|
System.out.println("");
|
2019-09-11 22:07:24 +03:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
private void InitiateUsbCameras(){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
private void InitiateUsbCamerasSettings(){
|
2019-09-10 23:47:06 +03:00
|
|
|
|
2019-09-11 22:07:24 +03:00
|
|
|
}
|
2019-09-10 23:47:06 +03:00
|
|
|
}
|