using Adaptation.Eaf.Management.ConfigurationData.CellAutomation; using Adaptation.Ifx.Eaf.EquipmentConnector.File.Configuration; using System; using System.Collections.Generic; using System.IO; using System.Reflection; using System.Text.Json; namespace Adaptation.Shared.Metrology { public interface ILogic { ILogic ShallowCopy(); Logistics Logistics { get; } void ConfigurationRestore(); string GetConfigurationErrorTargetFileLocation(); string GetConfigurationSourceFileLocation(); string GetConfigurationTarget2FileLocation(); string GetConfigurationTargetFileLocation(); string GetConfigurationTargetFileName(); Tuple> GetExtractResult(string reportFullPath, string eventName); object GetFilePathGeneratorInfo(string reportFullPath, bool isErrorFile); string GetReportFullPath(Dictionary keyValuePairs); string GetTarget2FileLocation(); void Move(string reportFullPath, Tuple> extractResults, Exception exception = null); Tuple> ReExtract(string searchDirectory, string sourceFileFilter); void ReflectionCreateSelfDescription(string equipmentElementName, int? input, string cellName, string debugConfig, string[] strings, bool[] booleans, long[] numbers, string[] enums); ConfigDataBase ReflectionCreateSelfDescriptionV2(string json); string ResolveErrorTargetPlaceHolders(string reportFullPath, bool createDirectory = true, string fileFoundPath = ""); string ResolveSourcePlaceHolders(string reportFullPath, bool createDirectory = true); string ResolveTarget2PlaceHolders(string reportFullPath, bool createDirectory = true, string fileFoundPath = ""); string ResolveTargetPlaceHolders(string reportFullPath, bool createDirectory = true, string fileFoundPath = ""); void SetFileParameter(string key, string value); void SetFileParameterLotID(string value, bool includeLogisticsSequence = false); void SetFileParameterLotIDToLogisticsMID(bool includeLogisticsSequence = true); void SetFileParameterSystemDateTimeToLogisticsSequence(); void SetPlaceHolder(string reportFullPath, string key, string value); void SetTarget2FileLocation(string value); } }