using GenesisCordonelInterface.API; using GenesisCordonelInterface.Core.Config; using GenesisCordonelInterface.Core.DataStorage.Reading.Common.Models; using System; using System.Collections.Generic; using System.Linq; using System.Security.AccessControl; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using UdsReaderType_CalibrationParams = GenesisCordonelInterface.Core.DataStorage.Reading.Implementation.PreAdjustmentCalibrationParams.PreAdjustmentCalibrationParamsReader; using UdsReaderType_LoginPasswords = GenesisCordonelInterface.Core.DataStorage.Reading.Implementation.MeterLoginPasswords.MeterLoginPasswordReader; using GciPublicModels = GenesisCordonelInterface.API.PublicModels; using GciEnums = GenesisCordonelInterface.API.Enums; using GciType = GenesisCordonelInterface.API.InterfaceOutsideToGCI; using GciDataStorageReadingModels = GenesisCordonelInterface.Core.DataStorage.Reading.Common.Models; using GciGUIType = GenesisCordonelInterface.UI.MainView; namespace GenesisCordonelInterface.Core { public class Engine { GciConfig gciConfig; public UdsReaderType_LoginPasswords loginPasswordsDataStorageReader; public UdsReaderType_CalibrationParams calibrationParamsStorageReader; //readonly UdsWriterType writer; //diag GUI for GCI GciGUIType gciGUI; Form gciGuiHostForm; //diag GUI for GciBridge public UserControl gciBridgeGUIUserControl; public UI.MainForm gciBridgeGuiForm; public InterfaceOutsideToGCI gciExternalInterface; /// /// Initializes a new instance of the public GCI facade. /// public Engine() { gciConfig = GciConfigLoader.LoadDefault(); loginPasswordsDataStorageReader = new UdsReaderType_LoginPasswords ( new GciDataStorageReadingModels.DataStorageConfig ( nameof(GciEnums.DataStorageReaderTypes.LoginPasswordsReader), GciDataStorageReadingModels.DataStorageType.LocalDatabase, gciConfig.DataStorageSection.MeterLoginPasswords.DataSource, gciConfig.DataStorageSection.MeterLoginPasswords.QueryTemplate ) ); calibrationParamsStorageReader = new UdsReaderType_CalibrationParams ( new GciDataStorageReadingModels.DataStorageConfig ( nameof(GciEnums.DataStorageReaderTypes.CalibrationParamsReader), GciDataStorageReadingModels.DataStorageType.LocalDatabase, gciConfig.DataStorageSection.PreAdjustmentCalibrationParams.DataSource, gciConfig.DataStorageSection.PreAdjustmentCalibrationParams.QueryTemplate ) ); gciExternalInterface = new InterfaceOutsideToGCI( new InterfaceGCIToLaatzen(), loginPasswordsDataStorageReader, calibrationParamsStorageReader); } } }