Aggiunta iniziale progetti IOB-MAN e Commm/SDK

This commit is contained in:
Samuele Locatelli
2024-12-23 15:16:48 +01:00
parent 718843c1ff
commit 88d4fb288d
89 changed files with 10795 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32901.82
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestClientMan", "TestClientMan\TestClientMan.csproj", "{533B1F01-3061-4105-BA7F-ADAA72A74C2C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IobManComm", "IobManComm\IobManComm.csproj", "{FEC10BD2-65A7-4FD3-B59C-8200BF80AB51}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "TestClientVB", "TestClientVB\TestClientVB.vbproj", "{F8C3D948-DADA-49EE-9697-54A4B63FD5DE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{533B1F01-3061-4105-BA7F-ADAA72A74C2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{533B1F01-3061-4105-BA7F-ADAA72A74C2C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{533B1F01-3061-4105-BA7F-ADAA72A74C2C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{533B1F01-3061-4105-BA7F-ADAA72A74C2C}.Release|Any CPU.Build.0 = Release|Any CPU
{FEC10BD2-65A7-4FD3-B59C-8200BF80AB51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FEC10BD2-65A7-4FD3-B59C-8200BF80AB51}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FEC10BD2-65A7-4FD3-B59C-8200BF80AB51}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FEC10BD2-65A7-4FD3-B59C-8200BF80AB51}.Release|Any CPU.Build.0 = Release|Any CPU
{F8C3D948-DADA-49EE-9697-54A4B63FD5DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F8C3D948-DADA-49EE-9697-54A4B63FD5DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F8C3D948-DADA-49EE-9697-54A4B63FD5DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F8C3D948-DADA-49EE-9697-54A4B63FD5DE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B6CA4DC6-9750-47A3-B8DF-11AA16BFEC82}
EndGlobalSection
EndGlobal
+56
View File
@@ -0,0 +1,56 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.12.35527.113
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersGen", "VersGen\VersGen.csproj", "{58E399F3-9D4E-49D3-AB35-9ED536543D50}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IOB-MAN", "IOB-MAN\IOB-MAN.csproj", "{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B52E3E86-1B82-4F4D-982C-0C8909CD2A28}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
Remote_DEBUG|Any CPU = Remote_DEBUG|Any CPU
Remote_DEBUG|x86 = Remote_DEBUG|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|Any CPU.Build.0 = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.ActiveCfg = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Debug|x86.Build.0 = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.ActiveCfg = Release|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|Any CPU.Build.0 = Release|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.ActiveCfg = Release|x86
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Release|x86.Build.0 = Release|x86
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|Any CPU.ActiveCfg = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|Any CPU.Build.0 = Debug|Any CPU
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|x86.ActiveCfg = Release|x86
{58E399F3-9D4E-49D3-AB35-9ED536543D50}.Remote_DEBUG|x86.Build.0 = Release|x86
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Debug|x86.ActiveCfg = Debug|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Debug|x86.Build.0 = Debug|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Release|Any CPU.Build.0 = Release|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Release|x86.ActiveCfg = Release|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Release|x86.Build.0 = Release|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Remote_DEBUG|Any CPU.ActiveCfg = Remote_DEBUG|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Remote_DEBUG|Any CPU.Build.0 = Remote_DEBUG|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Remote_DEBUG|x86.ActiveCfg = Remote_DEBUG|Any CPU
{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}.Remote_DEBUG|x86.Build.0 = Remote_DEBUG|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {801DCDC5-B7D3-4EA5-B543-783D2C91765F}
EndGlobalSection
EndGlobal
+138
View File
@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<appSettings>
<add key="appName" value="IOB-MAN" />
<add key="appNameExt" value="IOB-WIN-NEXT" />
<add key="ConfPath" value="CONF" />
<add key="FullConfFile" value="IOB-MAN-CONFIG.json" />
<!--<add key="appNameExt" value="IOB-WIN-PSER" />-->
<add key="uiPeriod" value="100" />
<add key="checkPeriod" value="3000" />
<add key="forceCheckPeriodMult" value="20" />
<add key="autoRestartTimeoutMin" value="15" />
<add key="autoStartProc" value="true" />
<add key="closeOnChildUpdate" value="true" />
<add key="targetExe" value="C:\Steamware\IOB-WIN-NEXT\IOB-WIN-NEXT.exe" />
<add key="TargetNLogConf" value="C:\Steamware\IOB-WIN-NEXT\NLog.config" />
<add key="TargetLogDir" value="C:\Steamware\IOB-WIN-NEXT\logs\" />
<!--<add key="targetExe" value="C:\Temp\CNC_XP\IOB-WIN-PSER\IOB-WIN-PSER.exe" />
<add key="TargetNLogConf" value="C:\Temp\CNC_XP\IOB-WIN-PSER\CONF\NLog.config" />
<add key="TargetLogDir" value="C:\Temp\CNC_XP\IOB-WIN-PSER\logs\" />-->
<add key="ApiUrl" value="https://liman.egalware.com/ELM.Api/" />
<!--<add key="ApiUrl" value="https://localhost:44351/" />-->
<add key="BaseArg" value="MODE=MAN IOB=" />
<!-- vecchi parametri da rimuovere? -->
<add key="TargetConfFile" value="target.json" />
<add key="ArgsConfFile" value="process.json" />
<!--Gestione riavvio periodico: ora e min di avvio, periodo ripetizione in minuti -->
<add key="fullRestartHour" value="0" />
<add key="fullRestartMinute" value="30" />
<add key="fullRestartIntervMin" value="1440" />
<add key="waitForExitMsec" value="2500" />
<!--gestione REDIS-->
<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" />
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false" />
<add key="redisDb" value="10" />
<add key="ClientSettingsProvider.ServiceUri" value="" />
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.5.0" newVersion="4.1.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.1.0" newVersion="6.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.38.0.0" newVersion="0.38.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.1.0" newVersion="4.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<probing privatePath="lib;libs" xmlns="urn:schemas-microsoft-com:asm.v1" />
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.8.0.0" newVersion="1.8.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.4.2.13" newVersion="1.4.2.13" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-106.15.0.0" newVersion="106.15.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.2" newVersion="8.0.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ZstdSharp" publicKeyToken="8d151af33a4ad5cf" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.8.4.0" newVersion="0.8.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Snappier" publicKeyToken="a1b25124e6e13a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.1.6.0" newVersion="1.1.6.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.web>
<membership defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider" enabled="true">
<providers>
<add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
</providers>
</roleManager>
</system.web>
</configuration>
+12
View File
@@ -0,0 +1,12 @@
---------------------------------------------------------------
------- SteamWare SDK -------
---------------------------------------------------------------
Libreria di utility base di SteamWare.
Le dipendenze inserite sono necessarie al funzionamento dell'SDK.
Sono inclusi a titolo di esempio vari files di conf:
* example-NLog.config
Attenzione a configurare correttamente il file NLog.xml includendo il rule per la classe, vedere ad esempio il file example-NLog.config allegato.
Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+1
View File
@@ -0,0 +1 @@

+29
View File
@@ -0,0 +1,29 @@
{
"ListIOB": {
"SIMUL_01": "IOB-WIN-NEXT",
"SIMUL_02": "IOB-WIN-NEXT",
"SIMUL_03": "IOB-WIN-NEXT",
"SIMUL_04": "IOB-WIN-NEXT",
"SIMUL_05": "IOB-WIN-NEXT"
},
"ListTarget": {
"IOB-WIN-NEXT": {
"ExeName": "IOB-WIN-NEXT",
"ExePath": "C:\\Steamware\\IOB-WIN-NEXT\\IOB-WIN-NEXT.exe",
"LogDir": "C:\\Steamware\\IOB-WIN-NEXT\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-NEXT\\NLog.config"
},
"IOB-WIN-MTC": {
"ExeName": "IOB-WIN-MTC",
"ExePath": "C:\\Steamware\\IOB-WIN-MTC\\IOB-WIN-MTC.exe",
"LogDir": "C:\\Steamware\\IOB-WIN-MTC\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-MTC\\NLog.config"
},
"PING-TEST": {
"ExeName": "cmd",
"ExePath": "C:\\Steamware\\IOB-WIN-NEXT\\Resources\\Test.bat",
"LogDir": "C:\\Steamware\\IOB-WIN-NEXT\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-NEXT\\NLog.config"
}
}
}
+29
View File
@@ -0,0 +1,29 @@
{
"ListIOB": {
"SIMUL_00": "PING-TEST",
"SIMUL_01": "IOB-WIN-NEXT",
"SIMUL_02": "IOB-WIN-MTC",
"SIMUL_04": "IOB-WIN-NEXT",
"SIMUL_05": "IOB-WIN-NEXT"
},
"ListTarget": {
"IOB-WIN-NEXT": {
"ExeName": "IOB-WIN-NEXT",
"ExePath": "C:\\Steamware\\IOB-WIN-NEXT\\IOB-WIN-NEXT.exe",
"LogDir": "C:\\Steamware\\IOB-WIN-NEXT\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-NEXT\\NLog.config"
},
"IOB-WIN-MTC": {
"ExeName": "IOB-WIN-MTC",
"ExePath": "C:\\Steamware\\IOB-WIN-MTC\\IOB-WIN-MTC.exe",
"LogDir": "C:\\Steamware\\IOB-WIN-MTC\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-MTC\\NLog.config"
},
"PING-TEST": {
"ExeName": "cmd",
"ExePath": "C:\\Steamware\\IOB-WIN-NEXT\\Resources\\Test.bat",
"LogDir": "C:\\Steamware\\IOB-WIN-NEXT\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-NEXT\\NLog.config"
}
}
}
+12
View File
@@ -0,0 +1,12 @@
{
"CodApp": "MAPO-IOB-WIN-NEXT",
"CodImp": "",
"CodInst": "SteamWare",
"ContactEmail": "samuele@steamware.net",
"ContactName": "Samuele",
"ContactPhone": "035-460560",
"IdxSubLic": 0,
"MasterKey": "a3BRQz/1B34uvvcDoE/D38ssH/c/KSsjpn39wZsxOVsck9rGnBkF3xfUnj3edYIl",
"ReqBody": "IOB-MAN: upload logfile IOB-MAN + IOB-WIN-NEXT gestiti",
"Tipo": 2
}
+1
View File
@@ -0,0 +1 @@
[ "SIMUL_01", "SIMUL_02", "SIMUL_03", "SIMUL_04" ]
+5
View File
@@ -0,0 +1,5 @@
{
"SIMUL_00": "PING-TEST",
"SIMUL_01": "IOB-WIN-NEXT",
"SIMUL_02": "IOB-WIN-MTC"
}
+20
View File
@@ -0,0 +1,20 @@
{
"IOB-WIN-NEXT": {
"ExeName": "IOB-WIN-NEXT",
"ExePath": "C:\\Steamware\\IOB-WIN-NEXT\\IOB-WIN-NEXT.exe",
"LogDir": "C:\\Steamware\\IOB-WIN-NEXT\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-NEXT\\NLog.config"
},
"IOB-WIN-MTC": {
"ExeName": "IOB-WIN-MTC",
"ExePath": "C:\\Steamware\\IOB-WIN-MTC\\IOB-WIN-MTC.exe",
"LogDir": "C:\\Steamware\\IOB-WIN-MTC\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-MTC\\NLog.config"
},
"PING-TEST": {
"ExeName": "cmd",
"ExePath": "C:\\Steamware\\IOB-WIN-NEXT\\Resources\\Test.bat",
"LogDir": "C:\\Steamware\\IOB-WIN-NEXT\\logs\\",
"NLogPath": "C:\\Steamware\\IOB-WIN-NEXT\\NLog.config"
}
}
Binary file not shown.
Binary file not shown.
+60
View File
@@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_MAN
{
/// <summary>
/// Tipologia di ticket
/// </summary>
public enum TipologiaTicket
{
ND = 0,
Licenze,
FileUpload
}
/// <summary>
/// Stato richieste x workflow interno
/// </summary>
public enum StatoRichiesta
{
ND = 0,
Richiesta,
Valutazione,
Approvata,
Rifiutata
}
public enum TipoLicenza
{
ND = 0,
/// <summary>
/// Licenza LEgacy Steamware
/// </summary>
GLS,
/// <summary>
/// Master Key License, che ha una data di scadenza globale ed un token = numero di utenti/token massimi associati
/// </summary>
MasterKey,
/// <summary>
/// UserKey License (licenza che consuma un token utente della licenza master) - es GPW
/// </summary>
UserKey,
/// <summary>
/// Chiave tiupo Checksum basata su licenza masster + checksum MD5 di una serie di dati (child licenses)
/// </summary>
CheckSumKey
}
}
+48
View File
@@ -0,0 +1,48 @@
// This file is used by Code Analysis to maintain SuppressMessage
// attributes that are applied to this project.
// Project-level suppressions either have no target or are given
// a specific target and scoped to a namespace, type, member, etc.
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.IOBManPanel.btnMaximixeAll_Click(System.Object,System.EventArgs)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.IOBManPanel.btnMinimizeAll_Click(System.Object,System.EventArgs)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.IOBManPanel.checkIstance(IOB_MAN.iobAdapt,System.Collections.Generic.List{IOB_MAN.iobAdapt},System.Diagnostics.Process[])~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.IOBManPanel.chiudiChildSel")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.IOBManPanel.closeAllChild(System.Boolean)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.IOBManPanel.dgvManagedItems_CellDoubleClick(System.Object,System.Windows.Forms.DataGridViewCellEventArgs)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.IOBManPanel.forceCheckTimer_Tick(System.Object,System.EventArgs)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.IOBManPanel.MainTimer_Tick(System.Object,System.EventArgs)")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.deserializeVal(System.String)~System.Object")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.getRCnt(System.String)~System.Int32")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.getRedisInfoData~System.String")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.getRKeys(StackExchange.Redis.RedisKey[])~StackExchange.Redis.RedisValue[]")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.getRSV(System.String)~System.String")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redCountKey(System.String)~System.Int32")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redDelKey(System.String)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redFlushKey(System.String)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redGetCounterByKey(System.String,IOB_MAN.RedisIobCache.kvpOrderBy)~System.Collections.Generic.List{System.Collections.Generic.KeyValuePair{System.String,System.Int32}}")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redGetHash(System.String)~System.Collections.Generic.KeyValuePair{System.String,System.String}[]")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redGetHashDict(System.String)~System.Collections.Generic.Dictionary{System.String,System.String}")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redGetHashField(System.String,System.String)~System.String")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redHash(System.String)~System.String")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redHashPresent(StackExchange.Redis.RedisKey)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redHashPresentSz(System.String)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redKeyPresent(StackExchange.Redis.RedisKey)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redKeyPresentSz(System.String)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redSaveHash(System.String,System.Collections.Generic.KeyValuePair{System.String,System.String}[])~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redSaveHash(System.String,System.Collections.Generic.KeyValuePair{System.String,System.String}[],System.Double)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redSaveHashDict(System.String,System.Collections.Generic.Dictionary{System.String,System.String})~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redSaveHashDict(System.String,System.Collections.Generic.Dictionary{System.String,System.String},System.Double)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redSaveHashList(System.String,System.Collections.Generic.List{System.Collections.Generic.KeyValuePair{System.String,System.String}})~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.redServInfo~StackExchange.Redis.IServer[]")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.resetRCnt(System.String)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.serializeVal(System.Object)~System.String")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.setRCntD(System.String)~System.Int64")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.setRCntI(System.String)~System.Int64")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.setRKeys(System.Collections.Generic.KeyValuePair{StackExchange.Redis.RedisKey,StackExchange.Redis.RedisValue}[])~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.setRSV(System.String,System.String)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.RedisIobCache.setRSV(System.String,System.String,System.Int32)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.utils.CRB(System.String)~System.Boolean")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.utils.CRC(System.String)~System.Char")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.utils.CRI(System.String)~System.Int32")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~M:IOB_MAN.utils.CRS(System.String)~System.String")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "<In sospeso>", Scope = "member", Target = "~P:IOB_MAN.RedisIobCache.numRecRedis")]
+333
View File
@@ -0,0 +1,333 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{8DFE2AC9-611D-44D5-8E8F-204DCF01EDF8}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>IOB_MAN</RootNamespace>
<AssemblyName>IOB-MAN</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>IobManIcon.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Remote_DEBUG|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Remote_DEBUG\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="AWSSDK.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.Core.3.7.400.64\lib\net45\AWSSDK.Core.dll</HintPath>
</Reference>
<Reference Include="AWSSDK.SecurityToken, Version=3.3.0.0, Culture=neutral, PublicKeyToken=885c28607f98e604, processorArchitecture=MSIL">
<HintPath>..\packages\AWSSDK.SecurityToken.3.7.401.13\lib\net45\AWSSDK.SecurityToken.dll</HintPath>
</Reference>
<Reference Include="DnsClient, Version=1.8.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.8.0\lib\netstandard2.0\DnsClient.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.4.2.13, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.4.2\lib\netstandard2.0\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2411.518, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2411.518\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Win32.Registry.5.0.0\lib\net461\Microsoft.Win32.Registry.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.21.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.21.0\lib\netstandard2.0\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.21.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.21.0\lib\netstandard2.0\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.21.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.21.0\lib\netstandard2.0\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.8.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.3.4\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="RestSharp, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
<HintPath>..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll</HintPath>
</Reference>
<Reference Include="RestSharp.Serializers.NewtonsoftJson, Version=106.15.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
<HintPath>..\packages\RestSharp.Serializers.NewtonsoftJson.106.15.0\lib\net452\RestSharp.Serializers.NewtonsoftJson.dll</HintPath>
</Reference>
<Reference Include="SharpCompress, Version=0.38.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.38.0\lib\net462\SharpCompress.dll</HintPath>
</Reference>
<Reference Include="Snappier, Version=1.1.6.0, Culture=neutral, PublicKeyToken=a1b25124e6e13a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Snappier.1.1.6\lib\netstandard2.0\Snappier.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.22\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare.IO, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.IO.5.3.2311.2908\lib\net462\SteamWare.IO.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.3.2311.2908\lib\net462\SteamWare.Logger.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Scheduler, Version=5.3.2311.2908, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Scheduler.5.3.2311.2908\lib\net462\SteamWare.Scheduler.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.8.0.1\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Diagnostics.PerformanceCounter, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.8.0.1\lib\net462\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.IO.Pipelines, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.8.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security.AccessControl, Version=6.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.AccessControl.6.0.1\lib\net461\System.Security.AccessControl.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Principal.Windows, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Principal.Windows.5.0.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encoding.CodePages, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.8.0.0\lib\net462\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.8.0.0\lib\net462\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.0\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="ZstdSharp, Version=0.8.4.0, Culture=neutral, PublicKeyToken=8d151af33a4ad5cf, processorArchitecture=MSIL">
<HintPath>..\packages\ZstdSharp.Port.0.8.4\lib\net462\ZstdSharp.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="..\VersGen\VersGen.cs">
<Link>VersGen.cs</Link>
</Compile>
<Compile Include="Enum.cs" />
<Compile Include="IobManConfig.cs" />
<Compile Include="TargetConfig.cs" />
<Compile Include="GlobalSuppressions.cs" />
<Compile Include="iobAdapt.cs" />
<Compile Include="IOBManPanel.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="IOBManPanel.Designer.cs">
<DependentUpon>IOBManPanel.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RedisMan.cs" />
<Compile Include="SupportRequest.cs" />
<Compile Include="TicketDTO.cs" />
<Compile Include="UploadResult.cs" />
<Compile Include="utils.cs" />
<Content Include="App_Readme\README_SteamWare.txt" />
<Content Include="App_Readme\SteamWare_demo\example-favicon.ico" />
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
<Content Include="IobManIcon.ico" />
<Content Include="Resources\ChangeLog.html" />
<Content Include="Resources\Circuit.ico" />
<Content Include="Resources\IobManIcon.ico">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resources\logoSteamware.png" />
<Content Include="Resources\manifest.xml" />
<Content Include="Resources\Net.ico" />
<Content Include="Resources\SteamWare.ico" />
<EmbeddedResource Include="IOBManPanel.resx">
<DependentUpon>IOBManPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="CONF\.placeholder">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="CONF\IOB-MAN-CONFIG.demo">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="CONF\process-legacy.json" />
<None Include="CONF\IOB-MAN-CONFIG.json" />
<None Include="CONF\target.json" />
<None Include="CONF\license.json" />
<None Include="CONF\process.json" />
<None Include="logs\.placeholder">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Content Include="NLog.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="packages.config" />
<None Include="postBuildTgt.bat" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<None Include="Resources\NLog._demo.config" />
<None Include="Resources\NLog.template.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Resources\Test.bat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="temp\.placeholder">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.401.13\analyzers\dotnet\cs\AWSSDK.SecurityToken.CodeAnalysis.dll" />
<Analyzer Include="..\packages\AWSSDK.SecurityToken.3.7.401.13\analyzers\dotnet\cs\SharedAnalysisCode.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="AfterBuild">
<ItemGroup>
<MoveToLibFolder Include="$(OutputPath)*.dll ; $(OutputPath)*.pdb ; $(OutputPath)*.xml; $(OutputPath)*.so; $(OutputPath)*.dylib" />
</ItemGroup>
<Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
</Target>
<Target Name="FinalBuild" AfterTargets="AfterBuild">
<Exec Command="$(ProjectDir)postBuildTgt.bat $(ConfigurationName) $(TargetDir)">
</Exec>
</Target>
<Import Project="..\packages\MongoDB.Libmongocrypt.1.8.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.8.0\build\MongoDB.Libmongocrypt.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.8.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.8.0\build\MongoDB.Libmongocrypt.targets'))" />
</Target>
</Project>
+467
View File
@@ -0,0 +1,467 @@
namespace IOB_MAN
{
partial class IOBManPanel
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(IOBManPanel));
this.btnClose = new System.Windows.Forms.Button();
this.MainTimer = new System.Windows.Forms.Timer(this.components);
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.lblApp = new System.Windows.Forms.ToolStripStatusLabel();
this.lblVers = new System.Windows.Forms.ToolStripStatusLabel();
this.tsProgBar = new System.Windows.Forms.ToolStripProgressBar();
this.tsslNumProc = new System.Windows.Forms.ToolStripStatusLabel();
this.panel1 = new System.Windows.Forms.Panel();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.processManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.reloadConfRestartToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.forceCloseALLToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.updateIOBWINToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.btnMaximixeAll = new System.Windows.Forms.Button();
this.btnMinimizeAll = new System.Windows.Forms.Button();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel2 = new System.Windows.Forms.Panel();
this.btnSendLog = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.cbLogLevelMin = new System.Windows.Forms.ComboBox();
this.btnStartSel = new System.Windows.Forms.Button();
this.btnMoreTOut = new System.Windows.Forms.Button();
this.txtTOutAutoCheck = new System.Windows.Forms.TextBox();
this.chkAutoRestart = new System.Windows.Forms.CheckBox();
this.btnOpenAll = new System.Windows.Forms.Button();
this.btnRestartAll = new System.Windows.Forms.Button();
this.btnCloseAll = new System.Windows.Forms.Button();
this.dgvManagedItems = new System.Windows.Forms.DataGridView();
this.UI_Timer = new System.Windows.Forms.Timer(this.components);
this.forceCheckTimer = new System.Windows.Forms.Timer(this.components);
this.statusStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvManagedItems)).BeginInit();
this.SuspendLayout();
//
// btnClose
//
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnClose.BackColor = System.Drawing.Color.Green;
this.btnClose.ForeColor = System.Drawing.SystemColors.Window;
this.btnClose.Location = new System.Drawing.Point(10, 299);
this.btnClose.Margin = new System.Windows.Forms.Padding(2);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(96, 26);
this.btnClose.TabIndex = 70;
this.btnClose.Text = "Close SEL";
this.btnClose.UseVisualStyleBackColor = false;
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// MainTimer
//
this.MainTimer.Interval = 500;
this.MainTimer.Tick += new System.EventHandler(this.MainTimer_Tick);
//
// statusStrip1
//
this.statusStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.lblApp,
this.lblVers,
this.tsProgBar,
this.tsslNumProc});
this.statusStrip1.Location = new System.Drawing.Point(0, 439);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 10, 0);
this.statusStrip1.Size = new System.Drawing.Size(929, 22);
this.statusStrip1.TabIndex = 82;
this.statusStrip1.Text = "statusStrip1";
//
// lblApp
//
this.lblApp.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold);
this.lblApp.Name = "lblApp";
this.lblApp.Size = new System.Drawing.Size(12, 17);
this.lblApp.Text = "-";
//
// lblVers
//
this.lblVers.Name = "lblVers";
this.lblVers.Size = new System.Drawing.Size(49, 17);
this.lblVers.Text = "v 0.0.0.0";
//
// tsProgBar
//
this.tsProgBar.Name = "tsProgBar";
this.tsProgBar.Size = new System.Drawing.Size(75, 16);
//
// tsslNumProc
//
this.tsslNumProc.Name = "tsslNumProc";
this.tsslNumProc.Size = new System.Drawing.Size(16, 17);
this.tsslNumProc.Text = "...";
//
// panel1
//
this.panel1.Controls.Add(this.menuStrip1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(2);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(929, 31);
this.panel1.TabIndex = 83;
//
// menuStrip1
//
this.menuStrip1.ImageScalingSize = new System.Drawing.Size(20, 20);
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.processManagerToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Padding = new System.Windows.Forms.Padding(4, 2, 0, 2);
this.menuStrip1.Size = new System.Drawing.Size(929, 24);
this.menuStrip1.TabIndex = 82;
this.menuStrip1.Text = "menuStrip1";
//
// processManagerToolStripMenuItem
//
this.processManagerToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.reloadConfRestartToolStripMenuItem,
this.forceCloseALLToolStripMenuItem,
this.updateIOBWINToolStripMenuItem});
this.processManagerToolStripMenuItem.Name = "processManagerToolStripMenuItem";
this.processManagerToolStripMenuItem.Size = new System.Drawing.Size(62, 20);
this.processManagerToolStripMenuItem.Text = "&Manage";
//
// reloadConfRestartToolStripMenuItem
//
this.reloadConfRestartToolStripMenuItem.Name = "reloadConfRestartToolStripMenuItem";
this.reloadConfRestartToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
this.reloadConfRestartToolStripMenuItem.Text = "&Reload conf + Restart";
this.reloadConfRestartToolStripMenuItem.Click += new System.EventHandler(this.reloadConfRestartToolStripMenuItem_Click);
//
// forceCloseALLToolStripMenuItem
//
this.forceCloseALLToolStripMenuItem.Name = "forceCloseALLToolStripMenuItem";
this.forceCloseALLToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
this.forceCloseALLToolStripMenuItem.Text = "&Force Close ALL";
this.forceCloseALLToolStripMenuItem.Click += new System.EventHandler(this.forceCloseALLToolStripMenuItem_Click);
//
// updateIOBWINToolStripMenuItem
//
this.updateIOBWINToolStripMenuItem.Name = "updateIOBWINToolStripMenuItem";
this.updateIOBWINToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
this.updateIOBWINToolStripMenuItem.Text = "Update IOB-&WIN";
this.updateIOBWINToolStripMenuItem.Click += new System.EventHandler(this.updateIOBWINToolStripMenuItem_Click);
//
// btnMaximixeAll
//
this.btnMaximixeAll.BackColor = System.Drawing.SystemColors.Highlight;
this.btnMaximixeAll.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.btnMaximixeAll.Location = new System.Drawing.Point(11, 77);
this.btnMaximixeAll.Margin = new System.Windows.Forms.Padding(2);
this.btnMaximixeAll.Name = "btnMaximixeAll";
this.btnMaximixeAll.Size = new System.Drawing.Size(96, 26);
this.btnMaximixeAll.TabIndex = 81;
this.btnMaximixeAll.Text = "Show ALL";
this.btnMaximixeAll.UseVisualStyleBackColor = false;
this.btnMaximixeAll.Click += new System.EventHandler(this.btnMaximixeAll_Click);
//
// btnMinimizeAll
//
this.btnMinimizeAll.BackColor = System.Drawing.SystemColors.Highlight;
this.btnMinimizeAll.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.btnMinimizeAll.Location = new System.Drawing.Point(11, 107);
this.btnMinimizeAll.Margin = new System.Windows.Forms.Padding(2);
this.btnMinimizeAll.Name = "btnMinimizeAll";
this.btnMinimizeAll.Size = new System.Drawing.Size(96, 26);
this.btnMinimizeAll.TabIndex = 80;
this.btnMinimizeAll.Text = "Hide ALL";
this.btnMinimizeAll.UseVisualStyleBackColor = false;
this.btnMinimizeAll.Click += new System.EventHandler(this.btnMinimizeAll_Click);
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 2;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F));
this.tableLayoutPanel1.Controls.Add(this.panel2, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.dgvManagedItems, 0, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 31);
this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(2);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(929, 408);
this.tableLayoutPanel1.TabIndex = 85;
//
// panel2
//
this.panel2.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.panel2.Controls.Add(this.btnSendLog);
this.panel2.Controls.Add(this.label1);
this.panel2.Controls.Add(this.cbLogLevelMin);
this.panel2.Controls.Add(this.btnStartSel);
this.panel2.Controls.Add(this.btnMoreTOut);
this.panel2.Controls.Add(this.txtTOutAutoCheck);
this.panel2.Controls.Add(this.chkAutoRestart);
this.panel2.Controls.Add(this.btnOpenAll);
this.panel2.Controls.Add(this.btnRestartAll);
this.panel2.Controls.Add(this.btnCloseAll);
this.panel2.Controls.Add(this.btnClose);
this.panel2.Controls.Add(this.btnMinimizeAll);
this.panel2.Controls.Add(this.btnMaximixeAll);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(811, 2);
this.panel2.Margin = new System.Windows.Forms.Padding(2);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(116, 404);
this.panel2.TabIndex = 85;
//
// btnSendLog
//
this.btnSendLog.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnSendLog.BackColor = System.Drawing.SystemColors.HotTrack;
this.btnSendLog.ForeColor = System.Drawing.SystemColors.Window;
this.btnSendLog.Location = new System.Drawing.Point(11, 266);
this.btnSendLog.Margin = new System.Windows.Forms.Padding(2);
this.btnSendLog.Name = "btnSendLog";
this.btnSendLog.Size = new System.Drawing.Size(96, 26);
this.btnSendLog.TabIndex = 91;
this.btnSendLog.Text = "Send LOG (sel)";
this.btnSendLog.UseVisualStyleBackColor = false;
this.btnSendLog.Click += new System.EventHandler(this.btnSendLog_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(11, 4);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(79, 13);
this.label1.TabIndex = 90;
this.label1.Text = "LOG level (min)";
//
// cbLogLevelMin
//
this.cbLogLevelMin.FormattingEnabled = true;
this.cbLogLevelMin.Items.AddRange(new object[] {
"Warn",
"Info",
"Debug",
"Trace"});
this.cbLogLevelMin.Location = new System.Drawing.Point(11, 18);
this.cbLogLevelMin.Name = "cbLogLevelMin";
this.cbLogLevelMin.Size = new System.Drawing.Size(97, 21);
this.cbLogLevelMin.TabIndex = 89;
this.cbLogLevelMin.Text = "Info";
this.cbLogLevelMin.SelectedIndexChanged += new System.EventHandler(this.cbLogLevelMin_SelectedIndexChanged);
//
// btnStartSel
//
this.btnStartSel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnStartSel.BackColor = System.Drawing.Color.Green;
this.btnStartSel.ForeColor = System.Drawing.SystemColors.Window;
this.btnStartSel.Location = new System.Drawing.Point(9, 329);
this.btnStartSel.Margin = new System.Windows.Forms.Padding(2);
this.btnStartSel.Name = "btnStartSel";
this.btnStartSel.Size = new System.Drawing.Size(96, 26);
this.btnStartSel.TabIndex = 88;
this.btnStartSel.Text = "Start SEL";
this.btnStartSel.UseVisualStyleBackColor = false;
this.btnStartSel.Click += new System.EventHandler(this.btnStartSel_Click);
//
// btnMoreTOut
//
this.btnMoreTOut.Location = new System.Drawing.Point(81, 228);
this.btnMoreTOut.Name = "btnMoreTOut";
this.btnMoreTOut.Size = new System.Drawing.Size(25, 23);
this.btnMoreTOut.TabIndex = 87;
this.btnMoreTOut.Text = "+";
this.btnMoreTOut.UseVisualStyleBackColor = true;
this.btnMoreTOut.Visible = false;
this.btnMoreTOut.Click += new System.EventHandler(this.btnMoreTOut_Click);
//
// txtTOutAutoCheck
//
this.txtTOutAutoCheck.Location = new System.Drawing.Point(11, 230);
this.txtTOutAutoCheck.Name = "txtTOutAutoCheck";
this.txtTOutAutoCheck.Size = new System.Drawing.Size(64, 20);
this.txtTOutAutoCheck.TabIndex = 86;
this.txtTOutAutoCheck.Visible = false;
this.txtTOutAutoCheck.TextChanged += new System.EventHandler(this.txtTOutAutoCheck_TextChanged);
//
// chkAutoRestart
//
this.chkAutoRestart.AutoSize = true;
this.chkAutoRestart.Checked = true;
this.chkAutoRestart.CheckState = System.Windows.Forms.CheckState.Checked;
this.chkAutoRestart.Location = new System.Drawing.Point(11, 209);
this.chkAutoRestart.Name = "chkAutoRestart";
this.chkAutoRestart.Size = new System.Drawing.Size(85, 17);
this.chkAutoRestart.TabIndex = 85;
this.chkAutoRestart.Text = "Auto Restart";
this.chkAutoRestart.UseVisualStyleBackColor = true;
this.chkAutoRestart.CheckedChanged += new System.EventHandler(this.chkAutoRestart_CheckedChanged);
//
// btnOpenAll
//
this.btnOpenAll.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnOpenAll.BackColor = System.Drawing.SystemColors.ButtonFace;
this.btnOpenAll.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
this.btnOpenAll.Location = new System.Drawing.Point(11, 47);
this.btnOpenAll.Margin = new System.Windows.Forms.Padding(2);
this.btnOpenAll.Name = "btnOpenAll";
this.btnOpenAll.Size = new System.Drawing.Size(96, 26);
this.btnOpenAll.TabIndex = 84;
this.btnOpenAll.Text = "Open ALL";
this.btnOpenAll.UseVisualStyleBackColor = false;
this.btnOpenAll.Click += new System.EventHandler(this.btnOpenAll_Click);
//
// btnRestartAll
//
this.btnRestartAll.BackColor = System.Drawing.SystemColors.ControlDarkDark;
this.btnRestartAll.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.btnRestartAll.Location = new System.Drawing.Point(11, 174);
this.btnRestartAll.Margin = new System.Windows.Forms.Padding(2);
this.btnRestartAll.Name = "btnRestartAll";
this.btnRestartAll.Size = new System.Drawing.Size(96, 26);
this.btnRestartAll.TabIndex = 83;
this.btnRestartAll.Text = "Restart ALL";
this.btnRestartAll.UseVisualStyleBackColor = false;
this.btnRestartAll.Click += new System.EventHandler(this.btnRestartAll_Click);
//
// btnCloseAll
//
this.btnCloseAll.BackColor = System.Drawing.SystemColors.ControlDarkDark;
this.btnCloseAll.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.btnCloseAll.Location = new System.Drawing.Point(11, 144);
this.btnCloseAll.Margin = new System.Windows.Forms.Padding(2);
this.btnCloseAll.Name = "btnCloseAll";
this.btnCloseAll.Size = new System.Drawing.Size(96, 26);
this.btnCloseAll.TabIndex = 82;
this.btnCloseAll.Text = "Close ALL";
this.btnCloseAll.UseVisualStyleBackColor = false;
this.btnCloseAll.Click += new System.EventHandler(this.btnCloseAll_Click);
//
// dgvManagedItems
//
this.dgvManagedItems.AllowUserToAddRows = false;
this.dgvManagedItems.AllowUserToDeleteRows = false;
this.dgvManagedItems.AllowUserToResizeColumns = false;
this.dgvManagedItems.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dgvManagedItems.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
this.dgvManagedItems.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvManagedItems.Location = new System.Drawing.Point(3, 3);
this.dgvManagedItems.Name = "dgvManagedItems";
this.dgvManagedItems.ReadOnly = true;
this.dgvManagedItems.RowHeadersWidth = 51;
this.dgvManagedItems.Size = new System.Drawing.Size(803, 402);
this.dgvManagedItems.TabIndex = 76;
this.dgvManagedItems.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvManagedItems_CellDoubleClick);
this.dgvManagedItems.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.dgvManagedItems_CellFormatting);
this.dgvManagedItems.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvManagedItems_CellMouseClick);
this.dgvManagedItems.SelectionChanged += new System.EventHandler(this.dgvManagedItems_SelectionChanged);
//
// UI_Timer
//
this.UI_Timer.Tick += new System.EventHandler(this.UI_Timer_Tick);
//
// forceCheckTimer
//
this.forceCheckTimer.Interval = 5000;
this.forceCheckTimer.Tick += new System.EventHandler(this.forceCheckTimer_Tick);
//
// IOBManPanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLight;
this.ClientSize = new System.Drawing.Size(929, 461);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.statusStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.IsMdiContainer = true;
this.MainMenuStrip = this.menuStrip1;
this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "IOBManPanel";
this.Text = "IOB MANAGER";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.IOBManPanel_FormClosing);
this.Shown += new System.EventHandler(this.IOBManPanel_Shown);
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.tableLayoutPanel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvManagedItems)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button btnClose;
private System.Windows.Forms.Timer MainTimer;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripStatusLabel tsslNumProc;
private System.Windows.Forms.ToolStripProgressBar tsProgBar;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button btnMinimizeAll;
private System.Windows.Forms.Button btnMaximixeAll;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.DataGridView dgvManagedItems;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem processManagerToolStripMenuItem;
private System.Windows.Forms.Button btnCloseAll;
private System.Windows.Forms.Button btnRestartAll;
private System.Windows.Forms.Button btnOpenAll;
private System.Windows.Forms.ToolStripMenuItem updateIOBWINToolStripMenuItem;
private System.Windows.Forms.CheckBox chkAutoRestart;
private System.Windows.Forms.TextBox txtTOutAutoCheck;
private System.Windows.Forms.Button btnMoreTOut;
private System.Windows.Forms.ToolStripMenuItem forceCloseALLToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem reloadConfRestartToolStripMenuItem;
private System.Windows.Forms.ToolStripStatusLabel lblVers;
private System.Windows.Forms.ToolStripStatusLabel lblApp;
private System.Windows.Forms.Button btnStartSel;
private System.Windows.Forms.Timer UI_Timer;
private System.Windows.Forms.Timer forceCheckTimer;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox cbLogLevelMin;
private System.Windows.Forms.Button btnSendLog;
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+21
View File
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_MAN
{
public class IobManConfig
{
/// <summary>
/// Dizionario degli IOB configurati col TIPO di target associato
/// </summary>
public Dictionary<string, string> ListIOB { get; set; } = new Dictionary<string, string>();
/// <summary>
/// dizionario dei target ammessi con relativa configurazione
/// </summary>
public Dictionary<string, TargetConfig> ListTarget{ get; set; } = new Dictionary<string, TargetConfig>();
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<variable name="logDir" value="${basedir}/logs"/>
<targets>
<target xsi:type="File"
name="f_base"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
archiveNumbering="Sequence"
archiveAboveSize="10240000"
maxArchiveFiles="60"
enableArchiveFileCompression="false"
keepFileOpen="false"
/>
<target xsi:type="File"
name="f_error"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}${newline}${exception:format=tostring}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
archiveNumbering="Sequence"
archiveAboveSize="10240000"
maxArchiveFiles="60"
enableArchiveFileCompression="false"
keepFileOpen="false"
/>
</targets>
<rules>
<!-- Logging Levels (Trace, Debug, Info, Warn, Error, Fatal)-->
<logger name="*" minlevel="Trace" maxlevel="Warn" final="true" writeTo="f_base" />
<logger name="*" minlevel="Error" writeTo="f_error" />
</rules>
</nlog>
+26
View File
@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace IOB_MAN
{
internal static class Program
{
#region Private Methods
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new IOBManPanel());
}
#endregion Private Methods
}
}
+36
View File
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("IOB-MAN")]
[assembly: AssemblyDescription("IOB Instance Manager")]
[assembly: AssemblyConfiguration("")]
//[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("IOB-MAN")]
//[assembly: AssemblyCopyright("Copyright © 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("8dfe2ac9-611d-44d5-8e8f-204dcf01edf8")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyVersion("1.0.0.0")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
+63
View File
@@ -0,0 +1,63 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Il codice è stato generato da uno strumento.
// Versione runtime:4.0.30319.42000
//
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
// il codice viene rigenerato.
// </auto-generated>
//------------------------------------------------------------------------------
namespace IOB_MAN.Properties {
using System;
/// <summary>
/// Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via.
/// </summary>
// Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder.
// tramite uno strumento quale ResGen o Visual Studio.
// Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen
// con l'opzione /str oppure ricompilare il progetto VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("IOB_MAN.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le
/// ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
}
}
+117
View File
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+26
View File
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Il codice è stato generato da uno strumento.
// Versione runtime:4.0.30319.42000
//
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
// il codice viene rigenerato.
// </auto-generated>
//------------------------------------------------------------------------------
namespace IOB_MAN.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.4.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}
+7
View File
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
+1221
View File
File diff suppressed because it is too large Load Diff
+120
View File
@@ -0,0 +1,120 @@
<body>
<h3>MAPO-IOB-MAN</h3>
<b>v: {{CURRENT-REL}}</b>
<br />
<i>Acquisitore MAPO-IOB per sistemi Windows</i>
<br />
Note di rilascio:
<ul>
<li>
<b>v.3.1.* &rarr; v.3.2.*</b>
<ul>
<li>Nuovi simulatori con gestione emergenza</li>
<li>Fix gestione invio dati Redis</li>
<li>Implementazione IOB Eurom63</li>
</ul>
</li>
<li>
<b>v.2.6.* &rarr; v.3.0.*</b>
<ul>
<li>revisione sistema metodi invio in blocco</li>
<li>Gestione invio contapezzi in step > 1</li>
<li>Gestione eventi in blocco (indipendente e prioritario su EvBlock)</li>
<li>Gestione limite eventi memorizzabili</li>
<li>Integrazione REDIS</li>
<li>Integrazione IOB-MAN</li>
</ul>
</li>
<li>
<b>v.2.5.* &rarr; v.2.6.*</b>
<ul>
<li>revisione sistema timeout Ping</li>
<li>Gestione AutoODL in prod generale (non solo SIM)</li>
</ul>
</li>
<li>
<b>v.2.4.* &rarr; v.2.5.*</b>
<ul>
<li>Aggiunto adapter MTConnect</li>
<li>Ottimizzazione gestione SIEMENS</li>
</ul>
</li>
<li>
<b>v.2.3.* &rarr; v.2.4.*</b>
<ul>
<li>inserita gestione conf json x Flog acquisiti</li>
<li>gestione invio Json blocchi dati FLog</li>
<li>ottimizzazioni varie adapter Siemens</li>
<li>ottimizzazione processo svuotamento code</li>
<li>riduzione interferenza e interblocchi in fase di PLC assente</li>
</ul>
</li>
<li>
<b>Ultime modifiche:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.1.18.* &rarr; v.2.3.*</b>
<ul>
<li>inserimento WPS x acontrolli WebPage human readable</li>
<li>fix gestione task2exe</li>
<li>aggiunte varie versioni PLC siemens</li>
<li>aggiunto PLC WPS x generiche web pages</li>
<li>revisitazione LOG ODL e contapezzi</li>
<li>modifica pagina presentazione dati (master) x resize</li>
<li>Attivazione IOB SIMULATOR per test di carico (sostituito type DEMO)</li>
<li>Aggiunto simulatore macchine MULTI pallet</li>
<li>Ottimizzazione simulatore</li>
<li>Ottimizzazioni PLC Siemens x riavvio post disconnessione (es spegnimento notturno)</li>
<li>Ottimizzazione processo chiusura in update applicazione</li>
<li>Aggiunta simulazione spegnimento con WU/CD</li>
</ul>
</li>
<li>
<b>v.1.11.* &rarr; v.1.18.*</b>
<ul>
<li>Inserimento controller SIEMENS con S7+ library</li>
<li>Inserimento nuove letture FANUC x programmi</li>
<li>Inserimento nuove letture FANUC x SysEx (informazioni sistema)</li>
<li>Inserimento invio FluxLog x parametri estesi (es SysEx, ProgName,...)</li>
<li>FIX visualizzazione dati FluxLog e URL inviati</li>
<li>FIX MAIN program da FANUC (non il current)</li>
<li>Inserita modalita' DUMP memoria (iniziale full + periodica)</li>
<li>Inserimento gestione contapezzi standard/checkBit in IOB.cfg</li>
<li>Inserimento contapezzi da area memoria X</li>
<li>NUOVA Gestione rami cliente e URL di update</li>
<li>Gestione modi CNC</li>
<li>Lettura dari dinamycs FANUC (feed, speed)</li>
<li> aggiunta gestione aree G0..G30 (overrides?)</li>
<li>fix errore disconnessione FANUC (allo spegnimento dl CNC) e memoria valori persistente a 1</li>
<li>fix globali x gestione log IN / FLOG + ottimizzaizone check FANUC (PING)</li>
<li>ottimizzazione fasi di restart in caso di assenza del server (evita reinvii inutili e migliora tempo ripartenza invio)</li>
<li>review procedure controllo connessione x FANUC (es Tornos II)</li>
<li>non richeide più privilegi admin x fare update</li>
<li> gestione segnali inverted</li>
<li>completata gestione configurabilità parametrica segnali (Tornos, CMZ, Biglia)</li>
<li>revisitazione LOG x distinguere processi IOB</li>
</ul>
</li>
<li>
<b>v.0.1.* &rarr; v.0.10.*</b>
<ul>
<li>Testato in produzione x update ad avvio e su richiesta</li>
<li>Testato in produzione x lettura dati da Fanuc</li>
<li>Inizio deploy con copia file su area IIS</li>
<li>Prima versione con autoupdate</li>
<li>Test PrettyBin x spostamento dll</li>
<li>Base acquisitore FANUC</li>
<li>Sistema base sw controllo in tray</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="logoSteamware.png" />
</div>
<div style="float: right;">
<a href="https://www.steamware.net/IOT" target="_blank">&copy; Steamware 2006-{{CURR-YEAR}}</a>
</div>
</div>
</body>
Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

+84
View File
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<!-- optional, add some variables
https://github.com/nlog/NLog/wiki/Configuration-file#variables
-->
<variable name="logDir" value="${basedir}/logs"/>
<!--
See https://github.com/nlog/nlog/wiki/Configuration-file
for information on customizing logging rules and outputs.
-->
<targets>
<!--
add your targets here
See https://github.com/nlog/NLog/wiki/Targets for possible targets.
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
-->
<target xsi:type="File"
name="f_base"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
archiveNumbering="Sequence"
archiveAboveSize="10240000"
maxArchiveFiles="60"
enableArchiveFileCompression="false"
keepFileOpen="false"
/>
<target xsi:type="File"
name="f_error"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}${newline}${exception:format=tostring}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
archiveNumbering="Sequence"
archiveAboveSize="10240000"
maxArchiveFiles="60"
enableArchiveFileCompression="false"
keepFileOpen="false"
/>
<!--Target per asp.net 4.5+ (NON VA con 4.0 common-->
<!--<target xsi:type="File"
name="f"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}|${exception:format=tostring}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
archiveNumbering="Sequence"
archiveEvery="Day"
archiveOldFileOnStartup="true"
maxArchiveFiles="90"
enableArchiveFileCompression="false"
keepFileOpen="true"
/>-->
<!--<target name="fAsync" xsi:type="AsyncWrapper" queueLimit="5" overflowAction="Discard">
<target xsi:type="File"
keepFileOpen="true"
fileName="${basedir}/logs/${shortdate}_${var:codIOB:default=0000}.log"
layout="${longdate}|${uppercase:${level}}|${var:codIOB:default=0000}|${callsite}|${message}|${exception:format=tostring}"
archiveFileName="${basedir}/logs/${shortdate}_${var:codIOB:default=0000}.{###}.log"
archiveNumbering="Sequence"
archiveEvery="Day"
archiveOldFileOnStartup="true"
maxArchiveFiles="0"
enableArchiveFileCompression="false"
/>
</target>-->
</targets>
<rules>
<!-- add your logging rules here -->
<!--
Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
<logger name="*" minlevel="Debug" writeTo="f" />
-->
<!--<logger name="*" minlevel="Info" maxlevel="Warn" final="true" writeTo="f_base" />-->
<logger name="*" minlevel="Debug" maxlevel="Warn" final="true" writeTo="f_base" />
<logger name="*" minlevel="Error" writeTo="f_error" />
</rules>
</nlog>
+39
View File
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<variable name="logDir" value="${basedir}/logs"/>
<targets>
<target xsi:type="File"
name="f_base"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
archiveNumbering="Sequence"
archiveAboveSize="10240000"
maxArchiveFiles="60"
enableArchiveFileCompression="false"
keepFileOpen="false"
/>
<target xsi:type="File"
name="f_error"
fileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.log"
layout="${longdate} [${uppercase:${level}}] ${logger:shortName=true}|${message}${newline}${exception:format=tostring}"
archiveFileName="${logDir}/${var:codIOB:default=0000}/${shortdate}.{###}.log"
archiveNumbering="Sequence"
archiveAboveSize="10240000"
maxArchiveFiles="60"
enableArchiveFileCompression="false"
keepFileOpen="false"
/>
</targets>
<rules>
<!-- Logging Levels (Trace, Debug, Info, Warn, Error, Fatal)-->
<logger name="*" minlevel="{{minLevel}}" maxlevel="Warn" final="true" writeTo="f_base" />
<logger name="*" minlevel="Error" writeTo="f_error" />
</rules>
</nlog>
Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

+1
View File
@@ -0,0 +1 @@
ping -t %1
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.0.0.0</version>
<url>http://seriate.steamware.net:8083/SWS/MAPO/IOB-MAN/{{BRANCHNAME}}/MAPO-IOB-WIN.zip</url>
<changelog>http://seriate.steamware.net:8083/SWS/MAPO/IOB-MAN/{{BRANCHNAME}}/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>
+33
View File
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_MAN
{
public class SupportRequest
{
#region Public Properties
public string CodApp { get; set; } = "";
public string CodImp { get; set; } = "";
public string CodInst { get; set; } = "";
public string ContactEmail { get; set; } = "";
public string ContactName { get; set; } = "";
public string ContactPhone { get; set; } = "";
public int idxSubLic { get; set; } = 0;
public TipologiaTicket Tipo { get; set; } = TipologiaTicket.ND;
public bool IsValid
{
get => !string.IsNullOrEmpty(MasterKey) && !string.IsNullOrEmpty(ContactEmail) && !string.IsNullOrEmpty(CodInst) && !string.IsNullOrEmpty(CodApp);
}
public string MasterKey { get; set; } = "";
public string ReqBody { get; set; } = "";
#endregion Public Properties
}
}
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_MAN
{
public class TargetConfig
{
/// <summary>
/// Nome eseguibile ( x kill e ricerca)
/// </summary>
public string ExeName { get; set; } = "";
/// <summary>
/// Path completo eseguibile
/// </summary>
public string ExePath { get; set; } = "";
/// <summary>
/// Folder dove sono presenti i log generati dall'eseguibile
/// </summary>
public string LogDir { get; set; } = "";
/// <summary>
/// Path file di conf NLog da gestire
/// </summary>
public string NLogPath { get; set; } = "";
}
}
+79
View File
@@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_MAN
{
public class TicketDTO
{
#region Public Properties
/// <summary>
/// Codice univoco della sub licenza (opzionale)
/// </summary>
public string codImpiego { get; set; } = "";
/// <summary>
/// Contatto email del cliente richiedente
/// </summary>
public string contactEmail { get; set; } = "";
/// <summary>
/// Contatto del cliente richiedente
/// </summary>
public string contactName { get; set; } = "";
/// <summary>
/// Contatto telefonico del cliente richiedente
/// </summary>
public string contactPhone { get; set; } = "";
public DateTime dtReq { get; set; } = DateTime.Now;
/// <summary>
/// IDX licenza master
/// </summary>
public int idxLic { get; set; } = 0;
/// <summary>
/// IDX licenza child (opzionale)
/// </summary>
public int idxSubLic { get; set; } = 0;
public int idxTicket { get; set; } = 0;
/// <summary>
/// Motivazione della richiesta
/// </summary>
public string reqBody { get; set; } = "";
/// <summary>
/// Stato richiesta
/// </summary>
public StatoRichiesta status { get; set; } = StatoRichiesta.ND;
/// <summary>
/// Risposta alla richiesta
/// </summary>
public string supplAnsw { get; set; } = "";
/// <summary>
/// Email del responsabile dell'azione (interno - supplier)
/// </summary>
public string supplEmail { get; set; } = "";
/// <summary>
/// Cod dell'user responsabile dell'azione (interno - supplier)
/// </summary>
public string supplUserCode { get; set; } = "";
/// <summary>
/// Tipologia di licenza gestita
/// </summary>
public TipoLicenza tipo { get; set; } = TipoLicenza.UserKey;
#endregion Public Properties
}
}
+16
View File
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_MAN
{
public class UploadResult
{
public bool Uploaded { get; set; }
public string FileName { get; set; } = "";
public string StoredFileName { get; set; } = "";
public int ErrorCode { get; set; }
}
}
+4
View File
@@ -0,0 +1,4 @@
# EgwProxy.Icoel
Impiegare il men&ugrave; laterale per navigare nel codice del progetto.
+6
View File
@@ -0,0 +1,6 @@
# Logica di funzionamento IOB-MAN:
L'applicazione, WinForm, deve essere avviata al login utente. Poi tramite il file di conf process.json saranno impostatio i vari IOB da avviare e verranno monitorati ed eventualmente riavviati qualora non stessero operando correttamente.
La comunicaizone tra IOB-MAN ed i vari IOB-WIN avviene attraverso scambio di informazioni su chiavi server REDIS locale.
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
#[Introduction](intro.md)
+68
View File
@@ -0,0 +1,68 @@
{
"metadata": [
{
"src": [
{
"files": [
"*.csproj"
],
"cwd": ".",
"exclude": [
"**/obj/**",
"**/bin/**",
"_site/**"
]
}
],
"dest": "obj/api"
}
],
"build": {
"content": [
{
"files": [
"api/**.yml"
],
"cwd": "obj"
},
{
"files": [
"api/*.md",
"articles/**.md",
"toc.yml",
"*.md"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"resource": [
{
"files": [
"images/**"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"overwrite": [
{
"files": [
"apidoc/**.md"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"dest": "_site",
"template": [
"default"
]
}
}
+11
View File
@@ -0,0 +1,11 @@
# IOB-MAN
Documentazione relativa all'applicativo IOB-MAN
## Articles
Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles
## Api
Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation
BIN
View File
Binary file not shown.
+235
View File
@@ -0,0 +1,235 @@
using System;
using System.ComponentModel;
namespace IOB_MAN
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
public class iobAdapt
{
/// <summary>
/// Costruttore base senza init speciali
/// </summary>
public iobAdapt() { }
/// <summary>
/// Costruttore con init redis
/// </summary>
/// <param name="codServer">Cod server con cui comunica</param>
/// <param name="codIob">Cod IOB gestito</param>
/// <param name="appNameExt">Nome app gestita (es IOB-WIN-NEXT)</param>
public iobAdapt(string codServer, string codIob, string appNameExt)
{
redisMan = new RedisIobCache(codServer, codIob, appNameExt);
}
#region Protected Fields
/// <summary>
/// Scadenza status IOB
/// </summary>
protected DateTime scadIobStatus = DateTime.Now;
#endregion Protected Fields
#region Public Fields
/// <summary>
/// Gestore processi redis
/// </summary>
public RedisIobCache redisMan;
#endregion Public Fields
#region Protected Properties
/// <summary>
/// Status iob corrente da RAM (se entro 1 sec) o da redis (se scaduto)
/// </summary>
protected IobWinStatus currIobStatus
{
get
{
IobWinStatus answ = new IobWinStatus();
if (scadIobStatus > DateTime.Now && lastIobStatus != null)
{
answ = lastIobStatus;
}
else
{
answ = redisMan.iobStatus;
lastIobStatus = answ;
scadIobStatus = DateTime.Now.AddSeconds(1);
}
return answ;
}
}
/// <summary>
/// Ultimo status IOB letto
/// </summary>
protected IobWinStatus lastIobStatus { get; set; }
protected DateTime lastSeen { get; set; } = DateTime.Now;
#endregion Protected Properties
#region Public Properties
/// <summary>
/// Codice univoco macchina
/// </summary>
[DisplayName("IOB")]
public string CodIOB { get; set; }
/// <summary>
/// Nome del target obj avviato
/// </summary>
[DisplayName("Prog")]
public string TgtName { get; set; }
/// <summary>
/// Tipo macchina/CNC/PLC
/// </summary>
[DisplayName("Tipo")]
public string IobType
{
get
{
return currIobStatus.IobType;
}
}
/// <summary>
/// Identificativo univoco processo
/// </summary>
[DisplayName("pid")]
public int pID { get; set; }
/// <summary>
/// DataOra avvio dell'IOB
/// </summary>
[DisplayName("Started")]
public DateTime startTime { get; set; } = DateTime.Now;
/// <summary>
/// Calcola uptime processo...
/// </summary>
[DisplayName("Uptime Total")]
public string uptime
{
get
{
// in primis cerco SE sia running --> aggiorno lastSeen
if (isRunning)
{
lastSeen = DateTime.Now;
}
TimeSpan uptime = lastSeen.Subtract(startTime);
return utils.FormatTimeSpan(uptime);
}
}
/// <summary>
/// Verifica se il processo sia in RUN
/// </summary>
[DisplayName("Run")]
public bool isRunning { get; set; }
/// <summary>
/// Determina se sia OK la comunicazione con il PLC, cioè non sia FERMO nella comunicazione per > 5 minuti
/// </summary>
[DisplayName("PlcOk")]
public bool plcOk
{
get
{
DateTime adesso = DateTime.Now;
bool plcOnline = Math.Abs(adesso.Subtract(currIobStatus.lastDataIn).TotalSeconds) < 300;
return plcOnline;
}
}
/// <summary>
/// Stato online dell'IOB (rispetto server MP-IO)
/// </summary>
[DisplayName("Online")]
public bool iobOnline
{
get
{
return currIobStatus.online;
}
}
/// <summary>
/// Counter dell'IOB
/// </summary>
[DisplayName("pz.IOB")]
public int iobCounter
{
get
{
return (int)currIobStatus.counterIOB;
}
}
/// <summary>
/// Counter del CNC
/// </summary>
[DisplayName("pz.CNC")]
public int cncCounter
{
get
{
return (int)currIobStatus.counterMAC;
}
}
/// <summary>
/// lunghezza coda EVENTI
/// </summary>
[DisplayName("# EV")]
public int queueElLen
{
get
{
return currIobStatus.queueEvLen;
}
}
/// <summary>
/// lunghezza coda FLog
/// </summary>
[DisplayName("# FL")]
public int queueFlLen
{
get
{
return currIobStatus.queueFlLen;
}
}
/// <summary>
/// Ultima data-ora di comunicazione calida con PLC
/// </summary>
[DisplayName("Last PLC read")]
public DateTime lastPlcRead
{
get
{
return currIobStatus.lastDataIn;
}
}
/// <summary>
/// Nome dell'EXE avviato
/// </summary>
[DisplayName("Exe")]
public string ExeName { get; set; }
#endregion Public Properties
}
}
+1
View File
@@ -0,0 +1 @@

+1
View File
@@ -0,0 +1 @@

+49
View File
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AWSSDK.Core" version="3.7.400.64" targetFramework="net462" />
<package id="AWSSDK.SecurityToken" version="3.7.401.13" targetFramework="net462" />
<package id="DnsClient" version="1.8.0" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2411.518" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.2" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="8.0.2" targetFramework="net462" />
<package id="Microsoft.Win32.Registry" version="5.0.0" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.21.0" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.21.0" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.21.0" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.8.0" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.3.4" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="PrettyBin" version="1.1.0" targetFramework="net461" />
<package id="RestSharp" version="106.15.0" targetFramework="net462" />
<package id="RestSharp.Serializers.NewtonsoftJson" version="106.15.0" targetFramework="net462" />
<package id="SharpCompress" version="0.38.0" targetFramework="net462" />
<package id="SharpZipLib" version="1.4.2" targetFramework="net462" />
<package id="Snappier" version="1.1.6" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.22" targetFramework="net462" />
<package id="SteamWare.IO" version="5.3.2311.2908" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.3.2311.2908" targetFramework="net462" />
<package id="SteamWare.Scheduler" version="5.3.2311.2908" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="8.0.1" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="8.0.1" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="8.0.0" targetFramework="net462" />
<package id="System.Memory" version="4.6.0" targetFramework="net462" />
<package id="System.Net.Http" version="4.3.4" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net462" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net461" />
<package id="System.Security.AccessControl" version="6.0.1" targetFramework="net462" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net462" />
<package id="System.Security.Principal.Windows" version="5.0.0" targetFramework="net462" />
<package id="System.Text.Encoding.CodePages" version="8.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="8.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.6.0" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
<package id="ZstdSharp.Port" version="0.8.4" targetFramework="net462" />
</packages>
+52
View File
@@ -0,0 +1,52 @@
@echo off
echo Inizio processing After Build: configurazione %1 , directory %2
if %1 == "Release" goto ReleaseExec
if %1 == Release goto ReleaseExec
if %1 == "Debug" goto DebugExec
if %1 == Debug goto DebugExec
if %1 == "Remote_DEBUG" goto RemoteDebugExec
if %1 == Remote_DEBUG goto RemoteDebugExec
:ReleaseExec
echo Release processing...
goto END
:DebugExec
echo Debug processing...
REM copia script verso server remoto
REM ROBOCOPY . \\10.150.0.1\Steamware\IOB-WIN-NEXT-DEB /MIR
goto END
:RemoteDebugExec
echo Remote_DEBUG processing, effettuo copia script verso server remoto (ROBOCOPY)
REM FINASSI
REM ROBOCOPY %2 \\10.150.0.1\Steamware\IOB-WIN-NEXT-DEB /MIR
REM Baglietto
REM ROBOCOPY %2 \\192.168.60.15\Steamware\IOB-WIN-NEXT-DEB /MIR
REM GIACOVELLI LOCOROTONDO
REM ROBOCOPY %2 \\192.168.1.93\Steamware\IOB-WIN-NEXT-DEB /MIR
REM IMI Remosa
REM ROBOCOPY %2 \\192.168.0.12\Steamware\IOB-WIN-NEXT-DEB /MIR
REM IOB-WIN-SIM
echo Step3: ROBOCOPY %2 \\IOB-WIN-SIMULA\Steamware\IOB-MAN-DEB /MIR /XD CONF
ROBOCOPY %2 \\IOB-WIN-SIMULA\Steamware\IOB-MAN-DEB /MIR /XD CONF
REM IOBVPN4MACHINE
REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR
REM ROBOCOPY %2 \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR /log:RobocopyTransfer.log
REM ROBOCOPY %2 Z:\IOB-WIN-NEXT-DEB /MIR
REM ROBOCOPY %2 \\10.51.90.9\Steamware\IOB-WIN-NEXT-DEB /MIR
REM ROBOCOPY %2 \\10.51.90.10\Steamware\IOB-WIN-NEXT-DEB /MIR
goto END
:END
echo Fatto!
+1
View File
@@ -0,0 +1 @@

+6
View File
@@ -0,0 +1,6 @@
- name: Articles
href: articles/
- name: API Documentation
href: obj/api/
homepage: api/index.md
+197
View File
@@ -0,0 +1,197 @@
using NLog;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
namespace IOB_MAN
{
public class utils
{
#region logging
/// <summary>
/// Classe logger
/// </summary>
public static Logger lg = LogManager.GetCurrentClassLogger();
/// <summary>
/// Effettua logging INFO corretto impostanto anche la variabile IOB prima di scrivere...
/// </summary>
/// <param name="txt2log"></param>
public static void lgInfo(string txt2log)
{
lg.Factory.Configuration.Variables["codApp"] = "IOB-MAN";
lg.Info(txt2log);
}
/// <summary>
/// Effettua logging ERROR corretto impostanto anche la variabile IOB prima di scrivere...
/// </summary>
/// <param name="txt2log"></param>
public static void lgError(string txt2log)
{
lg.Factory.Configuration.Variables["codApp"] = "IOB-MAN";
lg.Error(txt2log);
}
#endregion
/// <summary>
/// Helper formattazione durata human readable
/// </summary>
/// <param name="timeSpan"></param>
/// <param name="textMode">textMode = come linguaggio scritto</param>
/// <returns></returns>
public static string FormatTimeSpan(TimeSpan timeSpan, bool textMode = false)
{
if (textMode)
{
//Func<Tuple<int, string>, string> tupleFormatter = t => $"{t.Item1} {t.Item2}{(t.Item1 == 1 ? string.Empty : "s")}";
//Func<Tuple<int, string>, string> tupleFormatter = t => $"{t.Item1}{t.Item2}";
Func<Tuple<int, string>, string> tupleFormatter = t => $"{t.Item1} {(t.Item1 == 1 ? t.Item2 : t.Item2.Replace("giorno", "giorni").Replace("ora", "ore"))}";
var components = new List<Tuple<int, string>>
{
Tuple.Create((int) timeSpan.TotalDays, "giorno"),
Tuple.Create(timeSpan.Hours, "ora"),
Tuple.Create(timeSpan.Minutes, "min"),
Tuple.Create(timeSpan.Seconds, "sec"),
};
components.RemoveAll(i => i.Item1 == 0);
string extra = "";
if (components.Count > 1)
{
var finalComponent = components[components.Count - 1];
components.RemoveAt(components.Count - 1);
extra = $" e {tupleFormatter(finalComponent)}";
}
return $"{string.Join(", ", components.Select(tupleFormatter))}{extra}";
}
else
{
//Func<Tuple<int, string>, string> tupleFormatter = t => $"{t.Item1} {t.Item2}{(t.Item1 == 1 ? string.Empty : "s")}";
//Func<Tuple<int, string>, string> tupleFormatter = t => $"{t.Item1}{t.Item2}";
Func<Tuple<int, string>, string> tupleFormatter = t => $"{t.Item1:00}";
var components = new List<Tuple<int, string>>
{
Tuple.Create((int) timeSpan.TotalDays, "g"),
Tuple.Create(timeSpan.Hours, ""),
Tuple.Create(timeSpan.Minutes, ""),
Tuple.Create(timeSpan.Seconds, ""),
};
//components.RemoveAll(i => i.Item1 == 0);
return $"{string.Join(":", components.Select(tupleFormatter))}";
}
}
#region utils gestione IP/Hostname
public static string machineName
{
get
{
return Dns.GetHostName();
}
}
public static List<string> machineIp
{
get
{
List<string> ipList = new List<string>();
try
{
IPAddress[] ipAddresses = Dns.GetHostAddresses(machineName);
foreach (var ip in ipAddresses)
{
ipList.Add($"{ip}");
}
}
catch (Exception exc)
{
// Machine not found...
lgError($"Eccezione in recupero MachineIp{Environment.NewLine}{exc}");
}
return ipList;
}
}
#endregion
#region utils lettura app.config
/// <summary>
/// legge conf in formato char
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static char CRC(string key)
{
char answ = '-';
try
{
answ = ConfigurationManager.AppSettings[key].ToCharArray()[0];
}
catch
{ }
return answ;
}
/// <summary>
/// legge conf in formato stringa
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string CRS(string key)
{
string answ = "";
try
{
answ = ConfigurationManager.AppSettings[key].ToString();
}
catch
{ }
return answ;
}
/// <summary>
/// legge conf in formato INT
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static Int32 CRI(string key)
{
int answ = 0;
try
{
answ = Convert.ToInt32(CRS(key));
}
catch
{ }
return answ;
}
/// <summary>
/// legge conf in formato BOOLean
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static bool CRB(string key)
{
bool answ = false;
try
{
answ = Convert.ToBoolean(CRS(key));
}
catch
{ }
return answ;
}
#endregion
}
}
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0"?>
<package >
<metadata>
<id>IobManComm</id>
<version>0.9.2210.2716</version>
<title>$title$</title>
<authors>S.E. Locatelli</authors>
<owners>Egalware</owners>
<description>IOB-MAN communication library</description>
<releaseNotes>First nuget release of the package.</releaseNotes>
<copyright>Copyright 2022</copyright>
<tags>IOB IOB-MAN</tags>
</metadata>
<files>
<file src="IobManComm\bin\Release\*.dll" target="lib" />
<file src="IobManComm\bin\Release\*.config" target="lib" />
</files>
</package>
+104
View File
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{FEC10BD2-65A7-4FD3-B59C-8200BF80AB51}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>IobManComm</RootNamespace>
<AssemblyName>IobManComm</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.13\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.2\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.6.70\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.5.0.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Threading.Channels, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="baseUtils.cs" />
<Compile Include="IobWinStatus.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="RedisWatchDog.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
+191
View File
@@ -0,0 +1,191 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IobManComm
{
/// <summary>
/// Rappresentazione dello stato corrente dell'IOB
/// </summary>
public class IobWinStatus
{
#region Public Properties
/// <summary>
/// ID univoco
/// </summary>
public string CodIob { get; set; } = "0";
/// <summary>
/// Contatore IOB
/// </summary>
public float counterIOB { get; set; } = 0;
/// <summary>
/// Contatore Macchina
/// </summary>
public float counterMAC { get; set; } = 0;
/// <summary>
/// Ultimo stato noto dei parametri in memoria letti dalla macchina
/// </summary>
public Dictionary<string, string> currParams { get; set; } = new Dictionary<string, string>();
/// <summary>
/// Note (libere) da child a controller
/// </summary>
public string freeNotes { get; set; } = "";
/// <summary>
/// Tipo IOB
/// </summary>
public string IobType { get; set; } = "";
/// <summary>
/// DataOra ultima comunicazione IN (con PLC)
/// </summary>
public DateTime lastDataIn { get; set; } = DateTime.Now.AddMinutes(-1);
/// <summary>
/// DataOra ultima comunicazione OUT (con MP Server)
/// </summary>
public DateTime lastDataOut { get; set; } = DateTime.Now.AddDays(-1);
/// <summary>
/// DataOra ultima comunicazione OUT (con MP Server)
/// </summary>
public DateTime lastUpdate { get; set; } = DateTime.Now.AddDays(-1);
/// <summary>
/// Valore minimo da considerare come delta secondi x indicare variazione sui dati temporali
/// </summary>
public int minDeltaSec { get; set; } = 5;
/// <summary>
/// Status del SINGOLO IOB
/// </summary>
public bool online { get; set; } = false;
/// <summary>
/// Lungh coda ALLARMI in uscita
/// </summary>
public int queueAlLen { get; set; } = 0;
/// <summary>
/// Lunghezza coda EVENTI in uscita
/// </summary>
public int queueEvLen { get; set; } = 0;
/// <summary>
/// Lunghezza coda FluxLog in uscita
/// </summary>
public int queueFlLen { get; set; } = 0;
/// <summary>
/// Lungh coda MESSAGGI in uscita
/// </summary>
public int queueMsLen { get; set; } = 0;
/// <summary>
/// Lungh coda UserLog in uscita
/// </summary>
public int queueRawTransfLen { get; set; } = 0;
/// <summary>
/// Lungh coda UserLog in uscita
/// </summary>
public int queueUlLen { get; set; } = 0;
/// <summary>
/// Semaforo IN (IOB-Macchina)
/// </summary>
public string semIn { get; set; } = "ND";
/// <summary>
/// Semaforo OUT (IOB-MPServer)
/// </summary>
public string semOut { get; set; } = "ND";
/// <summary>
/// Parametri configurazione (es IP target, porta, ...)
/// </summary>
public Dictionary<string, string> setupParams { get; set; } = new Dictionary<string, string>();
#endregion Public Properties
#region Public Methods
/// <summary>
/// Override metodo di equality
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public override bool Equals(object obj)
{
if (!(obj is IobWinStatus item))
return false;
if (online != item.online)
return false;
// controllo se sia ALMENO 10 sec...
if (lastUpdate != item.lastUpdate)
{
if (lastUpdate.Subtract(item.lastUpdate).TotalSeconds > minDeltaSec)
return false;
}
// controllo se sia ALMENO 3 sec...
if (lastDataIn != item.lastDataIn)
{
if (lastDataIn.Subtract(item.lastDataIn).TotalSeconds > minDeltaSec)
return false;
}
// controllo se sia ALMENO 5 sec...
if (lastDataOut != item.lastDataOut)
{
if (lastDataOut.Subtract(item.lastDataOut).TotalSeconds > minDeltaSec)
return false;
}
if (semIn != item.semIn)
return false;
if (semOut != item.semOut)
return false;
//if (!currParams.Equals(item.currParams))
// return false;
if (counterIOB != item.counterIOB)
return false;
if (counterMAC != item.counterMAC)
return false;
if (queueAlLen != item.queueAlLen)
return false;
if (queueEvLen != item.queueEvLen)
return false;
if (queueFlLen != item.queueFlLen)
return false;
if (queueMsLen != item.queueMsLen)
return false;
if (queueRawTransfLen != item.queueRawTransfLen)
return false;
if (queueUlLen != item.queueUlLen)
return false;
if (freeNotes != item.freeNotes)
return false;
//if (setupParams != item.setupParams)
// return false;
if (IobType != item.IobType)
return false;
if (CodIob != item.CodIob)
return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
#endregion Public Methods
}
}
+36
View File
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("IobManComm")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("IobManComm")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("fec10bd2-65a7-4fd3-b59c-8200bf80ab51")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
File diff suppressed because it is too large Load Diff
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
+121
View File
@@ -0,0 +1,121 @@
using NLog;
using System;
using System.Linq;
using System.Net;
using System.Net.NetworkInformation;
namespace IobManComm
{
public class baseUtils
{
#region Public Fields
/// <summary>
/// Indicazione VETO PING a server sino alla data-ora indicata
/// </summary>
public static DateTime dtVetoPing = DateTime.Now;
/// <summary>
/// Indicazione VETO invio a server sino alla data-ora indicata
/// </summary>
public static DateTime dtVetoSend = DateTime.Now;
/// <summary>
/// Status IOB
/// </summary>
public static bool IOB_Online = false;
/// <summary>
/// Classe logger
/// </summary>
public static Logger lg = LogManager.GetCurrentClassLogger();
/// <summary>
/// Status MP_IO
/// </summary>
public static bool MPIO_Online = false;
#endregion Public Fields
#region Public Methods
/// <summary>
/// IP della macchina
/// </summary>
/// <returns></returns>
public static string GetIP()
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
String sIpAddr = string.Empty;
try
{
foreach (NetworkInterface adapter in nics)
{
if (sIpAddr == String.Empty)// only return IP Address from first card
{
IPInterfaceProperties properties = adapter.GetIPProperties();
foreach (var item in properties.UnicastAddresses)
{
if (item.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
sIpAddr = item.Address.ToString();
}
}
}
}
}
catch (Exception exc)
{
lg.Error(exc);
}
return sIpAddr;
}
/// <summary>
/// Macaddress della macchina
/// </summary>
/// <returns></returns>
public static string GetMACAddress()
{
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
String sMacAddress = string.Empty;
foreach (NetworkInterface adapter in nics)
{
if (sMacAddress == String.Empty)// only return MAC Address from first card
{
IPInterfaceProperties properties = adapter.GetIPProperties();
//sMacAddress = adapter.GetPhysicalAddress().ToString();
sMacAddress = string.Join(":", (from z in adapter.GetPhysicalAddress().GetAddressBytes() select z.ToString("X2")).ToArray());
}
}
return sMacAddress;
}
/// <summary>
/// Test ping x indirizzo indicato
/// </summary>
/// <param name="address"></param>
/// <returns></returns>
public static bool pingAddress(IPAddress address)
{
bool answ = false;
try
{
Ping pingSender = new Ping();
PingReply reply = pingSender.Send(address, 100);
// se passa il ping do OK...
if (reply.Status == IPStatus.Success)
{
answ = true;
}
}
catch (Exception exc)
{
lg.Error(exc);
}
return answ;
}
#endregion Public Methods
}
}
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net462" />
<package id="NLog" version="4.7.13" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.2" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.6.70" targetFramework="net462" />
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="5.0.0" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="5.0.1" targetFramework="net462" />
<package id="System.Memory" version="4.5.4" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net462" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
</packages>
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib;libs" />
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<probing privatePath="lib;libs" xmlns="" />
</assemblyBinding>
</runtime>
</configuration>
+78
View File
@@ -0,0 +1,78 @@
using IobManComm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IobManComm
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("-------------------------");
Console.WriteLine("Starting console IOB-MAN client");
Console.WriteLine("-------------------------");
/*-----------------
nome dell'istanza corrente, con cui viene invocato il programma
es: consoleApp.exe SERIAL_TEST_01
--> leggerà il file di conf SERIAL_TEST_01.ini
*/
int idx = 0;
foreach (var item in args)
{
Console.WriteLine($"Args[{idx}]: {item}");
idx++;
}
string codIob = "SERIAL_TEST_01";
if (args != null && args.Length > 0)
{
codIob = args[0];
}
// valori da recuperare da ini... che dovranno corrispondere nel programma che fa partire il sw
string tipoIob = "SERIAL";
string appName = "CVSER";
int redisDb = 14; // 14 è normalmente libero... valori ammessi 0..15)
int minSecDelta = 1; // periodo minimo x considerare il dato variato da aprte del server
DateTime adesso = DateTime.Now;
// preparo oggetto x gestione WathDog
var rwd = new RedisWatchDog(codIob, tipoIob, appName, redisDb, minSecDelta);
// oggetto di status che si impiega come watchdog, popolati solo i dati importanti
var currStatus = rwd.iobStatus;
currStatus.freeNotes = "starting";
currStatus.online = false;
rwd.iobStatus = currStatus;
Console.WriteLine("Premi enter x continuare");
Console.ReadLine();
// aggiorno info
Console.WriteLine("Press ESC to stop");
int count = 0;
do
{
while (!Console.KeyAvailable)
{
// Do something
Task.Delay(1000).Wait();
count++;
adesso = DateTime.Now;
// aggiorno valori, ad esempio IN da macchina, OUT verso macchina? last update = ultima comunicazione?
currStatus.lastDataIn = adesso.AddSeconds(-3);
currStatus.lastDataOut = adesso.AddSeconds(-2);
currStatus.lastUpdate = adesso;
currStatus.online = true;
// note libere x indicare ultimo task?
currStatus.freeNotes = $"Conteggio: {count}";
// invio update
rwd.iobStatus = currStatus;
Console.WriteLine($"Clock: {DateTime.Now}");
}
} while (Console.ReadKey(true).Key != ConsoleKey.Escape);
}
}
}
+36
View File
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("TestClientMan")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("TestClientMan")]
[assembly: AssemblyCopyright("Copyright © 2022")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("533b1f01-3061-4105-ba7f-adaa72a74c2c")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
+88
View File
@@ -0,0 +1,88 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{533B1F01-3061-4105-BA7F-ADAA72A74C2C}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>TestClientMan</RootNamespace>
<AssemblyName>TestClientMan</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ManifestCertificateThumbprint>2CB830E0BBE2ECC2D39853F43C7A4CE0228D6401</ManifestCertificateThumbprint>
</PropertyGroup>
<PropertyGroup>
<ManifestKeyFile>TestClientMan_TemporaryKey.pfx</ManifestKeyFile>
</PropertyGroup>
<PropertyGroup>
<GenerateManifests>true</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<SignManifests>true</SignManifests>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\IobManComm\IobManComm.csproj">
<Project>{fec10bd2-65a7-4fd3-b59c-8200bf80ab51}</Project>
<Name>IobManComm</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.6.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="AfterBuild">
<ItemGroup>
<MoveToLibFolder Include="$(OutputPath)*.dll ; $(OutputPath)*.pdb ; $(OutputPath)*.xml" />
</ItemGroup>
<Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
</Target>
</Project>
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
+82
View File
@@ -0,0 +1,82 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.chkOnline = New System.Windows.Forms.CheckBox()
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
Me.txtConf = New System.Windows.Forms.TextBox()
Me.Label1 = New System.Windows.Forms.Label()
Me.SuspendLayout()
'
'chkOnline
'
Me.chkOnline.AutoSize = True
Me.chkOnline.Location = New System.Drawing.Point(67, 72)
Me.chkOnline.Name = "chkOnline"
Me.chkOnline.Size = New System.Drawing.Size(54, 17)
Me.chkOnline.TabIndex = 0
Me.chkOnline.Text = "online"
Me.chkOnline.UseVisualStyleBackColor = True
'
'Timer1
'
Me.Timer1.Interval = 1000
'
'txtConf
'
Me.txtConf.Location = New System.Drawing.Point(67, 38)
Me.txtConf.Name = "txtConf"
Me.txtConf.Size = New System.Drawing.Size(100, 20)
Me.txtConf.TabIndex = 1
Me.txtConf.Text = "demo_file.ini"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(17, 41)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(44, 13)
Me.Label1.TabIndex = 2
Me.Label1.Text = "conf file"
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.txtConf)
Me.Controls.Add(Me.chkOnline)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents chkOnline As CheckBox
Friend WithEvents Timer1 As Timer
Friend WithEvents txtConf As TextBox
Friend WithEvents Label1 As Label
End Class
+123
View File
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
+63
View File
@@ -0,0 +1,63 @@
Imports IobManComm
Public Class Form1
Protected rwd As RedisWatchDog
Protected count As Integer
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
' preparo update sul canale di comunicazione
Dim adesso As Date = Date.Now
Dim currStatus As New IobWinStatus
currStatus = rwd.iobStatus
' aggiorno valori, ad esempio IN da macchina, OUT verso macchina? last update = ultima comunicazione?
currStatus.lastDataIn = adesso.AddSeconds(-3)
currStatus.lastDataOut = adesso.AddSeconds(-2)
currStatus.lastUpdate = adesso
currStatus.online = chkOnline.Checked
' note libere x indicare ultimo task?
currStatus.freeNotes = $"Conteggio: {count}"
' salvo e invio
rwd.iobStatus = currStatus
count = count + 1
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' avvio i componenti...
' tipicamente è il primo arg con cui sia vvia il sw
Dim codIob As String = "demo_conf"
txtConf.Text = codIob + ".ini"
' valori da recuperare da ini... che dovranno corrispondere nel programma che fa partire il sw
Dim tipoIob As String = "SERIAL"
Dim appName As String = "CVSER"
' 14 è normalmente libero... valori ammessi 0..15)
Dim redisDb As Integer = 14
' periodo minimo x considerare il dato variato da parte del server
Dim minSecDelta As Integer = 1
Dim adesso As Date = Date.Now
'' preparo oggetto x gestione WathDog
rwd = New RedisWatchDog(codIob, tipoIob, appName, redisDb, minSecDelta)
Dim currStatus As New IobWinStatus
currStatus = rwd.iobStatus
currStatus.freeNotes = "starting"
currStatus.online = False
' salvo e invio
rwd.iobStatus = currStatus
' avvio il timer
Timer1.Start()
End Sub
End Class
+38
View File
@@ -0,0 +1,38 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
'NOTE: This file is auto-generated; do not modify it directly. To make changes,
' or if you encounter build errors in this file, go to the Project Designer
' (go to Project Properties or double-click the My Project node in
' Solution Explorer), and make changes on the Application tab.
'
Partial Friend Class MyApplication
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
Me.EnableVisualStyles = true
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.TestClientVB.Form1
End Sub
End Class
End Namespace
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>true</MySubMain>
<MainForm>Form1</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>0</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>
+35
View File
@@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' General Information about an assembly is controlled through the following
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.
' Review the values of the assembly attributes
<Assembly: AssemblyTitle("TestClientVB")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("")>
<Assembly: AssemblyProduct("TestClientVB")>
<Assembly: AssemblyCopyright("Copyright © 2022")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("36d58db3-ba65-40bd-a181-8e67062f4d27")>
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
+62
View File
@@ -0,0 +1,62 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My.Resources
'This class was auto-generated by the StronglyTypedResourceBuilder
'class via a tool like ResGen or Visual Studio.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
'''<summary>
''' A strongly-typed resource class, for looking up localized strings, etc.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' Returns the cached ResourceManager instance used by this class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("TestClientVB.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set(ByVal value As Global.System.Globalization.CultureInfo)
resourceCulture = value
End Set
End Property
End Module
End Namespace
+117
View File
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+73
View File
@@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' This code was generated by a tool.
' Runtime Version:4.0.30319.42000
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
#Region "My.Settings Auto-Save Functionality"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As MySettings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
If Not addedHandler Then
AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
addedHandler = True
End If
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.TestClientVB.My.MySettings
Get
Return Global.TestClientVB.My.MySettings.Default
End Get
End Property
End Module
End Namespace
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
+172
View File
@@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F8C3D948-DADA-49EE-9697-54A4B63FD5DE}</ProjectGuid>
<OutputType>WinExe</OutputType>
<StartupObject>TestClientVB.My.MyApplication</StartupObject>
<RootNamespace>TestClientVB</RootNamespace>
<AssemblyName>TestClientVB</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>TestClientVB.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>TestClientVB.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="IobManComm, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\IobManComm.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\NLog.dll</HintPath>
</Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.IO.Compression.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\IobManComm.0.9.2210.2716\lib\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Drawing" />
<Import Include="System.Diagnostics" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.vb">
<DependentUpon>Form1.vb</DependentUpon>
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="IobManComm" version="0.9.2210.2716" targetFramework="net462" />
</packages>