mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-20 00:51:41 +00:00
removed singleton inheritance and re implemented with thread safe
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
package Classes.MetaClass;
|
||||
|
||||
public class Singleton {
|
||||
private static Singleton single_instance = new Singleton();
|
||||
|
||||
public static Singleton getInstance(){
|
||||
return single_instance;
|
||||
}
|
||||
}
|
||||
@@ -1,29 +1,38 @@
|
||||
package Classes;
|
||||
|
||||
import Classes.MetaClass.Singleton;
|
||||
import Objects.*;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
public class SettingsManager extends Singleton {
|
||||
public static int x = 5; // example of how to setup variable in singleton
|
||||
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;
|
||||
}
|
||||
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();
|
||||
public SettingsManager(){
|
||||
InitiateGeneralSettings();
|
||||
InitiateCamerasInfo();
|
||||
InitiateUsbCameras();
|
||||
InitiateUsbCamerasSettings();
|
||||
}
|
||||
|
||||
private void InitiateGeneralSettings(){
|
||||
|
||||
System.out.println("run");
|
||||
}
|
||||
|
||||
private void InitiateCamerasInfo(){
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import Classes.SettingsManager;
|
||||
import Handlers.Web.Server;
|
||||
public class Main {
|
||||
public static void main(String [] args) {
|
||||
SettingsManager Manager = new SettingsManager();
|
||||
SettingsManager manager = SettingsManager.getInstance();
|
||||
Server.main(8888);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user