using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IOB_UT_NEXT.Config
{
    public class EnumConf
    {

        /// <summary>
        /// Macro tipologia sistema di comunicazione (macro-adapter)
        /// </summary>
        [JsonConverter(typeof(StringEnumConverter))]
        public enum ComLayer
        {
            ND = 0,
            Db,
            Dll,
            File,
            ModBus,
            Network,
            Serial
        }

#if false
        /// <summary>
        /// Tipologia di adapters ammessi
        /// </summary>
        [JsonConverter(typeof(StringEnumConverter))]
        public enum AdapterType
        {
            /// <summary>
            /// Adapter SIMULAZIONE
            /// </summary>
            SIMULA,

            /// <summary>
            /// Adapter Beckhoff
            /// </summary>
            BECKHOFF,

            /// <summary>
            /// Adapter Beckhoff x CPA (selezionatrici ex Jetco)
            /// </summary>
            BECKHOFF_CPA,

            /// <summary>
            /// adapter FANUC
            /// </summary>
            FANUC,

            /// <summary>
            /// File Based exchange generic adapter
            /// </summary>
            FILE_GEN,

            /// <summary>
            /// File Based exchange Euromap63
            /// </summary>
            FILE_EUROM63,

            ///// <summary>
            ///// File Based exchange SCM Xylog
            ///// </summary>
            //FILE_XYLOG,

            /// <summary>
            /// File Based Log file analisys per Soitaab
            /// </summary>
            FILE_SOITAAB,

            /// <summary>
            /// Gestione sync FTP
            /// </summary>
            FTP,

            /// <summary>
            /// Adapter KAWASAKI e-controller
            /// </summary>
            KAWASAKI,

            /// <summary>
            /// Adapter Icoel per DB (barcode, tracciatura, produzione,...)
            /// </summary>
            IcoelDb,

            /// <summary>
            /// Adapter Icoel per WS SOAP (sizer)
            /// </summary>
            IcoelSoap,

            /// <summary>
            /// Adapter non specificato
            /// </summary>
            ND,

            /// <summary>
            /// Adapter MITSUBISHI con EZCnc lib
            /// </summary>
            MITSUBISHI,

            /// <summary>
            /// Adapter ModBus TCP generico
            /// </summary>
            MODBUS_TCP,

            /// <summary>
            /// Adapter ModBus TCP versione Cedax (Giacovelli)
            /// </summary>
            MODBUS_TCP_CEDAX,

            /// <summary>
            /// Adapter ModBus TCP versione Centerfrigo (Giacovelli)
            /// </summary>
            MODBUS_TCP_CENTERFRIGO,

            /// <summary>
            /// Adapter modbus (+ file) x FIMAT (Tenditalia)
            /// </summary>
            MODBUS_TCP_FIMAT,

            /// <summary>
            /// Adapter ModBus TCP versione HAM (Pizzaferri)
            /// </summary>
            MODBUS_TCP_HAM,

            /// <summary>
            /// Adapter ModBus TCP versione HELPI (Cererie Finassi)
            /// </summary>
            MODBUS_TCP_HELPI,

            /// <summary>
            /// Adapter Modubus TCP versione IMAX Aeromacchine (Jetco)
            /// </summary>
            MODBUS_TCP_IMAS_AEROMEC,

            /// <summary>
            /// Adapter Modubus TCP versione Rimor (IMI Remosa)
            /// </summary>
            MODBUS_TCP_RIMOR,

            /// <summary>
            /// Adapter Modubus TCP versione Saim (Giacovelli)
            /// </summary>
            MODBUS_TCP_SAIM,

            /// <summary>
            /// Adapter Modubus TCP versione Zetapack (Giacovelli)
            /// </summary>
            MODBUS_TCP_ZETAPACK,

            /// <summary>
            /// Adapter MTConnect
            /// </summary>
            MTConnect,

            /// <summary>
            /// Adapter OMRON
            /// </summary>
            OMRON,

            /// <summary>
            /// Adapter OPC-UA
            /// </summary>
            OpcUa,

            /// <summary>
            /// Adapter OPC-UA CMS
            /// </summary>
            OpcUaCMS,

            /// <summary>
            /// Adapter OPC-UA per Ewon
            /// </summary>
            OpcUaEwon,

            /// <summary>
            /// Adapter OPC-UA per Ewon x Adige (BLM) / STIL
            /// </summary>
            OpcUaEwonAdige,

            /// <summary>
            /// Adapter OPC-UA per Ewon x BLM / Mecart
            /// </summary>
            OpcUaEwonBLM,

            /// <summary>
            /// Adapter OPC-UA per Ewon x Monti / Tenditalia
            /// </summary>
            OpcUaEwonMonti,

            /// <summary>
            /// Adapter OPC-UA per Ewon x Mecolpress (BLM) / STIL
            /// </summary>
            OpcUaEwonMecolpress,

            /// <summary>
            /// Adapter OPC-UA per KeepWare
            /// </summary>
            OpcUaKwp,

            /// <summary>
            /// Adapter OPC-UA per KeepWare, UnitechRama
            /// </summary>
            OpcUaKwpRama,

            /// <summary>
            /// Adapter OPC-UA per IMAS Aeromec / Jetco
            /// </summary>
            OpcUaImasAeromec,

            /// <summary>
            /// Adapter MBH (es Cimolai)
            /// </summary>
            OpcUaMBH,

            /// <summary>
            /// Adapter MBH implementazione Cimolai x travel lift
            /// </summary>
            OpcUaMBHCimolai,

            /// <summary>
            /// Adapter OMRON (es ICOEL)
            /// </summary>
            OpcUaOmron,

            /// <summary>
            /// Implementaizone OMRON specifica x ICOEL
            /// </summary>
            OpcUaOmronIcoel,

            /// <summary>
            /// Adapter OPC-UA SCM
            /// </summary>
            OpcUaSCM,

            /// <summary>
            /// Adapter OPC-UA Siemens generico
            /// </summary>
            OpcUaSiemens,

            /// <summary>
            /// Adapter OPC-UA Siemens OMP
            /// </summary>
            OpcUaSiemensOMP,

            /// <summary>
            /// Adapter OPC-UA Siemens Rama
            /// </summary>
            OpcUaSiemensRama,

            /// <summary>
            /// Adapter OPC-UA Ulma (packaging, Giacovelli)
            /// </summary>
            OpcUaUlma,

            /// <summary>
            /// Adapter OSAI CNDEX (Cndex)
            /// </summary>
            OSAI_CNDEX,

            /// <summary>
            /// Adapter OSAI OPEN (ws)
            /// </summary>
            OSAI_OPEN,

            /// <summary>
            /// Adapter OSAI VB6
            /// </summary>
            OSAI_VB6,

            /// <summary>
            /// Adapter tipo watchdog via ping (per impianti spenti e non rilevati)
            /// </summary>
            PingWatchdog,

            /// <summary>
            /// Adapter REST (base)
            /// </summary>
            REST,

            /// <summary>
            /// Adapter REST Citizen
            /// </summary>
            REST_CITIZEN,

            /// <summary>
            /// Shelly's Device (tipicamente PM series)
            /// </summary>
            Shelly,

            /// <summary>
            /// Adapter SIEMENS
            /// </summary>
            SIEMENS,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione APROCHIM (filtro liquidi rettifiche)
            /// </summary>
            SIEMENS_APROCHIM,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione VIPA @2001
            /// </summary>
            SIEMENS_AT2001,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione FAPE (punzonatrici) vers 2018
            /// </summary>
            SIEMENS_FAPE,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione FAPE (punzonatrici) vers 2024
            /// </summary>
            SIEMENS_FAPE_2,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione COMECA (impianti gestione GNL)
            /// </summary>
            SIEMENS_COMECA,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione COMUR (dentatrice)
            /// </summary>
            SIEMENS_COMUR,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione COSMAP (transfer smerigliatrice donati)
            /// </summary>
            SIEMENS_COSMAP,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione INGENIA (Valvital, Automazione)
            /// </summary>
            SIEMENS_INGENIA,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione LASCO (Valvital, Pressa Bilancere)
            /// </summary>
            SIEMENS_LASCO,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione NWSE (Giacovelli, impianto filtrazione NWS)
            /// </summary>
            SIEMENS_NWSE,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione PRESSOIL + CEI (Valvital, Pressa Idraulica)
            /// </summary>
            SIEMENS_PRESSOIL_CEI,

            /// <summary>
            /// Adapter SIEMENS, interfaccia verisone RobotService (Donati, smerigliatrici)
            /// </summary>
            SIEMENS_ROBOTSERVICE,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione SAET (Valvital, forni / tempra)
            /// </summary>
            SIEMENS_SAET,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione SIMEC (Valvital, taglio)
            /// </summary>
            SIEMENS_SIMEC,

            /// <summary>
            /// Adapter SIEMENS, interfaccia versione Torri
            /// </summary>
            SIEMENS_TORRI,

            /// <summary>
            /// Adapter SOAP x bilance Gomba
            /// </summary>
            SOAP_GOMBA,

            /// <summary>
            /// Adapter basato su DB scambio Microsoft SqlServer, macchine LANTEK
            /// </summary>
            SQLSERVER_LANTEK,

            /// <summary>
            /// Adapter basato su DB scambio Microsoft SqlServer, macchine PAMA
            /// </summary>
            SQLSERVER_PAMA,

            /// <summary>
            /// Metodi di WPS WebPageScraping (es x compressori Atlas Copco)
            /// </summary>
            WPS
        } 
#endif
    }
}
