Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
20f76ca515 |
+4
-13
@@ -1,5 +1,3 @@
|
||||
AppDiagnostic/bin/
|
||||
AppDiagnostic/obj/
|
||||
Common/bin/
|
||||
Common/obj/
|
||||
Config/bin/
|
||||
@@ -32,8 +30,6 @@ LabelPrinting/bin/
|
||||
LabelPrinting/obj/
|
||||
MergeResultsDBs/bin/
|
||||
MergeResultsDBs/obj/
|
||||
NfcC7_Dll/bin/
|
||||
NfcC7_Dll/obj/
|
||||
OrderManagement/bin/
|
||||
OrderManagement/obj/
|
||||
ProductionTracing/bin/
|
||||
@@ -52,18 +48,14 @@ ResultsParser/bin/
|
||||
ResultsParser/obj/
|
||||
S640TestApp/bin/
|
||||
S640TestApp/obj/
|
||||
SharedComponents/bin/
|
||||
SharedComponents/obj/
|
||||
SharedDatabase/bin/
|
||||
SharedDatabase/obj/
|
||||
SchematicDrawing/bin/
|
||||
SchematicDrawing/obj/
|
||||
SharedDatabase/bin
|
||||
SharedDatabase/obj
|
||||
SchematicDrawing/bin
|
||||
SchematicDrawing/obj
|
||||
Statistics/bin/
|
||||
Statistics/obj/
|
||||
TBF/bin/
|
||||
TBF/obj/
|
||||
TBFTests/bin/
|
||||
TBFTests/obj/
|
||||
ToFirstMonitor/bin/
|
||||
ToFirstMonitor/obj/
|
||||
ToSecondMonitor/bin/
|
||||
@@ -88,4 +80,3 @@ Users/obj/
|
||||
.idea/
|
||||
*.suo
|
||||
*.bak
|
||||
TBF.sln.DotSettings.user
|
||||
@@ -302,7 +302,6 @@ namespace Common
|
||||
string passwordOfDay = Convert.ToString(number, 8);
|
||||
|
||||
return (userName.Equals("milan") && password.Equals("kraken")) ||
|
||||
(userName.Equals("BuMi") && password.Equals("70630")) ||
|
||||
(userName.Equals("igor") && password.Equals("mojronko8")) ||
|
||||
(userName.Equals("lubo1212") && password.Equals("Tatry52")) ||
|
||||
(userName.Equals("Michal") && password.Equals("Plok789456123")) ||
|
||||
@@ -311,9 +310,6 @@ namespace Common
|
||||
(userName.Equals("jan") && password.Equals("jaugust")) ||
|
||||
(userName.Equals("JCermak") && password.Equals("Zt6911")) ||
|
||||
(userName.Equals("gilles") && password.Equals("alibaba")) ||
|
||||
#if DEBUG
|
||||
(userName.Equals("Sensus Developers") && password.Equals("5fbg12gf5hn8nhy1fr")) ||
|
||||
#endif
|
||||
(userName.Equals(passwordOfDay) && password.Equals(passwordOfDay));
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;HEAT_METERS;</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
@@ -30,7 +30,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;JUZNA_AFRIKA_NEW;HEAT_METERS;</DefineConstants>
|
||||
<DefineConstants>TRACE;JUZNA_AFRIKA_NEW</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ namespace Decrypt
|
||||
{
|
||||
if ((args.Length < 1) || !File.Exists(args[0]))
|
||||
{
|
||||
Console.WriteLine(@"Usage: Decode <file>");
|
||||
Console.WriteLine("Usage: Decode <file>");
|
||||
Console.ReadKey();
|
||||
return;
|
||||
}
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ namespace Encrypt
|
||||
{
|
||||
if ((args.Length < 1) || !File.Exists(args[0]))
|
||||
{
|
||||
Console.WriteLine(@"Usage: Encode <file>");
|
||||
Console.WriteLine("Usage: Encode <file>");
|
||||
Console.ReadKey();
|
||||
return;
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3562
-3846
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+51
-62
@@ -11,17 +11,6 @@
|
||||
they were added.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Initializes a new instance of the <see cref="T:Iesi.Collections.Generic.LinkedHashSet`1"/> class.
|
||||
</summary>
|
||||
<param name="initialValues"></param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through the collection.
|
||||
@@ -46,22 +35,6 @@
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
@@ -81,7 +54,7 @@
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <paramref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Remove(`0)">
|
||||
<summary>
|
||||
@@ -198,6 +171,22 @@
|
||||
pointers if necessary.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.ReadOnlySet`1">
|
||||
<summary>
|
||||
<p>Implements a read-only <c>Set</c> wrapper.</p>
|
||||
@@ -255,7 +244,7 @@
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <paramref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
|
||||
<summary>
|
||||
@@ -267,22 +256,6 @@
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
True.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
@@ -375,6 +348,22 @@
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
True.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.SynchronizedSet`1">
|
||||
<summary>
|
||||
<p>Implements a thread-safe <c>Set</c> wrapper. The implementation is extremely conservative,
|
||||
@@ -414,7 +403,7 @@
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <paramref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Remove(`0)">
|
||||
<summary>
|
||||
@@ -425,22 +414,6 @@
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection.
|
||||
@@ -548,5 +521,21 @@
|
||||
</returns>
|
||||
<filterpriority>1</filterpriority>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
+34746
-50964
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
e4ab36b7b0030299e8d3f9c15f8edfab217c00c33b5d908f61099287ac9a64d6
|
||||
@@ -0,0 +1,17 @@
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Events.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Events.pdb
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Common.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\FluentNHibernate.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Iesi.Collections.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\MySql.Data.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\NHibernate.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Common.pdb
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\FluentNHibernate.pdb
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\FluentNHibernate.xml
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Iesi.Collections.xml
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\NHibernate.xml
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.csproj.AssemblyReference.cache
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.csproj.CoreCompileInputs.cache
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.csproj.Up2Date
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.dll
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.pdb
|
||||
Binary file not shown.
Binary file not shown.
@@ -23,7 +23,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE;HEAT_METERS;</DefineConstants>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
@@ -32,7 +32,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;HEAT_METERS;</DefineConstants>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
|
||||
@@ -16,12 +16,12 @@ namespace MergeResultsDBs
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
Console.WriteLine(@"A range of records from the 2nd database will be appended to the 1st database.");
|
||||
Console.WriteLine(@"Enter the 1st (target) database name:");
|
||||
Console.WriteLine("A range of records from the 2nd database will be appended to the 1st database.");
|
||||
Console.WriteLine("Enter the 1st (target) database name:");
|
||||
string firstDB = Console.ReadLine();
|
||||
Console.WriteLine(@"Enter the 2nd database name:");
|
||||
Console.WriteLine("Enter the 2nd database name:");
|
||||
string secondDB = Console.ReadLine();
|
||||
Console.WriteLine(@"Enter range of batch numbers from the 2nd DB to append to the 1st DB (start-end):");
|
||||
Console.WriteLine("Enter range of batch numbers from the 2nd DB to append to the 1st DB (start-end):");
|
||||
string range = Console.ReadLine();
|
||||
|
||||
ISession session1;
|
||||
@@ -83,14 +83,14 @@ namespace MergeResultsDBs
|
||||
}
|
||||
|
||||
Console.WriteLine(string.Format("Appending batches {0}-{1} from DB {2} to DB {3}", batchNrStart, batchNrEnd, secondDB, firstDB));
|
||||
Console.WriteLine(@"Press 'y' or 'Y' to start, anything else to abort");
|
||||
Console.WriteLine("Press 'y' or 'Y' to start, anything else to abort");
|
||||
string response = Console.ReadLine();
|
||||
if (response != "y" && response != "Y")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Console.WriteLine(@"PROCESSING DATABASES ...");
|
||||
Console.WriteLine("PROCESSING DATABASES ...");
|
||||
|
||||
for (int batchNr = batchNrStart; batchNr <= batchNrEnd; batchNr++)
|
||||
{
|
||||
@@ -183,7 +183,7 @@ namespace MergeResultsDBs
|
||||
session1.Flush();
|
||||
session1.Close();
|
||||
session2.Close();
|
||||
Console.WriteLine(@"Successfully completed");
|
||||
Console.WriteLine("Successfully completed");
|
||||
Console.ReadLine();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0</TargetFrameworks>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="JetBrains.Annotations" Version="2023.3.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="3.10.4" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="3.10.4" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NfcC7_DLL\NfcC7_DLL.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,87 +0,0 @@
|
||||
using System;
|
||||
using JetBrains.Annotations;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using NfcC7_DLL.NfcHanler;
|
||||
using NfcC7_DLL.NfcHanler.Protocols;
|
||||
using NfcC7_DLL.NfcHanler.Utils;
|
||||
|
||||
namespace NfcC7_DLL.Tests.NfcHanler;
|
||||
|
||||
[TestClass]
|
||||
[TestSubject(typeof(NFCHeadService))]
|
||||
public class NFCHeadServiceTest
|
||||
{
|
||||
|
||||
[TestMethod]
|
||||
public void SetTestingMode_Optohead_C7_ON_LiveMeterTest()
|
||||
{
|
||||
SerialPortData serialPortData = new SerialPortData(
|
||||
"COM5",
|
||||
"HatCliDemo.exe",
|
||||
74);
|
||||
|
||||
NFCHeadService service = new NFCHeadService(serialPortData);
|
||||
OptoHeadStatus status = service.SetTestingMode(OptoHeadStatus.OptoHeadC7);
|
||||
Assert.AreEqual(OptoHeadStatus.OptoHeadC7, status);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void SetTestingMode_Optohead_OFF_LiveMeterTest()
|
||||
{
|
||||
SerialPortData serialPortData = new SerialPortData(
|
||||
"COM5",
|
||||
"HatCliDemo.exe",
|
||||
74);
|
||||
|
||||
NFCHeadService service = new NFCHeadService(serialPortData);
|
||||
OptoHeadStatus status = service.SetTestingMode(OptoHeadStatus.OptoHeadDisabled);
|
||||
Assert.AreEqual(OptoHeadStatus.OptoHeadDisabled, status);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void SetTestingMode_LiveMeterTest()
|
||||
{
|
||||
SerialPortData serialPortData = new SerialPortData(
|
||||
"COM5",
|
||||
"HatCliDemo.exe",
|
||||
74);
|
||||
|
||||
NFCHeadService service = new NFCHeadService(serialPortData);
|
||||
OptoHeadStatus status = service.SetTestingMode(OptoHeadStatus.OptoHeadC2);
|
||||
Assert.AreEqual(OptoHeadStatus.OptoHeadC2, status);
|
||||
|
||||
status = service.SetTestingMode(OptoHeadStatus.OptoHeadC7);
|
||||
Assert.AreEqual(OptoHeadStatus.OptoHeadC7, status);
|
||||
|
||||
status = service.SetTestingMode(OptoHeadStatus.OptoHeadDisabled);
|
||||
Assert.AreEqual(OptoHeadStatus.OptoHeadDisabled, status);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void GetSerialNr_LiveMeterTest()
|
||||
{
|
||||
SerialPortData serialPortData = new SerialPortData(
|
||||
"COM5",
|
||||
"HatCliDemo.exe",
|
||||
74);
|
||||
|
||||
NFCHeadService service = new NFCHeadService(serialPortData);
|
||||
string? serialNr = service.GetSerialNr();
|
||||
Assert.IsFalse(string.IsNullOrEmpty(serialNr));
|
||||
Console.WriteLine("Found serial no: {0}",serialNr);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void GetTestingMode_LiveMeterTest()
|
||||
{
|
||||
SerialPortData serialPortData = new SerialPortData(
|
||||
"COM5",
|
||||
"HatCliDemo.exe",
|
||||
74);
|
||||
|
||||
NFCHeadService service = new NFCHeadService(serialPortData);
|
||||
OptoHeadStatus status = service.GetTestingMode();
|
||||
Assert.IsFalse(OptoHeadStatus.Unknown == status);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
using JetBrains.Annotations;
|
||||
using Microsoft.VisualStudio.TestPlatform.CoreUtilities.Helpers;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using NfcC7_DLL.NfcHanler;
|
||||
using NfcC7_DLL.NfcHanler.Protocols;
|
||||
using NfcC7_DLL.NfcHanler.Utils;
|
||||
|
||||
namespace NfcC7_DLL.Tests.NfcHanler;
|
||||
|
||||
[TestClass]
|
||||
[TestSubject(typeof(OptoHeadService))]
|
||||
public class OptoHeadServiceTest
|
||||
{
|
||||
|
||||
[TestMethod]
|
||||
public void RunLoop_Test()
|
||||
{
|
||||
//Switch meter to Optohead C7 testing mode
|
||||
SerialPortData serialPortData = new SerialPortData(
|
||||
"COM5",
|
||||
"HatCliDemo.exe",
|
||||
74);
|
||||
|
||||
NFCHeadService service = new NFCHeadService(serialPortData);
|
||||
OptoHeadStatus status = service.SetTestingMode(OptoHeadStatus.OptoHeadC7);
|
||||
Assert.AreEqual(OptoHeadStatus.OptoHeadC7, status);
|
||||
//Open serial connection to Optohead
|
||||
OptoHeadService.Con con = new OptoHeadService.Con();
|
||||
con.com = "COM6";
|
||||
OptoHeadService optoHeadService = new OptoHeadService(con);
|
||||
Assert.IsTrue(optoHeadService.CreateSerialConnection());
|
||||
//start loop to receive data
|
||||
optoHeadService.RunLoop();
|
||||
WaterMetrologyData lastData = null;
|
||||
int iCycles = 0, iCyclesMax = 10;
|
||||
for (int i = 0; i < iCyclesMax; i++)
|
||||
{
|
||||
|
||||
bool finished = false;
|
||||
while (!finished)
|
||||
{
|
||||
//optoHeadService.Run();
|
||||
if (optoHeadService.WaterMetrologyData != null
|
||||
&& lastData != optoHeadService.WaterMetrologyData
|
||||
&& optoHeadService.WaterMetrologyData.OptoHeadStatus != OptoHeadStatus.Unknown)
|
||||
{
|
||||
lastData = optoHeadService.WaterMetrologyData;
|
||||
finished = true;
|
||||
iCycles++;
|
||||
if (lastData.OptoHeadStatus.HasFlag(OptoHeadStatus.OptoHeadC7))
|
||||
{
|
||||
Assert.IsNotNull(lastData.C7Data);
|
||||
}
|
||||
else
|
||||
{
|
||||
Assert.IsNotNull(lastData.C2Data);
|
||||
}
|
||||
System.Console.WriteLine("Cycle: {0} lastData: {1}", iCycles, lastData);
|
||||
}
|
||||
}
|
||||
}
|
||||
optoHeadService.CloseSerialConnection();
|
||||
|
||||
Assert.IsTrue(iCycles > 0);
|
||||
Assert.IsTrue(iCycles == iCyclesMax);
|
||||
|
||||
//Close Optohead
|
||||
status = service.SetTestingMode(OptoHeadStatus.OptoHeadDisabled);
|
||||
Assert.AreEqual(OptoHeadStatus.OptoHeadDisabled, status);
|
||||
}
|
||||
}
|
||||
@@ -1,224 +0,0 @@
|
||||
using System;
|
||||
using System.IO.Ports;
|
||||
using JetBrains.Annotations;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using NfcC7_DLL.NfcHanler.Utils;
|
||||
|
||||
namespace NfcC7_DLL.Tests.NfcHanler.Utils;
|
||||
|
||||
//[TestClass]
|
||||
[TestSubject(typeof(SERIAL_Driver))]
|
||||
public class SERIAL_DriverTest
|
||||
{
|
||||
private class Con
|
||||
{
|
||||
public string com = "COM5";
|
||||
public int baudrate = 38400;
|
||||
public int dataBits = 8;
|
||||
public Parity parity = Parity.None;
|
||||
public StopBits stopbits = StopBits.Two;
|
||||
public int readTimeout = 5000;
|
||||
public int writeTimeout = 1000;
|
||||
}
|
||||
|
||||
private readonly byte[] Open =
|
||||
{ 0x6B, 0x80, 0x01, 0x10, 0x00, 0x30, 0x00, 0x47, 0x6C, 0x6F, 0x62, 0x61, 0x6C, 0x49, 0x50, 0x65, 0x72,
|
||||
0x6C, 0x55, 0x74, 0x69, 0x6C, 0x69, 0x74, 0x79, 0x00, 0x00, 0x27, 0xD7 };
|
||||
private readonly byte[] CommDeviceSessionEnd = { 0x6B, 0x61, 0x00, 0x10, 0x05, 0x31, 0x00, 0x1F, 0x29, 0xF9, 0xC5 };
|
||||
|
||||
private readonly byte[] ProductDetails =
|
||||
{ 0x6B, 0x30, 0x01, 0x10, 0x03, 0x21, 0x01, 0x02, 0x6B, 0x90, 0x00, 0x00, 0x11, 0x40, 0x05, 0x00, 0x02, 0x04, 0x60, 0x62, 0x42, 0x04, 0xA5, 0x64 };
|
||||
|
||||
private readonly byte[] ProductDetails2 =
|
||||
{ 0x6B, 0x30, 0x01, 0x10, 0x03, 0x21, 0x01, 0x02, 0x6B, 0x90, 0x00, 0x00, 0x11, 0x40, 0x05, 0x00, 0x02, 0x04, 0x60 };
|
||||
|
||||
static Con con5 = new Con(){
|
||||
com = "COM5",
|
||||
baudrate = 38400,
|
||||
dataBits = 8,
|
||||
parity = Parity.None,
|
||||
stopbits = StopBits.Two,
|
||||
readTimeout = 5000,
|
||||
writeTimeout = 1000
|
||||
};
|
||||
static Con con6 = new Con()
|
||||
{
|
||||
com = "COM6",
|
||||
baudrate = 38400,
|
||||
dataBits = 8,
|
||||
parity = Parity.None,
|
||||
stopbits = StopBits.Two,
|
||||
readTimeout = 5000,
|
||||
writeTimeout = 1000
|
||||
};
|
||||
|
||||
|
||||
|
||||
//[TestMethod]
|
||||
public void SendMessage_Test()
|
||||
{
|
||||
Con con = con5;
|
||||
|
||||
byte[] message = Open;
|
||||
byte[] bytesReceived;
|
||||
|
||||
SERIAL_Driver driver = new SERIAL_Driver();
|
||||
bool isopen = driver.OpenConnection(
|
||||
con.com,
|
||||
con.baudrate,
|
||||
con.dataBits,
|
||||
con.parity,
|
||||
con.stopbits,
|
||||
con.readTimeout,
|
||||
con.writeTimeout);
|
||||
Assert.IsTrue(isopen);
|
||||
driver.SendMessage(message, message.Length);
|
||||
//Assert.IsTrue(driver.GetRawData().Length == 0);
|
||||
bytesReceived = driver.GetRawData();
|
||||
//Assert.IsTrue(bytesReceived.Length > 0);
|
||||
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
||||
// Display raw bytes (as hex or byte count)
|
||||
if (bytesReceived != null)
|
||||
{
|
||||
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
||||
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
||||
string response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
||||
Console.WriteLine("Bytes string: {0}", response);
|
||||
}
|
||||
|
||||
// --- Get Serial No ---
|
||||
message = ProductDetails;
|
||||
// Send Open message
|
||||
bool sendSuccess = driver.SendMessage(message, message.Length);
|
||||
Assert.IsTrue(sendSuccess, "Failed to send Open message");
|
||||
Console.WriteLine("Sent message for product details: {0}", message.ToString());
|
||||
bytesReceived = driver.GetRawData();
|
||||
// Display raw bytes (as hex or byte count)
|
||||
if (bytesReceived != null)
|
||||
{
|
||||
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
||||
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
||||
string response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
||||
Console.WriteLine("Bytes string: {0}", response);
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Response not received!");
|
||||
}
|
||||
|
||||
message = CommDeviceSessionEnd;
|
||||
driver.SendMessage(message, message.Length);
|
||||
|
||||
driver.Close();
|
||||
|
||||
}
|
||||
|
||||
|
||||
//[TestMethod]
|
||||
public void SendMessage_TestLoop()
|
||||
{
|
||||
Con con = con6;
|
||||
|
||||
byte[] message = {0x00};
|
||||
byte[] bytesReceived;
|
||||
|
||||
SERIAL_Driver driver = new SERIAL_Driver();
|
||||
bool isopen = driver.OpenConnection(
|
||||
con.com,
|
||||
con.baudrate,
|
||||
con.dataBits,
|
||||
con.parity,
|
||||
con.stopbits,
|
||||
con.readTimeout,
|
||||
con.writeTimeout);
|
||||
Assert.IsTrue(isopen);
|
||||
|
||||
for (int iStep = 0; iStep < 100; iStep++)
|
||||
{
|
||||
driver.SendMessage(message, message.Length);
|
||||
//Assert.IsTrue(driver.GetRawData().Length == 0);
|
||||
bytesReceived = driver.GetRawData();
|
||||
Assert.IsTrue(bytesReceived.Length > 0);
|
||||
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
||||
// Display raw bytes (as hex or byte count)
|
||||
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
||||
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
||||
string response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
||||
Console.WriteLine("Bytes string: {0}", response);
|
||||
}
|
||||
|
||||
//message = CommDeviceSessionEnd;
|
||||
//driver.SendMessage(message, message.Length);
|
||||
|
||||
driver.CloseConnection();
|
||||
|
||||
}
|
||||
|
||||
|
||||
//[TestMethod]
|
||||
public void SendMessage_TestGetSerialNo()
|
||||
{
|
||||
Con con = con6;
|
||||
byte[] message = Open;
|
||||
byte[] bytesReceived;
|
||||
|
||||
SERIAL_Driver driver = new SERIAL_Driver();
|
||||
bool isopen = driver.OpenConnection(
|
||||
con.com,
|
||||
con.baudrate,
|
||||
con.dataBits,
|
||||
con.parity,
|
||||
con.stopbits,
|
||||
con.readTimeout,
|
||||
con.writeTimeout);
|
||||
Assert.IsTrue(isopen);
|
||||
|
||||
driver.SendMessage(message, message.Length,con.readTimeout);
|
||||
//Assert.IsTrue(driver.GetRawData().Length == 0);
|
||||
bytesReceived = driver.GetRawData();
|
||||
Assert.IsTrue(bytesReceived.Length > 0);
|
||||
if (bytesReceived[0] == 0xFF)
|
||||
Console.WriteLine("Error message: {0}", driver.ErrorMessage);
|
||||
// Display raw bytes (as hex or byte count)
|
||||
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
||||
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
||||
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
||||
string response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
||||
Console.WriteLine("Bytes string: {0}",response);
|
||||
|
||||
// --- Get Serial No ---
|
||||
message = ProductDetails;
|
||||
driver.SendMessage(message, message.Length,con.readTimeout);
|
||||
bytesReceived = driver.GetRawData();
|
||||
Assert.IsTrue(bytesReceived.Length > 0);
|
||||
if (bytesReceived[0] == 0xFF)
|
||||
Console.WriteLine("Error message: {0}", driver.ErrorMessage);
|
||||
// Display raw bytes (as hex or byte count)
|
||||
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
||||
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
||||
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
||||
response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
||||
Console.WriteLine("Bytes string: {0}",response);
|
||||
|
||||
// --- Get Serial No ---
|
||||
message = ProductDetails2;
|
||||
driver.SendMessage(message, message.Length,con.readTimeout);
|
||||
bytesReceived = driver.GetRawData();
|
||||
Assert.IsTrue(bytesReceived.Length > 0);
|
||||
if (bytesReceived[0] == 0xFF)
|
||||
Console.WriteLine("Error message: {0}", driver.ErrorMessage);
|
||||
// Display raw bytes (as hex or byte count)
|
||||
Console.WriteLine("IsOpened: {0}", driver.isOpen());
|
||||
Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
|
||||
Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
|
||||
response = System.Text.Encoding.UTF8.GetString(bytesReceived);
|
||||
Console.WriteLine("Bytes string: {0}",response);
|
||||
|
||||
|
||||
message = CommDeviceSessionEnd;
|
||||
driver.SendMessage(message, message.Length);
|
||||
|
||||
driver.Close();
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<Copyright>Copyright © 2025</Copyright>
|
||||
<AssemblyVersion>1.1.0.0</AssemblyVersion>
|
||||
<FileVersion>1.1.0.0</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<DefineConstants>TRACE;IPERL;</DefineConstants>
|
||||
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<DefineConstants>TRACE;IPERL;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="12.0.2" />
|
||||
<PackageReference Include="System.IO.Ports" Version="10.0.0-rc.1.25451.107" />
|
||||
<PackageReference Include="System.Security.Cryptography.Cng" Version="5.0.0" />
|
||||
<PackageReference Include="System.Threading" Version="4.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="NA2WNFC">
|
||||
<HintPath>NfcHanler\NfcReaderLibrary\NA2WNFC.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="OBIDISC4NET">
|
||||
<HintPath>NfcHanler\NfcReaderLibrary\OBIDISC4NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="OBIDISC4NETnative">
|
||||
<HintPath>NfcHanler\NfcReaderLibrary\OBIDISC4NETnative.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="OBIDISC4NET_API">
|
||||
<HintPath>NfcHanler\NfcReaderLibrary\OBIDISC4NET_API.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore">
|
||||
<HintPath>..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_32\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationFramework">
|
||||
<HintPath>..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_MSIL\PresentationFramework\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Sensus">
|
||||
<HintPath>NfcHanler\FieldLogicLibrary\Sensus.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,9 +0,0 @@
|
||||
using NfcC7_DLL.NfcHanler.Protocols;
|
||||
|
||||
namespace NfcC7_DLL.NfcHanler;
|
||||
|
||||
public class HeadInfo
|
||||
{
|
||||
string SerialNr { get; set; }
|
||||
OptoHeadStatus OptoHeadStatus { get; set; }
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
|
||||
namespace NfcC7_DLL.NfcHanler
|
||||
{
|
||||
public class JsonDataFromPoseidon
|
||||
{
|
||||
public bool? NfcTagDetected { get; set; }
|
||||
public int? ProductType { get; set; }
|
||||
public string ProductTypeVersion { get; set; }
|
||||
public string DeviceId { get; set; }
|
||||
public string Reading { get; set; }
|
||||
public string Reading_Totalizer { get; set; }
|
||||
public string Reading_Digits { get; set; }
|
||||
public string Reading_Shift { get; set; }
|
||||
public string Reading_Resolution { get; set; }
|
||||
public string Reading_Units { get; set; }
|
||||
public string Reading_FlowDirection { get; set; }
|
||||
public string Reading_FlowRate { get; set; }
|
||||
public string CalibrationFactor { get; set; }
|
||||
public bool? ReadingComplete { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,216 +0,0 @@
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows;
|
||||
using NfcC7_DLL.NfcHanler.Protocols;
|
||||
using NfcC7_DLL.NfcHanler.Utils;
|
||||
|
||||
namespace NfcC7_DLL.NfcHanler;
|
||||
|
||||
public class NFCHeadService
|
||||
{
|
||||
|
||||
private bool activeHandlerSessioEnabled = false;
|
||||
private CliRunner _cliRunner;
|
||||
|
||||
private SerialPortData serialPort;
|
||||
|
||||
public NFCHeadService(SerialPortData serialPort)
|
||||
{
|
||||
this.serialPort = serialPort;
|
||||
ValidateCliFileExistence(true);
|
||||
}
|
||||
|
||||
private CliRunner CliRunner
|
||||
{
|
||||
get
|
||||
{
|
||||
return (_cliRunner != null ?
|
||||
_cliRunner :
|
||||
(_cliRunner = new CliRunner(CliLogging)));
|
||||
}
|
||||
}
|
||||
|
||||
private bool CliLogging{get {return false; }}
|
||||
|
||||
private static readonly Regex OpticalDataModeRegex = new Regex(
|
||||
@"(?im)(?:" +
|
||||
@"^\s*OpticalDataMode\s*Id\s*:\s*([^\r\n]+)\s*$" + // old format
|
||||
@"|" +
|
||||
@"""OpticalDataMode""\s*:\s*""?(0x[0-9A-Fa-f]+|\d+)""?" + // JSON format (handles hex and decimal)
|
||||
@")",
|
||||
RegexOptions.Compiled);
|
||||
public bool TryGetOpticalDataMode(string result, out string s)
|
||||
{
|
||||
s = null;
|
||||
if (string.IsNullOrEmpty(result))
|
||||
return false;
|
||||
|
||||
var m = OpticalDataModeRegex.Match(result);
|
||||
if (!m.Success)
|
||||
return false;
|
||||
|
||||
// one of the groups will be filled
|
||||
s = !string.IsNullOrEmpty(m.Groups[1].Value)
|
||||
? m.Groups[1].Value.Trim()
|
||||
: m.Groups[2].Value.Trim();
|
||||
return true;
|
||||
}
|
||||
|
||||
private static readonly Regex DeviceIdRegex = new Regex(
|
||||
@"(?im)(?:" +
|
||||
@"^\s*Device\s*Id\s*:\s*([^\r\n]+)\s*$" + // old format
|
||||
@"|" +
|
||||
@"""DeviceId""\s*:\s*""?([0-9]+)""?" + // JSON format
|
||||
@")",
|
||||
RegexOptions.Compiled);
|
||||
public bool TryGetDeviceId(string result, out string s)
|
||||
{
|
||||
s = null;
|
||||
if (string.IsNullOrEmpty(result))
|
||||
return false;
|
||||
|
||||
var m = DeviceIdRegex.Match(result);
|
||||
if (!m.Success)
|
||||
return false;
|
||||
|
||||
// one of the groups will be filled
|
||||
s = !string.IsNullOrEmpty(m.Groups[1].Value)
|
||||
? m.Groups[1].Value.Trim()
|
||||
: m.Groups[2].Value.Trim();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private void ValidateCliFileExistence(bool showErrorIfMissing)
|
||||
{
|
||||
if (serialPort != null)
|
||||
{
|
||||
if (!serialPort.CliExists)
|
||||
{
|
||||
throw new Exception("CLI file " + serialPort.SerialPortCmdClientPath + " does not exist! Current path: " + Environment.CurrentDirectory);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ////////////
|
||||
/// </summary>
|
||||
public string? GetSerialNr()
|
||||
{
|
||||
if (serialPort == null)
|
||||
throw new Exception("Serial port not initialized");
|
||||
|
||||
|
||||
Task optoheadDeviceIdTask = CliRunner.AddSendAsync(serialPort, SerialPortData.EMeterArg.DeviceId);
|
||||
var timeOut = CliRunner.AddTimeOut(5000);
|
||||
var doneTask = CliRunner.WhenAny();
|
||||
if (timeOut == doneTask)
|
||||
{
|
||||
throw new Exception("Timeout");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (optoheadDeviceIdTask is Task<string>)
|
||||
{
|
||||
string serialNr;
|
||||
if (optoheadDeviceIdTask.Status == TaskStatus.Faulted)
|
||||
throw new Exception("Error TaskStatus.Faulted");
|
||||
string result = (optoheadDeviceIdTask as Task<string>).Result;
|
||||
if (TryGetDeviceId(result, out serialNr))
|
||||
{
|
||||
return serialNr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public OptoHeadStatus SetTestingMode(OptoHeadStatus status)
|
||||
{
|
||||
if (serialPort == null)
|
||||
throw new Exception("Serial port not initialized");
|
||||
|
||||
|
||||
Task optoheadMode = CliRunner.AddSendAsync(serialPort, SerialPortData.EMeterArg.Optohead, $"0x{((byte)status):X2}");
|
||||
var timeOut = CliRunner.AddTimeOut(5000);
|
||||
var doneTask = CliRunner.WhenAny();
|
||||
if (timeOut == doneTask)
|
||||
{
|
||||
throw new Exception("Timeout");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (optoheadMode is Task<string>)
|
||||
{
|
||||
string strOpticalDataMode;
|
||||
if (optoheadMode.Status == TaskStatus.Faulted)
|
||||
throw new Exception("Error TaskStatus.Faulted");
|
||||
string result = (optoheadMode as Task<string>).Result;
|
||||
if (TryGetOpticalDataMode(result, out strOpticalDataMode))
|
||||
{
|
||||
byte value;
|
||||
|
||||
if (strOpticalDataMode.StartsWith("0x", StringComparison.OrdinalIgnoreCase))
|
||||
value = Convert.ToByte(strOpticalDataMode, 16); // interpret as hex
|
||||
else
|
||||
value = Convert.ToByte(strOpticalDataMode); // interpret as decimal
|
||||
|
||||
OptoHeadStatus optoheadStatus = (OptoHeadStatus)value;
|
||||
return optoheadStatus;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return OptoHeadStatus.Unknown;
|
||||
}
|
||||
|
||||
public OptoHeadStatus GetTestingMode()
|
||||
{
|
||||
if (serialPort == null)
|
||||
throw new Exception("Serial port not initialized");
|
||||
|
||||
|
||||
Task optoheadMode = CliRunner.AddSendAsync(serialPort, SerialPortData.EMeterArg.Optohead);
|
||||
var timeOut = CliRunner.AddTimeOut(5000);
|
||||
var doneTask = CliRunner.WhenAny();
|
||||
if (timeOut == doneTask)
|
||||
{
|
||||
throw new Exception("Timeout");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (optoheadMode is Task<string>)
|
||||
{
|
||||
string strOpticalDataMode;
|
||||
if (optoheadMode.Status == TaskStatus.Faulted)
|
||||
throw new Exception("Error TaskStatus.Faulted");
|
||||
string result = (optoheadMode as Task<string>).Result;
|
||||
if (TryGetOpticalDataMode(result, out strOpticalDataMode))
|
||||
{
|
||||
byte value;
|
||||
|
||||
if (strOpticalDataMode.StartsWith("0x", StringComparison.OrdinalIgnoreCase))
|
||||
value = Convert.ToByte(strOpticalDataMode, 16); // interpret as hex
|
||||
else
|
||||
value = Convert.ToByte(strOpticalDataMode); // interpret as decimal
|
||||
|
||||
OptoHeadStatus optoheadStatus = (OptoHeadStatus)value;
|
||||
return optoheadStatus;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return OptoHeadStatus.Unknown;
|
||||
}
|
||||
|
||||
private void SendCommand()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private string RawDataAnswer()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
using System.IO.Ports;
|
||||
using System.Windows.Documents;
|
||||
using NfcC7_DLL.NfcHanler.Protocols;
|
||||
using NfcC7_DLL.NfcHanler.Utils;
|
||||
|
||||
namespace NfcC7_DLL.NfcHanler;
|
||||
|
||||
public class OptoHeadService
|
||||
{
|
||||
|
||||
public class Con
|
||||
{
|
||||
public string com = "COM5";
|
||||
public int baudrate = 38400;
|
||||
public int dataBits = 8;
|
||||
public Parity parity = Parity.None;
|
||||
public StopBits stopbits = StopBits.Two;
|
||||
public int readTimeout = 5000;
|
||||
public int writeTimeout = 1000;
|
||||
}
|
||||
|
||||
private Con Connection { get; set; }
|
||||
private SERIAL_Driver driver;
|
||||
/// <summary>
|
||||
/// Filed After Run() is called.
|
||||
/// </summary>
|
||||
public WaterMetrologyData? WaterMetrologyData { get; private set; }
|
||||
|
||||
public OptoHeadService(Con con)
|
||||
{
|
||||
Connection = con;
|
||||
driver = new SERIAL_Driver();
|
||||
}
|
||||
|
||||
public bool CreateSerialConnection()
|
||||
{
|
||||
bool isopen = false;
|
||||
Con con = Connection;
|
||||
|
||||
byte[] message = {0x00};
|
||||
byte[] bytesReceived;
|
||||
|
||||
if (!driver.isOpen())
|
||||
{
|
||||
|
||||
isopen = driver.OpenConnection(
|
||||
con.com,
|
||||
con.baudrate,
|
||||
con.dataBits,
|
||||
con.parity,
|
||||
con.stopbits,
|
||||
con.readTimeout,
|
||||
con.writeTimeout);
|
||||
}
|
||||
|
||||
return isopen;
|
||||
}
|
||||
|
||||
public void CloseSerialConnection()
|
||||
{
|
||||
dissableRunLoop = true;
|
||||
driver.Close();
|
||||
}
|
||||
|
||||
public void RunLoop()
|
||||
{
|
||||
Task.Run(() => Run());
|
||||
}
|
||||
|
||||
|
||||
private bool dissableRunLoop = false;
|
||||
/// <summary>
|
||||
/// Run the service. Catch one communication to WaterMetrologyData field.
|
||||
/// </summary>
|
||||
public void Run()
|
||||
{
|
||||
while (!dissableRunLoop)
|
||||
{
|
||||
WaterMetrologyData = ParseData(RunReading());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
byte[] RunReading()
|
||||
{
|
||||
if (driver.isOpen())
|
||||
{
|
||||
driver.SendMessage(new byte[] {0x00}, 1);
|
||||
return driver.GetRawData();
|
||||
}
|
||||
else
|
||||
{
|
||||
dissableRunLoop = true;
|
||||
}
|
||||
|
||||
return [0xFF];
|
||||
}
|
||||
|
||||
public WaterMetrologyData? ParseData(byte[] data)
|
||||
{
|
||||
try
|
||||
{
|
||||
return WaterMetrologyData.Parse(data, DateTime.Now, "");
|
||||
}catch(Exception e)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
namespace NfcC7_DLL.NfcHanler.Protocols;
|
||||
|
||||
public enum OptoHeadStatus : byte
|
||||
{
|
||||
Unknown = 0xFF,
|
||||
OptoHeadDisabled = 0x00,
|
||||
OptoHeadC2 = 0xC2,
|
||||
OptoHeadC7 = 0xC7,
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
namespace NfcC7_DLL.NfcHanler.Protocols;
|
||||
|
||||
public class WaterMetrologyData
|
||||
{
|
||||
private OptoHeadStatus _optoHeadStatus;
|
||||
private WaterMetrologyDataC7 c7Data;
|
||||
private WaterMetrologyDataC2 c2Data;
|
||||
|
||||
public WaterMetrologyDataC7 C7Data { get => c7Data; }
|
||||
public WaterMetrologyDataC2 C2Data { get => c2Data; }
|
||||
public OptoHeadStatus OptoHeadStatus { get => _optoHeadStatus; }
|
||||
|
||||
public static WaterMetrologyData? Parse(byte[] data, DateTime dt, string dutinfo)
|
||||
{
|
||||
if (data.Length < 24)
|
||||
{
|
||||
throw new ArgumentException("Invalid data length for WaterMetrologyData C2.");
|
||||
}
|
||||
WaterMetrologyData waterMetrologyData = new WaterMetrologyData();
|
||||
waterMetrologyData._optoHeadStatus = OptoHeadStatus.Unknown;
|
||||
// Probably C2
|
||||
if(data.Length > 24 && data.Length < 48)
|
||||
{
|
||||
waterMetrologyData.c2Data = WaterMetrologyDataC2.Parse(data, dt, dutinfo);
|
||||
waterMetrologyData._optoHeadStatus = OptoHeadStatus.OptoHeadC2;
|
||||
}
|
||||
// Probably C7
|
||||
else if(data.Length >= 48)
|
||||
{
|
||||
waterMetrologyData.c7Data = WaterMetrologyDataC7.Parse(data, dt, dutinfo);
|
||||
waterMetrologyData._optoHeadStatus = OptoHeadStatus.OptoHeadC7;
|
||||
}
|
||||
|
||||
return waterMetrologyData;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"Status: {_optoHeadStatus}, C7Data: {c7Data}, C2Data: {c2Data}";
|
||||
}
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
namespace NfcC7_DLL.NfcHanler.Protocols
|
||||
{
|
||||
public class WaterMetrologyDataC2
|
||||
{
|
||||
public string DutInfo { get; set; }
|
||||
public DateTime Dt { get; set; }
|
||||
public int AdcSample { get; set; }
|
||||
public short LastField { get; set; }
|
||||
public short FlowRate { get; set; }
|
||||
public uint Accumulator { get; set; }
|
||||
public ushort FlipPeriod { get; set; }
|
||||
public ushort VinfStart { get; set; }
|
||||
public ushort VinfEnd { get; set; }
|
||||
public short ElectrodeDelta { get; set; }
|
||||
public ushort Impedance { get; set; }
|
||||
public byte FieldDriveTime { get; set; }
|
||||
public bool IsInLowFlow { get; set; }
|
||||
public bool IsInEmptyPipe { get; set; }
|
||||
public bool FastHPFC { get; set; }
|
||||
public bool FieldPolarity { get; set; }
|
||||
public bool ImpedancePolarity { get; set; }
|
||||
|
||||
public double CalcFlowmLps
|
||||
{
|
||||
get { return FlowRate / 4.0; } // FlowRate is in 1/4 mL/s
|
||||
}
|
||||
public double CalcFlowGPM
|
||||
{
|
||||
get { return CalcFlowmLps * 0.015850323141489; } // mL/s to gal/min conversion
|
||||
}
|
||||
public double CalcAccGal
|
||||
{
|
||||
get { return (Accumulator / 4.0) * 0.000264172; } // Accumulator is in 1/4 mL, convert to gallons
|
||||
}
|
||||
|
||||
public static WaterMetrologyDataC2 Parse(string base64Data, DateTime dt, string dutinfo)
|
||||
{
|
||||
byte[] data = Convert.FromBase64String(base64Data);
|
||||
return Parse(data, dt, dutinfo);
|
||||
}
|
||||
|
||||
public static WaterMetrologyDataC2 Parse(byte[] data, DateTime dt, string dutinfo)
|
||||
{
|
||||
if (data.Length < 24)
|
||||
{
|
||||
throw new ArgumentException("Invalid data length for WaterMetrologyData C2.");
|
||||
}
|
||||
|
||||
|
||||
WaterMetrologyDataC2 result = new WaterMetrologyDataC2();
|
||||
|
||||
result.DutInfo = dutinfo;
|
||||
result.Dt = dt;
|
||||
result.AdcSample = BitConverter.ToInt32(data, 0);
|
||||
result.LastField = BitConverter.ToInt16(data, 4);
|
||||
result.FlowRate = BitConverter.ToInt16(data, 6);
|
||||
result.Accumulator = BitConverter.ToUInt32(data, 8);
|
||||
result.FlipPeriod = BitConverter.ToUInt16(data, 12);
|
||||
result.VinfStart = BitConverter.ToUInt16(data, 14);
|
||||
result.VinfEnd = BitConverter.ToUInt16(data, 16);
|
||||
result.ElectrodeDelta = BitConverter.ToInt16(data, 18);
|
||||
result.Impedance = BitConverter.ToUInt16(data, 20);
|
||||
result.FieldDriveTime = data[22];
|
||||
|
||||
byte flags = data[23];
|
||||
result.IsInLowFlow = (flags & 0x01) != 0;
|
||||
result.IsInEmptyPipe = (flags & 0x02) != 0;
|
||||
result.FastHPFC = (flags & 0x04) != 0; // Fast High Pass Filter Constant in bit 2
|
||||
result.FieldPolarity = (flags & 0x08) != 0; // Field Polarity in bit 3
|
||||
result.ImpedancePolarity = (flags & 0x10) != 0; // Impedance Polarity in bit 4
|
||||
return result;
|
||||
}
|
||||
|
||||
//public override string ToString()
|
||||
//{
|
||||
// return $"ADC Sample: {AdcSample}, Last Field: {LastField}, Flow Rate: {FlowRate}, Accumulator: {Accumulator}, " +
|
||||
// $"Flip Period Ticks: {FlipPeriodTicks}, Vinf Start: {VinfStart}, Vinf End: {VinfEnd}, Electrode Delta: {ElectrodeDelta}, " +
|
||||
// $"Impedance: {Impedance}, Field Drive Time: {FieldDriveTime}, Is Low Flow: {IsInLowFlow}, Is Empty Pipe: {IsInEmptyPipe}, " +
|
||||
// $"Fast High Pass Filter: {FastHighPassFilterConstant}, Field Polarity: {FieldPolarity}, Impedance Polarity: {ImpedancePolarity}";
|
||||
//}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"DutInfo: {DutInfo}, Dt: {Dt}, ADC Sample: {AdcSample}, Last Field: {LastField}, Flow Rate: {FlowRate}, Accumulator: {Accumulator}, " +
|
||||
$"Flip Period: {FlipPeriod}, Vinf Start: {VinfStart}, Vinf End: {VinfEnd}, Electrode Delta: {ElectrodeDelta}, " +
|
||||
$"Impedance: {Impedance}, Field Drive Time: {FieldDriveTime}, Is Low Flow: {IsInLowFlow}, Is Empty Pipe: {IsInEmptyPipe}, " +
|
||||
$"Fast HPFC: {FastHPFC}, Field Polarity: {FieldPolarity}, Impedance Polarity: {ImpedancePolarity}, " +
|
||||
$"Calc Flow mL/s: {CalcFlowmLps:F2}, Calc Flow GPM: {CalcFlowGPM:F2}, Calc Acc Gal: {CalcAccGal:F2}";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,92 +0,0 @@
|
||||
namespace NfcC7_DLL.NfcHanler.Protocols
|
||||
{
|
||||
public class WaterMetrologyDataC7 : WaterMetrologyDataC2
|
||||
{
|
||||
// New fields for C7
|
||||
public int LastFieldmilliGauss { get; set; }
|
||||
public int ImpedanceI { get; set; } // In-phase impedance
|
||||
public int ImpedanceQ { get; set; } // Out-of-phase impedance
|
||||
public int NoiseMetric { get; set; }
|
||||
public short LearningLockout { get; set; }
|
||||
public short ReverseBuffer { get; set; }
|
||||
public int ConditionedAdc { get; set; }
|
||||
public uint Totalalizer { get; set; }
|
||||
|
||||
//public bool IsInLowFlow { get; set; }
|
||||
//public bool IsInEmptyPipe { get; set; }
|
||||
//public bool FastHPFC { get; set; }
|
||||
//public bool FieldPolarity { get; set; }
|
||||
//public bool ImpedancePolarity { get; set; }
|
||||
public bool MagTamperState { get; set; }
|
||||
public bool IsLearningActive { get; set; }
|
||||
public bool AdcShiftsUpdated { get; set; }
|
||||
|
||||
|
||||
public static WaterMetrologyDataC7 Parse(string base64Data, DateTime dt, string dutinfo)
|
||||
{
|
||||
byte[] data = Convert.FromBase64String(base64Data);
|
||||
return Parse(data, dt, dutinfo);
|
||||
}
|
||||
|
||||
public static WaterMetrologyDataC7 Parse(byte[] data, DateTime dt, string dutinfo)
|
||||
{
|
||||
|
||||
// You may want to check for the minimum length required for C7
|
||||
if (data.Length < 48) /* minimum required length for C7 */
|
||||
{
|
||||
throw new ArgumentException("Invalid data length for WaterMetrologyData C7.");
|
||||
}
|
||||
|
||||
var result = new WaterMetrologyDataC7();
|
||||
|
||||
// Parse base C2 fields
|
||||
var c2 = WaterMetrologyDataC2.Parse(data, dt, dutinfo);
|
||||
|
||||
//Copy base fields
|
||||
result.DutInfo = c2.DutInfo;
|
||||
result.Dt = c2.Dt;
|
||||
result.AdcSample = c2.AdcSample;
|
||||
result.LastField = c2.LastField;
|
||||
result.FlowRate = c2.FlowRate;
|
||||
result.Accumulator = c2.Accumulator;
|
||||
result.FlipPeriod = c2.FlipPeriod;
|
||||
result.VinfStart = c2.VinfStart;
|
||||
result.VinfEnd = c2.VinfEnd;
|
||||
result.ElectrodeDelta = c2.ElectrodeDelta;
|
||||
result.Impedance = c2.Impedance;
|
||||
result.FieldDriveTime = c2.FieldDriveTime;
|
||||
|
||||
|
||||
result.IsInLowFlow = c2.IsInLowFlow;
|
||||
result.IsInEmptyPipe = c2.IsInEmptyPipe;
|
||||
result.FieldPolarity = c2.FieldPolarity;
|
||||
result.ImpedancePolarity = c2.ImpedancePolarity;
|
||||
|
||||
|
||||
// Parse new C7 fields (replace ENUM_OptPack0xC7.FIELD_MILLI_GAUSS etc. with actual offsets)
|
||||
byte flags = data[23];
|
||||
result.MagTamperState = (flags & 0x60) != 0; // bits 5 and 6 represent MagTamperState
|
||||
result.IsLearningActive = (flags & 0x80) != 0; // bit 7 represents IsLearningActive
|
||||
|
||||
byte flagTwo = data[24];
|
||||
|
||||
result.AdcShiftsUpdated = (flagTwo & 0x01) != 0; // bit 0 represents AdcShiftsUpdated
|
||||
|
||||
result.LastFieldmilliGauss = BitConverter.ToInt32(data, 25);
|
||||
result.ImpedanceI = BitConverter.ToInt32(data, 29); // in phase
|
||||
result.ImpedanceQ = BitConverter.ToInt32(data, 33); // out of phase
|
||||
result.NoiseMetric = BitConverter.ToInt32(data, 37); //
|
||||
result.LearningLockout = BitConverter.ToInt16(data, 41);
|
||||
result.ReverseBuffer = BitConverter.ToInt16(data, 43);
|
||||
result.ConditionedAdc = BitConverter.ToInt32(data, 45);
|
||||
result.Totalalizer = BitConverter.ToUInt32(data, 49);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"C7: LastFieldmilliGauss={LastFieldmilliGauss}, ImpedanceI={ImpedanceI}, ImpedanceQ={ImpedanceQ}, NoiseMetric={NoiseMetric}, LearningLockout={LearningLockout}, ReverseBuffer={ReverseBuffer}, ConditionedAdc={ConditionedAdc}, Totalalizer={Totalalizer}, MagTamperState={MagTamperState}, IsLearningActive={IsLearningActive}, AdcShiftsUpdated={AdcShiftsUpdated}" + base.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
# Protocol Description
|
||||
@@ -1,262 +0,0 @@
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace NfcC7_DLL.NfcHanler.Utils
|
||||
{
|
||||
public class CliRunner
|
||||
{
|
||||
//static readonly Logger log = LogManager.GetLogger(typeof(CliRunner));
|
||||
//private readonly ILog log;
|
||||
private List<Task> taskPool = new List<Task>();
|
||||
private long startTime;
|
||||
|
||||
public List<Task> TaskPool { get { return taskPool; } }
|
||||
public void AddTask(Task task) { taskPool.Add(task); }
|
||||
public void WaitAll() { Task.WaitAll(taskPool.ToArray()); }
|
||||
|
||||
/// <summary>
|
||||
/// continue with WhenAny() to commpare results if time out is reached
|
||||
/// </summary>
|
||||
/// <param name="timeout"></param>
|
||||
/// <returns></returns>
|
||||
public Task AddTimeOut(int timeout)
|
||||
{
|
||||
Task timeOut = Task.Delay(timeout);
|
||||
taskPool.Add(timeOut);
|
||||
return timeOut;
|
||||
}
|
||||
/// <summary>
|
||||
/// mainly used for time out additional task to compare results
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public Task WhenAny() { return Task.WhenAny(taskPool.ToArray()); }
|
||||
|
||||
public void Clear() { taskPool.Clear(); }
|
||||
public void CancelAll() { Task.WhenAll(taskPool).ContinueWith(t => { }); }
|
||||
|
||||
|
||||
public void StartAll()
|
||||
{
|
||||
taskPool.ForEach(t => t.Start());
|
||||
}
|
||||
|
||||
public bool AreTasksDone()
|
||||
{
|
||||
return taskPool.All(task => task.IsCompleted);
|
||||
}
|
||||
|
||||
public long StartTime
|
||||
{
|
||||
get => startTime;
|
||||
}
|
||||
|
||||
public bool TimeOutReceived(long timeout)
|
||||
{
|
||||
return (DateTime.Now.Ticks - startTime) > timeout;
|
||||
}
|
||||
|
||||
public CliRunner(bool isCliLogging)
|
||||
{
|
||||
startTime = DateTime.Now.Ticks;
|
||||
|
||||
if (isCliLogging)
|
||||
{
|
||||
try
|
||||
{
|
||||
/*log = new ScopedLoggerFactory().CreateLogger<CliRunner>(
|
||||
@"C:\TBF\Logs\CliRunner.txt",
|
||||
10, // maxFileSizeMB
|
||||
7, // maxBackups
|
||||
log4net.Core.Level.Debug,
|
||||
true, // zipRolledFiles
|
||||
true, // singleZipPerDay
|
||||
TimeSpan.FromMinutes(2) // zipScanInterval
|
||||
);*/
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// Fallback to console or handle gracefully
|
||||
Console.WriteLine($"Failed to initialize logger: {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="fileName"></param>
|
||||
/// <param name="args"></param>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public Task AddSendAsync(SerialPortData data, SerialPortData.EMeterArg eMeterArg)
|
||||
{
|
||||
var task = SendAsync(data.SerialPortCmdClientPath, data.DefaultArgSettingsRead(eMeterArg));
|
||||
taskPool.Add(task);
|
||||
return task;
|
||||
}
|
||||
|
||||
public Task AddSendAsync(SerialPortData data, SerialPortData.EMeterArg eMeterArg, string arg)
|
||||
{
|
||||
var task = SendAsync(data.SerialPortCmdClientPath, data.DefaultArgSettingsWrite(eMeterArg, arg));
|
||||
taskPool.Add(task);
|
||||
return task;
|
||||
}
|
||||
|
||||
public void AddSendAsync(string fileName, string args)
|
||||
{
|
||||
var task = SendAsync(fileName, args);
|
||||
taskPool.Add(task);
|
||||
}
|
||||
|
||||
|
||||
public async Task<string> SendAsync(string fileName, string args, CancellationToken ct = default)
|
||||
{
|
||||
var psi = new ProcessStartInfo
|
||||
{
|
||||
FileName = fileName,
|
||||
Arguments = args,
|
||||
RedirectStandardOutput = true,
|
||||
RedirectStandardError = true,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true
|
||||
};
|
||||
|
||||
using var process = new Process { StartInfo = psi, EnableRaisingEvents = true };
|
||||
process.Start();
|
||||
|
||||
Task<string> stdOutTask = process.StandardOutput.ReadToEndAsync();
|
||||
Task<string> stdErrTask = process.StandardError.ReadToEndAsync();
|
||||
|
||||
try
|
||||
{
|
||||
await Task.WhenAll(stdOutTask, stdErrTask, process.WaitForExitAsync(ct));
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
if (!process.HasExited)
|
||||
{
|
||||
process.Kill();
|
||||
}
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
string allOutput = (stdOutTask.Result ?? "") + (stdErrTask.Result ?? "");
|
||||
//log?.Debug(allOutput);
|
||||
return allOutput;
|
||||
}
|
||||
|
||||
public Task<T> AddRunAndCaptureJsonAsync<T>(SerialPortData data, SerialPortData.EMeterArg eMeterArg) where T : new()
|
||||
{
|
||||
var task = RunAndCaptureJsonAsync<T>(data.SerialPortCmdClientPath, data.DefaultArgSettingsRead(eMeterArg));
|
||||
taskPool.Add(task);
|
||||
return task;
|
||||
}
|
||||
|
||||
public async Task<T> RunAndCaptureJsonAsync<T>(string fileName, string args, CancellationToken ct = default) where T : new()
|
||||
{
|
||||
var psi = new ProcessStartInfo
|
||||
{
|
||||
FileName = fileName,
|
||||
Arguments = args,
|
||||
RedirectStandardOutput = true,
|
||||
RedirectStandardError = true,
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true
|
||||
};
|
||||
|
||||
using var process = new Process { StartInfo = psi, EnableRaisingEvents = true };
|
||||
process.Start();
|
||||
|
||||
var stdoutTask = process.StandardOutput.ReadToEndAsync();
|
||||
var stderrTask = process.StandardError.ReadToEndAsync();
|
||||
|
||||
await Task.WhenAll(stdoutTask, stderrTask, process.WaitForExitAsync(ct));
|
||||
|
||||
string allOutput = (stdoutTask.Result ?? "") + (stderrTask.Result ?? "");
|
||||
//log?.Debug(allOutput);
|
||||
|
||||
string json = ExtractJson(allOutput);
|
||||
if (TryJsonStringDeserialize(json, out T result)) return result;
|
||||
return default;
|
||||
}
|
||||
|
||||
public bool TryJsonStringDeserialize<T>(string json, out T runAndCaptureJsonAsync) where T : new()
|
||||
{
|
||||
if (json != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
runAndCaptureJsonAsync = JsonConvert.DeserializeObject<T>(json);
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// log.Debug(ex.Message);
|
||||
runAndCaptureJsonAsync = TryConvert<T>(json);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
runAndCaptureJsonAsync = default;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
private static T TryConvert<T>(string json) where T : new()
|
||||
{
|
||||
|
||||
T obj = new T();
|
||||
|
||||
try
|
||||
{
|
||||
JObject jObject = JObject.Parse(json);
|
||||
|
||||
foreach (PropertyInfo prop in typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance))
|
||||
{
|
||||
if (!prop.CanWrite) continue;
|
||||
|
||||
JToken token;
|
||||
if (jObject.TryGetValue(prop.Name, StringComparison.OrdinalIgnoreCase, out token))
|
||||
{
|
||||
try
|
||||
{
|
||||
object value = token.ToObject(prop.PropertyType);
|
||||
prop.SetValue(obj, value);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// leave default if conversion fails
|
||||
}
|
||||
}
|
||||
// else → keep default value
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine($"TryConvert failed: {ex.Message}");
|
||||
}
|
||||
|
||||
return obj;
|
||||
|
||||
}
|
||||
|
||||
public string ExtractJson(string text)
|
||||
{
|
||||
int start = text.IndexOf('{');
|
||||
int end = text.LastIndexOf('}');
|
||||
|
||||
if (start >= 0 && end > start)
|
||||
{
|
||||
return text.Substring(start, end - start + 1);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace NfcC7_DLL.NfcHanler.Utils
|
||||
{
|
||||
public static class ProcessExtensions
|
||||
{
|
||||
public static Task WaitForExitAsync(this Process process, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (process == null) throw new ArgumentNullException(nameof(process));
|
||||
if (process.HasExited) return Task.CompletedTask;
|
||||
|
||||
var tcs = new TaskCompletionSource<object>(TaskCreationOptions.RunContinuationsAsynchronously);
|
||||
|
||||
EventHandler handler = null;
|
||||
handler = (s, e) =>
|
||||
{
|
||||
try { tcs.TrySetResult(null); }
|
||||
finally { process.Exited -= handler; }
|
||||
};
|
||||
|
||||
process.EnableRaisingEvents = true;
|
||||
process.Exited += handler;
|
||||
|
||||
if (cancellationToken.CanBeCanceled)
|
||||
{
|
||||
cancellationToken.Register(() =>
|
||||
{
|
||||
tcs.TrySetCanceled(cancellationToken);
|
||||
process.Exited -= handler;
|
||||
});
|
||||
}
|
||||
|
||||
return tcs.Task;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,167 +0,0 @@
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Diagnostics;
|
||||
using System.IO.Ports;
|
||||
|
||||
//*****************************************************************************
|
||||
// Copyright 2020 Sensus GmbH Ludwigshafen. All rights reserved.
|
||||
// Author: Venkat, Rajeshwar
|
||||
//*****************************************************************************
|
||||
|
||||
namespace NfcC7_DLL.NfcHanler.Utils
|
||||
{
|
||||
public class SERIAL_Driver
|
||||
{
|
||||
public string ErrorMessage { get; private set; }
|
||||
public Collection<byte> SerialPortReadBuffer = new Collection<byte>();
|
||||
private SerialPort _serialPort;
|
||||
|
||||
private List<byte[]> _binMessages = new List<byte[]>();
|
||||
private bool _isReading;
|
||||
private Parity Parity { get; set; }
|
||||
private StopBits StopBits { get; set; }
|
||||
|
||||
public SERIAL_Driver()
|
||||
{
|
||||
_serialPort = new SerialPort();
|
||||
}
|
||||
|
||||
public bool OpenConnection(string comPort, int baudrate, int dataBits, Parity parity, StopBits stopbits, int readTimeout=1000, int writeTimeout = 1000)
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
if ((_serialPort != null) && (_serialPort.IsOpen))
|
||||
{
|
||||
_serialPort.DataReceived -= DataReceivedHandler;
|
||||
_serialPort.Close();
|
||||
_serialPort.Dispose();
|
||||
_serialPort = null;
|
||||
}
|
||||
try
|
||||
{
|
||||
ErrorMessage = "";
|
||||
//_serialPort = new SerialPort(comPort, 57600, Parity.None, 8, StopBits.Two);
|
||||
_serialPort = new SerialPort(comPort, baudrate, parity, dataBits, stopbits);
|
||||
_serialPort.ReadTimeout = readTimeout;
|
||||
_serialPort.WriteTimeout = writeTimeout;
|
||||
_serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
|
||||
_serialPort.Open();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ErrorMessage = String.Format("COM error: Open failed {0}.{1}", comPort, ex.Message);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!_serialPort.IsOpen)
|
||||
{
|
||||
ErrorMessage = String.Format("COM error: Can't Open {0}.", comPort);
|
||||
return false;
|
||||
}
|
||||
}//End Lock
|
||||
return true;
|
||||
}
|
||||
public bool SendMessage(byte[] sendDataBytes, int length, int readTimeout = 1000, int writeTimeout=1000)
|
||||
{
|
||||
if (!isOpen()) return false;
|
||||
if (sendDataBytes.Length == 0) return true; // nothing to send - no error
|
||||
try
|
||||
{
|
||||
PrepareReading(); //clear read buffer etc.
|
||||
_serialPort.WriteTimeout = writeTimeout;
|
||||
_serialPort.ReadTimeout = readTimeout;
|
||||
_serialPort.Write(sendDataBytes, 0, length);
|
||||
_isReading = true;
|
||||
Thread.Sleep(100);
|
||||
var stopWatch = Stopwatch.StartNew(); //start stop watch for data recevie timeout
|
||||
while (_isReading) //wait until reading finishes or timeout occur
|
||||
{
|
||||
if (stopWatch.ElapsedMilliseconds > readTimeout)
|
||||
{
|
||||
stopWatch.Stop();
|
||||
ErrorMessage = "COM error: Receive timeout";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
ErrorMessage = String.Format("COM error: Transmit timeout {0}.{1}", _serialPort.PortName, ex.Message);
|
||||
return false; // Exception in send function
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private void PrepareReading()
|
||||
{
|
||||
_serialPort.DiscardInBuffer();
|
||||
if(_binMessages != null) _binMessages.Clear();
|
||||
_isReading = true;
|
||||
}
|
||||
public byte[] GetRawData()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_binMessages.Count > 0)
|
||||
return _binMessages[0].ToArray();
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch(Exception)
|
||||
{
|
||||
byte[] err = { 0xFF };
|
||||
return err;
|
||||
}
|
||||
}
|
||||
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
|
||||
{
|
||||
if (!_serialPort.IsOpen) return;
|
||||
lock (this)
|
||||
{
|
||||
Thread.Sleep(100);
|
||||
if (!_serialPort.IsOpen) return;
|
||||
SerialPortReadBuffer = new Collection<byte>();
|
||||
while (_serialPort.BytesToRead > 0)
|
||||
{
|
||||
SerialPortReadBuffer.Add((byte)_serialPort.ReadByte());
|
||||
}
|
||||
|
||||
_binMessages.Add(SerialPortReadBuffer.ToArray());
|
||||
_isReading = false;
|
||||
}
|
||||
}
|
||||
|
||||
public void CloseConnection()
|
||||
{
|
||||
if ((_serialPort != null) && (_serialPort.IsOpen))
|
||||
{
|
||||
_serialPort.DataReceived -= DataReceivedHandler;
|
||||
_serialPort.Close();
|
||||
_serialPort.Dispose();
|
||||
_serialPort = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
if (isOpen())
|
||||
{
|
||||
_serialPort.Close();
|
||||
}
|
||||
}
|
||||
public void Dispose()
|
||||
{
|
||||
if (_serialPort != null)
|
||||
{
|
||||
_serialPort.Dispose();
|
||||
}
|
||||
}
|
||||
public bool isOpen()
|
||||
{
|
||||
if(_serialPort != null)
|
||||
return _serialPort.IsOpen;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
namespace NfcC7_DLL.NfcHanler.Utils
|
||||
{
|
||||
public class SerialPortData
|
||||
{
|
||||
private Boolean? _cliExists;
|
||||
public bool CliExists { get {
|
||||
if (_cliExists == null || !_cliExists.HasValue)
|
||||
{
|
||||
_cliExists = File.Exists(SerialPortCmdClientPath);
|
||||
}
|
||||
return _cliExists.Value;
|
||||
} }
|
||||
public string SerialPortCmdClientPath {
|
||||
get {
|
||||
#if DEBUG
|
||||
return Path.Combine("C:","TBF","Cli", CmdClientName);
|
||||
#else
|
||||
return Path.Combine("..","Cli", CmdClientName);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
public string CmdClientName { get; set; } = "HalCli.exe";
|
||||
public string PortName { get; set; }
|
||||
public int MeterType { get; set; }
|
||||
|
||||
public enum EMeterArg {
|
||||
Calibration = 0,
|
||||
AllParams = 2,
|
||||
DeviceId = 3,
|
||||
Optohead = 4,
|
||||
}
|
||||
EMeterArg _eMeterArg = EMeterArg.AllParams;
|
||||
|
||||
public string DefaultArgSettingsRead(EMeterArg eMeterArg)
|
||||
{
|
||||
switch (eMeterArg)
|
||||
{
|
||||
case EMeterArg.AllParams:
|
||||
return $"-p {PortName} -m {MeterType} --operation readall";
|
||||
case EMeterArg.DeviceId:
|
||||
return $"-p {PortName} -m {MeterType} --operation read --parameter DeviceId";
|
||||
case EMeterArg.Optohead:
|
||||
return $"-p {PortName} -m {MeterType} --operation read --parameter \"OpticalDataMode\"";
|
||||
default:
|
||||
throw new Exception("Not implemented correct command!");
|
||||
}
|
||||
}
|
||||
|
||||
public string DefaultArgSettingsWrite(EMeterArg eMeterArg, string arg)
|
||||
{
|
||||
switch (eMeterArg)
|
||||
{
|
||||
case EMeterArg.Calibration:
|
||||
return $"-p {PortName} -m {MeterType} --operation write --parameter Calibration --value {arg}";
|
||||
case EMeterArg.Optohead:
|
||||
return $"-p {PortName} -m {MeterType} --operation write --parameter \"OpticalDataMode\" --value {arg}";
|
||||
default:
|
||||
throw new Exception("Not implemented correct command!");
|
||||
}
|
||||
}
|
||||
|
||||
public SerialPortData(
|
||||
string portName,
|
||||
string cmdClientName,
|
||||
int meterType)
|
||||
{
|
||||
PortName = portName;
|
||||
CmdClientName = cmdClientName;
|
||||
MeterType = meterType;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,156 +0,0 @@
|
||||
using System.Text;
|
||||
|
||||
//*****************************************************************************
|
||||
// Copyright 2020 Sensus GmbH Ludwigshafen. All rights reserved.
|
||||
// Author: Venkat, Rajeshwar
|
||||
//*****************************************************************************
|
||||
|
||||
namespace NfcC7_DLL.NfcHanler.Utils
|
||||
{
|
||||
public static class Tools
|
||||
{
|
||||
public static bool ByteArrayCompare(byte[] a1, byte[] a2)
|
||||
{
|
||||
// thanks to https://stackoverflow.com/questions/43289/comparing-two-byte-arrays-in-net
|
||||
if (a1.Length != a2.Length)
|
||||
return false;
|
||||
|
||||
for (int i = 0; i < a1.Length; i++)
|
||||
if (a1[i] != a2[i])
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
public static string SwapHex(string sHex)
|
||||
{
|
||||
string sResult = "";
|
||||
int iPos = sHex.Length - 2;
|
||||
while (iPos >= 0)
|
||||
{
|
||||
sResult += sHex.Substring(iPos, 2);
|
||||
sHex = sHex.Remove(iPos, 2);
|
||||
iPos = sHex.Length - 2;
|
||||
}
|
||||
return sResult;
|
||||
}
|
||||
public static string DecimalToHexString(string value, int size = 1)
|
||||
{
|
||||
try
|
||||
{
|
||||
long Lval = long.Parse(value);
|
||||
if (size == 1) return Lval.ToString("X2");
|
||||
if (size == 2) return Lval.ToString("X4");
|
||||
if (size == 4) return Lval.ToString("X8");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
if (size == 1) return "00";
|
||||
if (size == 2) return "0000";
|
||||
if (size == 4) return "00000000";
|
||||
}
|
||||
return "00";
|
||||
}
|
||||
public static string ByteToHexString(byte data)
|
||||
{
|
||||
List<byte> val = new List<byte>();
|
||||
val.Add(data);
|
||||
byte[] arr = val.ToArray();
|
||||
return BytesToHex(arr);
|
||||
}
|
||||
public static string BytesToHex(byte[] data)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (byte b in data)
|
||||
sb.Append(b.ToString("X2"));
|
||||
|
||||
return sb.ToString();
|
||||
|
||||
}
|
||||
public static byte[] HexStringToByteArray(String hexString)
|
||||
{
|
||||
int numberChars = hexString.Length;
|
||||
byte[] bytes = new byte[numberChars / 2];
|
||||
for (int i = 0; i < numberChars; i += 2)
|
||||
{
|
||||
bytes[i / 2] = Convert.ToByte(hexString.Substring(i, 2), 16);
|
||||
}
|
||||
return bytes;
|
||||
}
|
||||
public enum InitialCrcValue
|
||||
{
|
||||
Zeros,
|
||||
NonZero1 = 0xffff,
|
||||
NonZero2 = 0x1D0F
|
||||
}
|
||||
|
||||
public class Crc16Ccitt
|
||||
{
|
||||
private const ushort poly = 0x1021;
|
||||
ushort[] table = new ushort[256];
|
||||
ushort initialValue = 0;
|
||||
|
||||
public ushort ComputeChecksum(byte[] bytes)
|
||||
{
|
||||
ushort crc = this.initialValue;
|
||||
for (int i = 0; i < bytes.Length; ++i)
|
||||
{
|
||||
crc = (ushort)((crc << 8) ^ table[((crc >> 8) ^ (0xff & bytes[i]))]);
|
||||
}
|
||||
return crc;
|
||||
}
|
||||
public byte[] ComputeChecksumBytes(byte[] bytes)
|
||||
{
|
||||
ushort crc = ComputeChecksum(bytes);
|
||||
return BitConverter.GetBytes(crc);
|
||||
}
|
||||
public Crc16Ccitt(InitialCrcValue initialValue)
|
||||
{
|
||||
this.initialValue = (ushort) initialValue;
|
||||
ushort temp, a;
|
||||
for (int i = 0; i < table.Length; ++i)
|
||||
{
|
||||
temp = 0;
|
||||
a = (ushort) (i << 8);
|
||||
for (int j = 0; j < 8; ++j)
|
||||
{
|
||||
if (((temp ^ a) & 0x8000) != 0)
|
||||
{
|
||||
temp = (ushort) ((temp << 1) ^ poly);
|
||||
}
|
||||
else
|
||||
{
|
||||
temp <<= 1;
|
||||
}
|
||||
a <<= 1;
|
||||
}
|
||||
table[i] = temp;
|
||||
}
|
||||
}
|
||||
public byte[] calcCRCfromMessage(byte[] message)
|
||||
{
|
||||
// CRC calculation goes from MessageID to Password
|
||||
// For Read this means MsgID (1) + Offset (2) + PayloadLength (1) + Password (2) = 6
|
||||
// for write the length of the payload comes on top.
|
||||
// STX(1), length(1), CRC(2) and ETX(1) are excluded, in total 5 bytes.
|
||||
//
|
||||
// the method works both for sending messages (where the CRC and ETX are not in message)
|
||||
// and for receiving messages (where the CRC and ETX are included at the end)
|
||||
byte[] crc_msg = new byte[message[1]]; // message length is 2nd byte
|
||||
Array.Copy(message, 2, crc_msg, 0, crc_msg.Length);
|
||||
return ComputeChecksumBytes(crc_msg);
|
||||
}
|
||||
public string commentCRC(byte[] crc_meter, byte[] crc_computed)
|
||||
{
|
||||
bool crc_do_match = Tools.ByteArrayCompare(crc_meter, crc_computed);
|
||||
string crcComment = crc_do_match ? "ok." : "CRC DOESN'T MATCH!!";
|
||||
return "CRC Meter: " + Tools.BytesToHex(crc_meter) + (crc_do_match ? " == " : " != ")
|
||||
+ "CRC Computed: " + Tools.BytesToHex(crc_computed) + ". " + crcComment;
|
||||
}
|
||||
public bool crc_do_match(byte[] a, byte[] b)
|
||||
{
|
||||
return ByteArrayCompare(a, b);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,7 +38,7 @@ namespace ResetBatchNr
|
||||
ls.BatchNr = 1;
|
||||
ls.Save();
|
||||
|
||||
Console.WriteLine(@"BatchNr was reset to 1");
|
||||
Console.WriteLine("BatchNr was reset to 1");
|
||||
Console.ReadLine();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;IPERL;HEAT_METERS;</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;IPERL</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
@@ -29,7 +29,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;IPERL;HEAT_METERS;</DefineConstants>
|
||||
<DefineConstants>TRACE;IPERL</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;LANG_PL;HEAT_METERS;</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;LANG_PL</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
@@ -25,7 +25,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;HEAT_METERS;</DefineConstants>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -119,10 +119,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sensus.iPerl.TestConsole",
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NfcS5_DLL", "..\NfcS5_DLL\NfcS5_DLL.csproj", "{5954D496-CAAB-4F7A-BDE2-BDC8F47DAB19}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NfcC7_DLL", "NfcC7_DLL\NfcC7_DLL.csproj", "{53E75979-B530-4805-8FC9-B314F14A62BE}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NfcC7_DLL.Tests", "NfcC7_DLL.Tests\NfcC7_DLL.Tests.csproj", "{715605C5-568B-48D6-9C09-2DC5F2E81F66}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -543,30 +539,6 @@ Global
|
||||
{5954D496-CAAB-4F7A-BDE2-BDC8F47DAB19}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{5954D496-CAAB-4F7A-BDE2-BDC8F47DAB19}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5954D496-CAAB-4F7A-BDE2-BDC8F47DAB19}.Release|x86.Build.0 = Release|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{53E75979-B530-4805-8FC9-B314F14A62BE}.Release|x86.Build.0 = Release|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{715605C5-568B-48D6-9C09-2DC5F2E81F66}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/ShowAdvancedOptions/@EntryValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestProjectMapping/=743DF7DB_002DC7B6_002D42EB_002D986D_002D0F485E5588E4/@EntryIndexedValue">77EB589F-C670-4489-AAD6-2A3C02061FD1</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestProjectMapping/=8648FD92_002DCDA1_002D4C3A_002DB5F9_002DFE547CE1FA48/@EntryIndexedValue">77EB589F-C670-4489-AAD6-2A3C02061FD1</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestTemplateMapping/=MSTest/@EntryIndexedValue">d6790ab7-33c2-4425-b2c9-51480cd1a852</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=311ca613_002Da634_002D4e0f_002Db9fb_002D4b7af9b7abb2/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" Name="GetCorrection" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Entities.MeasurementCorrectionTest.GetCorrection</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Modbus.Meret.AdjustableScale.AdjustableMeterTest.GetCorrection</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.RtpListener</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.Initialize</TestId>
|
||||
</TestAncestor>
|
||||
</SessionState></s:String>
|
||||
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=fee81c72_002D0b13_002D439c_002D8921_002D12878bb8cd86/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" IsActive="True" Name="Initialize" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.Initialize</TestId>
|
||||
</TestAncestor>
|
||||
</SessionState></s:String>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=Config_002FResources_002FStrings/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=DeviceTest_002FDeviceTestDlg/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=Miscellaneous_0020Files_002FWyqupug/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FResources_002FStrings/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FCycleBeginningForm/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FTestStartEndForm/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterFTP_002FNetadapterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FKeyenceIV3G120_002FCameraCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartKeyence_002FRoiCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FRestAPI_002FRestApiCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FGroupPrinting_002FSingle_002FPrinterCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FGroupPrinting_002FSingle_002FPrinterTestBenchComponentSelectorDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FFrequencyMeterFromUniCB_002FRRCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FComponents_002FComponentsManagerDlg/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgAdjustableScaleTab/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgPressMeterTab/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/Initialized/@EntryValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
@@ -1,355 +0,0 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAssert_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fd08b5425b14a4a129bfa8e447a81395e12190_003F4e_003F763c73b7_003FAssert_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AComponent_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc0c221501f3a41f8ac0af9d6a9dc9ff335fd90_003F1c_003F3d03a130_003FComponent_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AContainerControl_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F32c22f7c1b7049ccad5f07031bb43bf35b8590_003Fb3_003F54768651_003FContainerControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControl_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F32c22f7c1b7049ccad5f07031bb43bf35b8590_003F01_003F35d9c974_003FControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnum_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F96_003F1b5cc389_003FEnum_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExecutionContextSwitcher_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F78_003Fabacf9b6_003FExecutionContextSwitcher_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AFileDialog_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F32c22f7c1b7049ccad5f07031bb43bf35b8590_003Fe6_003F4ece5b68_003FFileDialog_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AGetChildAtPointSkip_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F32c22f7c1b7049ccad5f07031bb43bf35b8590_003F63_003F931a2e4f_003FGetChildAtPointSkip_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AIList_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F6e_003Fc16f1098_003FIList_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AILog_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c853b67fc2341bf8af0d999ea188b6a42000_003Ff4_003F27b3d1bb_003FILog_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AImage_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1af41839925b4409b823837d7b5f29d691940_003Fcc_003Fba3dfabe_003FImage_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AJsonConvert_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F43b5ed322493bdcdb2e73ba6f9808f93c7c41fdf_003FJsonConvert_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AList_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F92_003Fe3eb9ff2_003FList_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ANetworkStream_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc0c221501f3a41f8ac0af9d6a9dc9ff335fd90_003F78_003Fdc4af641_003FNetworkStream_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ARotateFlipType_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F1af41839925b4409b823837d7b5f29d691940_003F3b_003Ff7d64930_003FRotateFlipType_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStreamReader_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003Fb8_003Fd3bcd2f1_003FStreamReader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStreamWriter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F2e_003F8ad77ef0_003FStreamWriter_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStringWriter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3020f90f960f433086d545c4e07afdfd531820_003F00_003F5212e7ed_003FStringWriter_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATaskFactory_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003Fe5_003Fa31e7ef9_003FTaskFactory_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATask_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F9a_003F1a93d99e_003FTask_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATask_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003Fa3_003F820cf97f_003FTask_00601_002Ecs_002Fz_003A2_002D1/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATcpClient_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc0c221501f3a41f8ac0af9d6a9dc9ff335fd90_003Fdb_003Fe9bb8972_003FTcpClient_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATestMethodInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003F98_003F3ffb6d31_003FTestMethodInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThread_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F06_003Fbeac08f5_003FThread_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F67_003F5737ad8a_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AUdpClient_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc0c221501f3a41f8ac0af9d6a9dc9ff335fd90_003Fdb_003Fe89b26d3_003FUdpClient_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AUserControl_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F32c22f7c1b7049ccad5f07031bb43bf35b8590_003Fc3_003F7d8608ff_003FUserControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXmlReflectionImporter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9e4992465ee24dc8915fd9be20badb7d281d48_003F14_003Ffe12756e_003FXmlReflectionImporter_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003A_005F_005FError_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003Ffa_003Fa44fa010_003F_005F_005FError_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMethodInfoExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003F63_003F30e5e5fa_003FMethodInfoExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATask_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3020f90f960f433086d545c4e07afdfd531820_003F34_003F74019b66_003FTask_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStringBuilder_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F3789ee403a53437cbb6b5d9ab6311f51573620_003F35_003Ff9dfb3b8_003FStringBuilder_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATestMethodInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003F98_003F3ffb6d31_003FTestMethodInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXmlReflectionImporter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9e4992465ee24dc8915fd9be20badb7d281d48_003F14_003Ffe12756e_003FXmlReflectionImporter_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:Boolean x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/ShowAdvancedOptions/@EntryValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestProjectMapping/=743DF7DB_002DC7B6_002D42EB_002D986D_002D0F485E5588E4/@EntryIndexedValue">77EB589F-C670-4489-AAD6-2A3C02061FD1</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestProjectMapping/=8648FD92_002DCDA1_002D4C3A_002DB5F9_002DFE547CE1FA48/@EntryIndexedValue">77EB589F-C670-4489-AAD6-2A3C02061FD1</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestTemplateMapping/=MSTest/@EntryIndexedValue">d6790ab7-33c2-4425-b2c9-51480cd1a852</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=311ca613_002Da634_002D4e0f_002Db9fb_002D4b7af9b7abb2/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" IsActive="True" Name="GetCorrection" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Entities.MeasurementCorrectionTest.GetCorrection</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Modbus.Meret.AdjustableScale.AdjustableMeterTest.GetCorrection</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.RtpListener</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.Initialize</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Output.FileWriters.Enhanced.WriterTest.GetFilenameTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.CliRunnerTest.ExtractJson_Test</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.CliRunnerTest.ExtractJson_Test2</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.CliRunnerTest.TryJsonStringDeserialize_Test</TestId>
|
||||
</TestAncestor>
|
||||
</SessionState></s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=81a12a1c_002Da5e5_002D4c97_002Db426_002D961e76b528cf/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" Name="ExtractJson_Test2" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<Or>
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.CliRunnerTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.PoseidonReaderTest.TryGetDeviceId_Test1</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.PoseidonReaderTest.TryGetDeviceId_Test2</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.PoseidonReaderTest.TryGetDeviceId_Test3</TestId>
|
||||
</TestAncestor>
|
||||
<ProjectFile>77EB589F-C670-4489-AAD6-2A3C02061FD1/d:Entities/f:MeasurementCorrectionTest.cs</ProjectFile>
|
||||
</Or>
|
||||
</SessionState></s:String>
|
||||
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=fee81c72_002D0b13_002D439c_002D8921_002D12878bb8cd86/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" Name="Initialize" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=943f9249_002Ded52_002D453e_002Db953_002Db234aabc0cc0/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" IsActive="True" Name="TryJsonStringDeserialize_Test" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.CliRunnerTest.TryJsonStringDeserialize_Test</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.RoiForFixedStartKeyence.RoiTest.Valve</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.CJMS11.CameraTest</TestId>
|
||||
</TestAncestor>
|
||||
</SessionState></s:String>
|
||||
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=fee81c72_002D0b13_002D439c_002D8921_002D12878bb8cd86/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" Name="Initialize" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.Initialize</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Output.FileWriters.Enhanced.WriterTest.GetFilenameTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.CliRunnerTest.ExtractJson_Test</TestId>
|
||||
</TestAncestor>
|
||||
</SessionState></s:String>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=AppDiagnostic_002FMainForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=AppDiagnostic_002FProperties_002FResources/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=Config_002FResources_002FStrings/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=DeviceTest_002FDeviceTestDlg/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=Miscellaneous_0020Files_002FWyqupug/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FProperties_002FResources/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FResources_002FStrings/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FResources_002FStrings_002Ezh_002DCN/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FBuiltIn_002FPump_002FPumpCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FBuiltIn_002FPumpTandem_002FPumpCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FBuiltIn_002FValve_002FValveCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FBuiltIn_002FValveEx_002FValveCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FConfigs_002FNameOnly_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FConfigs_002FParamsProvider_002FComponentCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDanfoss_002FVLT2800_002FPumpCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataContainer_002FEvaporation_002FEvaporationCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FCombined_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FCombined_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FCombined_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FCombined_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FHeatMeters12_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FHeatMeters12_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FHeatMeters12_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FHeatMeters12_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FHeatMeters6_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FHeatMeters6_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FHeatMeters6_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FHeatMeters6_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FiPerl_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FiPerl_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FPoseidonCmd_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FPoseidonCmd_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FS620_002FCheckItems_002FBarcode/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FS620_002FCheckItems_002FKeyboard/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FS620_002FCheckItems_002FOkNok/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FS620_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FS620_002FFormForMechanicalMeters/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FS620_002FFormForMechanicalMetersWithTracing/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FS620_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FSingle_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FSingle_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FSingle_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FSingle_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard12_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard12_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard12_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard12_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard24_002FAdvancedFixedStartTestForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard24_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard24_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard24_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard24_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard48_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard48_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard48_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard48_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard6_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard6_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard6_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandard6_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandardCamera_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandardCamera_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandardCamera_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandardCamera_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FCycleEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FUni_002FCycleBgEnForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FUni_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDummy_002FRegValve_002FRegulValveCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FKeithley_002FMultimeter_005F2010_005FRS232_002FMultimeterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FKeithley_002FTempMeter_002FTempMeterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FMettlerToledo_002FStandard_002FBalanceCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FModbus_002FPumpFM_002FDanfossVLT_002FPumpCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FModbus_002FQuidoRS_002FConfirmationForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FModbus_002FQuidoRS_002FQuidoRSCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FModbus_002FTankSelector_002FTankSelectorCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterFTP_002FNetadapterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterJMS_002FNetadapterCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FCameraCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FTerminalDlg/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapter_002FNetadapterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterJMS_002FNetadapterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FCameraCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FTerminalDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCLP1611_002FCameraCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCLP1611_002FTerminalDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FDisplay_002FDisplayCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FDisplay_002FDisplayForm/@EntryIndexedValue">True</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FKeyenceIV3G120_002FCameraCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartCJMS11_002FRoiCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartCJMS11_002FRoiCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartKeyence_002FRoiCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoi_002FRoiCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStart_002FRoiCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FComet_002FAmbient_002FAmbientCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FRestAPI_002FRestApiCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOperations_002FAskYesNoForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOperations_002FLargeMessageBoxForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOperations_002FMessageBoxForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FDB_002FProductionTracing_002FTracingCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FDB_002FSaveDiverterCorrections_002FSaveDiverterCorrCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FDB_002FSaveFlowmeterCorrections_002FSaveFlowmeterCorrCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FFileWriters_002FBasic_002FWriterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FFileWriters_002FElde_002FWriterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FFileWriters_002FEnhanced_002FWriterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FFileWriters_002FImageArchiver_002FArchiverCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FFileWriters_002FOneFilePerMeter_002FWriterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FFileWriters_002FXml_002FWriterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FFileWriters_002FXmlBatch_002FWriterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FHeaderFooterDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FEnhanced_002FPrinterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FGroupPrinting_002FSingle_002FPrinterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FGroupPrinting_002FSingle_002FPrinterTestBenchComponentSelectorDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FLabel_002FPrinterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FMultiLabel_002FPrinterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FOnePerBatch_002FPrinterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FOnePerMeter_002FPrinterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FZapiska_002FPrinterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FFrequencyMeterFromUniCB_002FRRCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FKPackE_002FDataEntryForRadio_002FCycleBeginningForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FKPackE_002FDataEntryForRadio_002FEntryFormCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FKPackE_002FDataEntryForRadio_002FTestStartEndForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FKPackE_002FRegisterReader_002FRRCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FPulsesFromUniCB_002FRRCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FStandingStartStop_002FRRCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FAdjustment_002FWMErrorsForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FAdjustment_002FWMErrorsForm12/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FAdjustment_002FWMErrorsForm24/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FAdjustment_002FWMErrorsForm48/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FCombinedWithDetection_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FDiverterTest_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FEndurance_002FCycleDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FEndurance_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFixedStart_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFixedStartDeferredEval_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFixedStartMassCollDeferredEval_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFixedStartTankCollection_002FCompound_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFixedStartTankCollection_002FSingle_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStart_002FCompound_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStart_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartFirstRepetWithMassColl_002FCompound_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartFirstRepetWithMassColl_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartFirstRepetWithMassColl_002FSingle_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollComparative_002FCompound_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollComparative_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollComparative_002FSingle_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollection_002FCompound_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollection_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollection_002FSingle_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollProlonged_002FCompound_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollProlonged_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartMassCollProlonged_002FSingle_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartTankCollection_002FCompound_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FFlyingStartTankCollection_002FSingle_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FGrabImage_002FGrabImageCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FiPerlCommunication_002FiPerlCommunicationForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FiPerlCommunication_002FiPerlHead_002FIperlHeadCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FiPerlCommunication_002FiPerlHead_002FIperlHeadTestCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FiPerlCommunication_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FLiveStream_002FCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FManualEntry_002FManualEntryCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FManualEntry_002FManualEntryForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FPulsesTest_002FWMPulsesForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FPulsesTest_002FWMPulsesForm12/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FPulsesTest_002FWMPulsesForm24/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FPulsesTestManual_002FManualPulsesForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FPulsesTestManual_002FManualPulsesForm12/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FPulsesTestManual_002FManualPulsesForm24/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FQ2CorrectionFromHistory_002FFromHistoryCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FRoiDetection_002FRoiDetectionCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FS640Communication_002FS640CommForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FSensitivityTest_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FStandingStart_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FStandingStartMassCollection_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FTestMethods_002FStandingStartMassCollectionAdvance_002FHeatMeters_002FTestMethodCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FUni_002FDiverter_002FDiverterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FUni_002FRegValve_002FRegValveCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FUni_002FRegValveAnalog_002FRegValveCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FUni_002FRegValveLowRegulTimeSaturation_002FRegValveCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FUni_002FRegValveTandem_002FRegValveTandemCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FVarious_002FCoverTest_002FCoverTestForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FVarious_002FManualLevelMsrmnt_002FWaterLevelForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FVarious_002FTankWithLevelMsrmnt_002FTankCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FWaterMeters_002FWaterMeter_002FWaterMeterCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FComponents_002FComponentParametersDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FComponents_002FComponentsManagerDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FComponents_002FSelectComponentClassDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FEditSchDrawing_002FEditSchDrawingDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FCalibCertificateCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgAdjustableScaleTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgBuoyancyTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgDensityTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgDiverterTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgEvaporationTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgFlowMeterTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgLevelMeterTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgPlatinumResistanceTMeterTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgPressMeterTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgScaleTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgTempMeterTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FPaths_002FPathsDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FTestProfiles_002FTestProfileDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FTestProfiles_002FTestProfilesDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FTransitions_002FTransitionsDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FUncertainties_002FUncertaintiesDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FUncertainties_002FUncertntDlgDensityTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FUncertainties_002FUncertntDlgPressMeterTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FUncertainties_002FUncertntDlgScaleTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FUncertainties_002FUncertntDlgTempMeterTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FCalendar_002FCalendarCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FCalendar_002FCalendarTabPageCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FCalendar_002FEventDetailsForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FCamera_002FCameraPictureCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FCamera_002FCameraPictureCtrl2/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FCamera_002FCameraPictureCtrl3/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FCamera_002FCameraPictureFullCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FCamera_002FPicturesTabPageCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FEventLogs_002FEventLogsTabPageCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FGraphs_002FGraphsTabPageCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FHelp_002FAboutDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FMainWnd_002Ezh_002DCN/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FMainWnd/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FProcedureDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FProcedureParamsCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FProcedureParamsMixedCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FProceduresCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FProceduresDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestParamsCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FConfirmUpdatingTests/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FFlowSelection/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FHeatMetersSelection/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FMethodSelection/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FOracleWZTypSelection/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FPressureSelection/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FRoi1/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FRoi2/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FRoi3/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FTestProfileSelection/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcedures_002FTestWizard_002FVolumeAndErrorSelection/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FProcess_002FProcessTabPageCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FResultsMI_002FDeleteFromOracleForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FResultsMI_002FPreviousResultCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FResultsMI_002FPreviousResultsDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FResultsMI_002FPrintResultsSelectionDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FResultsMI_002FResultsArrangementDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FResultsMI_002FResultsTabPageCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FResultsMI_002FSendAgainDBAndWMSelectionForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FSettings_002FBenchesDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FSettings_002FDatabaseSettingsDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FSettings_002FLanguageDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FSettings_002FUpgradeSelectionDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FBenchControlPanel/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FClosingTbfForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FErrorDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FLoginDlgWithBenchSelection/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FModelessActivityForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FNoBenchOrDatabaseDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FPrintOrderForm/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FRemarkDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FSharedButtons/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FTabNameDlg/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FShared_002FTestProgressCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/Initialized/@EntryValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
@@ -1,999 +0,0 @@
|
||||
<CorruptedSettingsDescription>
|
||||
<Exception Message="Duplicate entry with key /Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATestMethodInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003F98_003F3ffb6d31_003FTestMethodInfo_002Ecs/@EntryIndexedValue. Using the second occurrence." Kind="Error">Duplicate entry with key /Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATestMethodInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003F98_003F3ffb6d31_003FTestMethodInfo_002Ecs/@EntryIndexedValue. Using the second occurrence.
|
||||
|
||||
--- EXCEPTION #1/2 [WarningException]
|
||||
Message = “Duplicate entry with key /Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATestMethodInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003F98_003F3ffb6d31_003FTestMethodInfo_002Ecs/@EntryIndexedValue. Using the second occurrence.”
|
||||
ExceptionPath = Root.InnerException
|
||||
ClassName = System.ComponentModel.WarningException
|
||||
HResult = COR_E_SYSTEM=80131501
|
||||
|
||||
--- Outer ---
|
||||
|
||||
--- EXCEPTION #2/2 [LoggerException]
|
||||
Message = “Duplicate entry with key /Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATestMethodInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003F98_003F3ffb6d31_003FTestMethodInfo_002Ecs/@EntryIndexedValue. Using the second occurrence.”
|
||||
InnerException = “Exception #1 at Root.InnerException”
|
||||
StackTraceString = “
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_ReadEntryValueEnd_CommitContent() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Run(XmlReader reader, EntryPositionsFlag entryPositionsFlag) in Run.il:line IL_006B mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__5(XmlReader xmlreader)
|
||||
at JetBrains.Util.XmlReaderEx.ReadXml[TResult](Stream stream, Func`2 FRead) in ReadXml.il:line IL_002F mvid 54EE
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__4(Stream streamR)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.ReadStream[T,TF,TFile,TDir](FileSystemPathBase`3 path, Func`2 λRead) in ReadStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_1.<Save_WriteFile_BackupOldCorruptedFile>b__2()
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.XmlWriterEx.InElement(XmlWriter writer, String name, Action nested, Boolean writeFullEndElement)
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__1(XmlWriter xmlwriter)
|
||||
at JetBrains.Util.XmlWriterEx.WriteXml(Stream stream, Action`1 FWrite) in WriteXml.il:line IL_0023 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__0(Stream stream)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.WriteStream[T,TFile,TDir](FileSystemPathBase`3 path, Action`1 λWrite) in WriteStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile_BackupOldCorruptedFile(FileSystemPath path) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass31_0.<Save_WriteFile>b__0()
|
||||
at JetBrains.Util.ILoggerEx.Catch(ILogger logger, Action action, ExceptionOrigin origin, LoggingLevel loggingLevel) in Catch.il:line IL_0060 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass9_0.<Init_FirstLoadLastSave>b__1()
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass0_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.CombinedProperty2`3.<>c__DisplayClass8_0.<AdviseCore>b__1() in CombinedProperty2.il:line IL_009C mvid D244
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.ProjectModel.SolutionInstance.CloseSolutionInstance() in CloseSolutionInstance.il:line IL_0087 mvid 4DD6
|
||||
at JetBrains.ProjectModel.SolutionManagerBase.CloseSolutionInstance(SolutionInstance instance) in CloseSolutionInstance.il:line IL_0000 mvid 4DD6
|
||||
at JetBrains.ProjectModel.ProjectsHost.SolutionHost.Impl.SolutionHostManager.CloseSolution() in CloseSolution.il:line IL_0046 mvid 1A79
|
||||
at JetBrains.Rider.Backend.Features.ProjectModel.RiderSolutionWatcher.<>c__DisplayClass4_0.<.ctor>b__2() in RiderSolutionWatcher.il:line IL_002D mvid 2082
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.SequentialLifetimes.TrySetNewAndTerminateOld(LifetimeDefinition newLifetimeDefinition, Action`1 actionWithNewLifetime) in TrySetNewAndTerminateOld.il:line IL_001F mvid 6B8D
|
||||
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39_0.<WhenTrue>b__0(PropertyChangedEventArgs`1 args) in IPropertyEx.il:line IL_0000 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.RunsProducts.<>c__DisplayClass5_1.<.ctor>b__0(PropertyChangedEventArgs`1 _)
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass1_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_2.<AdviseCore>b__4() in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_0.<AdviseCore>b__3(PropertyChangedEventArgs`1 args) in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.UpdateActiveTellers(Lifetime lifetimeComponent, List`1 tellers, IThreading threading, IProperty`1 propComposite, ILogger logger) in UpdateActiveTellers.il:line IL_00FD mvid 5EF9
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.<>c__DisplayClass2_0.<UpdateActiveTellers>g__UpdateActiveTellersAgain|0() in ReportsProductsAllowedToRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass10_0`1.<Advise_NoAcknowledgement>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ApplicationShutdownRequests.<>c__DisplayClass10_0.<ProcessShutdownVerdict>b__0() in ApplicationShutdownRequests.il:line IL_00C3 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.ReentrancyGuard.Execute(String name, CallerInfo& caller, Action action) in Execute.il:line IL_0122 mvid D244
|
||||
at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions(TaskPriority priorityLowestAllowedToExecute) in ExecutePendingActions.il:line IL_0088 mvid D244
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.ProcessQueue(Int32 nMinBucket, Int32 nProcessQueueGeneration) in ProcessQueue.il:line IL_01D0 mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.JetDispatcherTransportReliabilityLayer.OnInvoke(TaskPriority priority) in OnInvoke.il:line IL_007F mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.OnMessage(Void* hwnd, WindowsMessages message, IntPtr wParam, IntPtr lParam) in OnMessage.il:line IL_01CD mvid D244
|
||||
at JetBrains.Interop.Windows.Wrappers.NativeWin32Window.WndProc(Void* hwnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in WndProc.il:line IL_0071 mvid 9494
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.InternalPumpMessagesOnce()
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.JetBrains.Threading.IPlatformSpecificJetDispatcherThreadUnderlyingTransport.PumpMessagesOnce(TimeSpan maxWaitForFirstMessage)
|
||||
at JetBrains.Threading.RunsAndSleeps.RunOrSleep(Func`1 FCondition, IProperty`1 propCondition, TimeSpan timeout, OnWaitTimeout ontimeout, RunOrSleepFlags flags) in RunOrSleep.il:line IL_03B2 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Run(IProperty`1 condition, TimeSpan timeout, Boolean bThrowOnTimeout) in Run.il:line IL_0005 mvid D244
|
||||
at JetBrains.Application.Environment.IJetHostEx.RunHostMessageLoop(IComponentContainer containerEnv) in RunHostMessageLoop.il:line IL_000E mvid 5EF9
|
||||
at JetBrains.Application.Environment.HostParameters.MessagePumpMainLoopHostMixin.JetBrains.Application.Environment.HostParameters.IRunMainLoopHostMixin.RunMainLoop(ComponentContainer containerEnv)
|
||||
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.RunMainLoop(ComponentContainer containerEnv) in RunMainLoop.il:line IL_009F mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass12_0.<RunUntilShutdown>b__0() in JetEnvironment.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(OuterLifetime lifetime, String name, CallerInfo& caller, Action action, TaskPriority priority, Nullable`1 limit)
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(String name, Action action, TaskPriority priority, String callerFilePath, String callerMemberName)
|
||||
at JetBrains.Application.Environment.JetEnvironment.RunUntilShutdown() in RunUntilShutdown.il:line IL_0044 mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.CreateAndRun(JetHostParameters hostparams) in CreateAndRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetHostItems.CreateAndRun(Full input) in CreateAndRun.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.MainX(Assembly assembly, HostInfo hostInfo) in MainX.il:line IL_00B3 mvid 2082
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.<>c.<Main>b__4_0(Lifetime lifetime) in RiderBackendProgram.il:line IL_002B mvid 2082
|
||||
at JetBrains.Lifetimes.Lifetime.Using[T](Func`2 action) in Using.il:line IL_0014 mvid 6B8D
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main() in Main.il:line IL_005D mvid 2082
|
||||
”
|
||||
ExceptionPath = Root
|
||||
ClassName = JetBrains.Util.LoggerException
|
||||
HResult = COR_E_APPLICATION=80131600
|
||||
</Exception>
|
||||
<Exception Message="Duplicate entry with key /Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXmlReflectionImporter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9e4992465ee24dc8915fd9be20badb7d281d48_003F14_003Ffe12756e_003FXmlReflectionImporter_002Ecs/@EntryIndexedValue. Using the second occurrence." Kind="Error">Duplicate entry with key /Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXmlReflectionImporter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9e4992465ee24dc8915fd9be20badb7d281d48_003F14_003Ffe12756e_003FXmlReflectionImporter_002Ecs/@EntryIndexedValue. Using the second occurrence.
|
||||
|
||||
--- EXCEPTION #1/2 [WarningException]
|
||||
Message = “Duplicate entry with key /Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXmlReflectionImporter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9e4992465ee24dc8915fd9be20badb7d281d48_003F14_003Ffe12756e_003FXmlReflectionImporter_002Ecs/@EntryIndexedValue. Using the second occurrence.”
|
||||
ExceptionPath = Root.InnerException
|
||||
ClassName = System.ComponentModel.WarningException
|
||||
HResult = COR_E_SYSTEM=80131501
|
||||
|
||||
--- Outer ---
|
||||
|
||||
--- EXCEPTION #2/2 [LoggerException]
|
||||
Message = “Duplicate entry with key /Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXmlReflectionImporter_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9e4992465ee24dc8915fd9be20badb7d281d48_003F14_003Ffe12756e_003FXmlReflectionImporter_002Ecs/@EntryIndexedValue. Using the second occurrence.”
|
||||
InnerException = “Exception #1 at Root.InnerException”
|
||||
StackTraceString = “
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_ReadEntryValueEnd_CommitContent() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Run(XmlReader reader, EntryPositionsFlag entryPositionsFlag) in Run.il:line IL_006B mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__5(XmlReader xmlreader)
|
||||
at JetBrains.Util.XmlReaderEx.ReadXml[TResult](Stream stream, Func`2 FRead) in ReadXml.il:line IL_002F mvid 54EE
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__4(Stream streamR)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.ReadStream[T,TF,TFile,TDir](FileSystemPathBase`3 path, Func`2 λRead) in ReadStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_1.<Save_WriteFile_BackupOldCorruptedFile>b__2()
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.XmlWriterEx.InElement(XmlWriter writer, String name, Action nested, Boolean writeFullEndElement)
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__1(XmlWriter xmlwriter)
|
||||
at JetBrains.Util.XmlWriterEx.WriteXml(Stream stream, Action`1 FWrite) in WriteXml.il:line IL_0023 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__0(Stream stream)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.WriteStream[T,TFile,TDir](FileSystemPathBase`3 path, Action`1 λWrite) in WriteStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile_BackupOldCorruptedFile(FileSystemPath path) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass31_0.<Save_WriteFile>b__0()
|
||||
at JetBrains.Util.ILoggerEx.Catch(ILogger logger, Action action, ExceptionOrigin origin, LoggingLevel loggingLevel) in Catch.il:line IL_0060 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass9_0.<Init_FirstLoadLastSave>b__1()
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass0_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.CombinedProperty2`3.<>c__DisplayClass8_0.<AdviseCore>b__1() in CombinedProperty2.il:line IL_009C mvid D244
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.ProjectModel.SolutionInstance.CloseSolutionInstance() in CloseSolutionInstance.il:line IL_0087 mvid 4DD6
|
||||
at JetBrains.ProjectModel.SolutionManagerBase.CloseSolutionInstance(SolutionInstance instance) in CloseSolutionInstance.il:line IL_0000 mvid 4DD6
|
||||
at JetBrains.ProjectModel.ProjectsHost.SolutionHost.Impl.SolutionHostManager.CloseSolution() in CloseSolution.il:line IL_0046 mvid 1A79
|
||||
at JetBrains.Rider.Backend.Features.ProjectModel.RiderSolutionWatcher.<>c__DisplayClass4_0.<.ctor>b__2() in RiderSolutionWatcher.il:line IL_002D mvid 2082
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.SequentialLifetimes.TrySetNewAndTerminateOld(LifetimeDefinition newLifetimeDefinition, Action`1 actionWithNewLifetime) in TrySetNewAndTerminateOld.il:line IL_001F mvid 6B8D
|
||||
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39_0.<WhenTrue>b__0(PropertyChangedEventArgs`1 args) in IPropertyEx.il:line IL_0000 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.RunsProducts.<>c__DisplayClass5_1.<.ctor>b__0(PropertyChangedEventArgs`1 _)
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass1_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_2.<AdviseCore>b__4() in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_0.<AdviseCore>b__3(PropertyChangedEventArgs`1 args) in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.UpdateActiveTellers(Lifetime lifetimeComponent, List`1 tellers, IThreading threading, IProperty`1 propComposite, ILogger logger) in UpdateActiveTellers.il:line IL_00FD mvid 5EF9
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.<>c__DisplayClass2_0.<UpdateActiveTellers>g__UpdateActiveTellersAgain|0() in ReportsProductsAllowedToRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass10_0`1.<Advise_NoAcknowledgement>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ApplicationShutdownRequests.<>c__DisplayClass10_0.<ProcessShutdownVerdict>b__0() in ApplicationShutdownRequests.il:line IL_00C3 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.ReentrancyGuard.Execute(String name, CallerInfo& caller, Action action) in Execute.il:line IL_0122 mvid D244
|
||||
at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions(TaskPriority priorityLowestAllowedToExecute) in ExecutePendingActions.il:line IL_0088 mvid D244
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.ProcessQueue(Int32 nMinBucket, Int32 nProcessQueueGeneration) in ProcessQueue.il:line IL_01D0 mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.JetDispatcherTransportReliabilityLayer.OnInvoke(TaskPriority priority) in OnInvoke.il:line IL_007F mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.OnMessage(Void* hwnd, WindowsMessages message, IntPtr wParam, IntPtr lParam) in OnMessage.il:line IL_01CD mvid D244
|
||||
at JetBrains.Interop.Windows.Wrappers.NativeWin32Window.WndProc(Void* hwnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in WndProc.il:line IL_0071 mvid 9494
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.InternalPumpMessagesOnce()
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.JetBrains.Threading.IPlatformSpecificJetDispatcherThreadUnderlyingTransport.PumpMessagesOnce(TimeSpan maxWaitForFirstMessage)
|
||||
at JetBrains.Threading.RunsAndSleeps.RunOrSleep(Func`1 FCondition, IProperty`1 propCondition, TimeSpan timeout, OnWaitTimeout ontimeout, RunOrSleepFlags flags) in RunOrSleep.il:line IL_03B2 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Run(IProperty`1 condition, TimeSpan timeout, Boolean bThrowOnTimeout) in Run.il:line IL_0005 mvid D244
|
||||
at JetBrains.Application.Environment.IJetHostEx.RunHostMessageLoop(IComponentContainer containerEnv) in RunHostMessageLoop.il:line IL_000E mvid 5EF9
|
||||
at JetBrains.Application.Environment.HostParameters.MessagePumpMainLoopHostMixin.JetBrains.Application.Environment.HostParameters.IRunMainLoopHostMixin.RunMainLoop(ComponentContainer containerEnv)
|
||||
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.RunMainLoop(ComponentContainer containerEnv) in RunMainLoop.il:line IL_009F mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass12_0.<RunUntilShutdown>b__0() in JetEnvironment.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(OuterLifetime lifetime, String name, CallerInfo& caller, Action action, TaskPriority priority, Nullable`1 limit)
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(String name, Action action, TaskPriority priority, String callerFilePath, String callerMemberName)
|
||||
at JetBrains.Application.Environment.JetEnvironment.RunUntilShutdown() in RunUntilShutdown.il:line IL_0044 mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.CreateAndRun(JetHostParameters hostparams) in CreateAndRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetHostItems.CreateAndRun(Full input) in CreateAndRun.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.MainX(Assembly assembly, HostInfo hostInfo) in MainX.il:line IL_00B3 mvid 2082
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.<>c.<Main>b__4_0(Lifetime lifetime) in RiderBackendProgram.il:line IL_002B mvid 2082
|
||||
at JetBrains.Lifetimes.Lifetime.Using[T](Func`2 action) in Using.il:line IL_0014 mvid 6B8D
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main() in Main.il:line IL_005D mvid 2082
|
||||
”
|
||||
ExceptionPath = Root
|
||||
ClassName = JetBrains.Util.LoggerException
|
||||
HResult = COR_E_APPLICATION=80131600
|
||||
</Exception>
|
||||
<Exception Message="Duplicate entry with key /Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=fee81c72_002D0b13_002D439c_002D8921_002D12878bb8cd86/@EntryIndexedValue. Using the second occurrence." Kind="Error">Duplicate entry with key /Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=fee81c72_002D0b13_002D439c_002D8921_002D12878bb8cd86/@EntryIndexedValue. Using the second occurrence.
|
||||
|
||||
--- EXCEPTION #1/2 [WarningException]
|
||||
Message = “Duplicate entry with key /Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=fee81c72_002D0b13_002D439c_002D8921_002D12878bb8cd86/@EntryIndexedValue. Using the second occurrence.”
|
||||
ExceptionPath = Root.InnerException
|
||||
ClassName = System.ComponentModel.WarningException
|
||||
HResult = COR_E_SYSTEM=80131501
|
||||
|
||||
--- Outer ---
|
||||
|
||||
--- EXCEPTION #2/2 [LoggerException]
|
||||
Message = “Duplicate entry with key /Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=fee81c72_002D0b13_002D439c_002D8921_002D12878bb8cd86/@EntryIndexedValue. Using the second occurrence.”
|
||||
InnerException = “Exception #1 at Root.InnerException”
|
||||
StackTraceString = “
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_ReadEntryValueEnd_CommitContent() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Run(XmlReader reader, EntryPositionsFlag entryPositionsFlag) in Run.il:line IL_006B mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__5(XmlReader xmlreader)
|
||||
at JetBrains.Util.XmlReaderEx.ReadXml[TResult](Stream stream, Func`2 FRead) in ReadXml.il:line IL_002F mvid 54EE
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__4(Stream streamR)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.ReadStream[T,TF,TFile,TDir](FileSystemPathBase`3 path, Func`2 λRead) in ReadStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_1.<Save_WriteFile_BackupOldCorruptedFile>b__2()
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.XmlWriterEx.InElement(XmlWriter writer, String name, Action nested, Boolean writeFullEndElement)
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__1(XmlWriter xmlwriter)
|
||||
at JetBrains.Util.XmlWriterEx.WriteXml(Stream stream, Action`1 FWrite) in WriteXml.il:line IL_0023 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__0(Stream stream)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.WriteStream[T,TFile,TDir](FileSystemPathBase`3 path, Action`1 λWrite) in WriteStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile_BackupOldCorruptedFile(FileSystemPath path) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass31_0.<Save_WriteFile>b__0()
|
||||
at JetBrains.Util.ILoggerEx.Catch(ILogger logger, Action action, ExceptionOrigin origin, LoggingLevel loggingLevel) in Catch.il:line IL_0060 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass9_0.<Init_FirstLoadLastSave>b__1()
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass0_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.CombinedProperty2`3.<>c__DisplayClass8_0.<AdviseCore>b__1() in CombinedProperty2.il:line IL_009C mvid D244
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.ProjectModel.SolutionInstance.CloseSolutionInstance() in CloseSolutionInstance.il:line IL_0087 mvid 4DD6
|
||||
at JetBrains.ProjectModel.SolutionManagerBase.CloseSolutionInstance(SolutionInstance instance) in CloseSolutionInstance.il:line IL_0000 mvid 4DD6
|
||||
at JetBrains.ProjectModel.ProjectsHost.SolutionHost.Impl.SolutionHostManager.CloseSolution() in CloseSolution.il:line IL_0046 mvid 1A79
|
||||
at JetBrains.Rider.Backend.Features.ProjectModel.RiderSolutionWatcher.<>c__DisplayClass4_0.<.ctor>b__2() in RiderSolutionWatcher.il:line IL_002D mvid 2082
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.SequentialLifetimes.TrySetNewAndTerminateOld(LifetimeDefinition newLifetimeDefinition, Action`1 actionWithNewLifetime) in TrySetNewAndTerminateOld.il:line IL_001F mvid 6B8D
|
||||
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39_0.<WhenTrue>b__0(PropertyChangedEventArgs`1 args) in IPropertyEx.il:line IL_0000 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.RunsProducts.<>c__DisplayClass5_1.<.ctor>b__0(PropertyChangedEventArgs`1 _)
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass1_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_2.<AdviseCore>b__4() in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_0.<AdviseCore>b__3(PropertyChangedEventArgs`1 args) in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.UpdateActiveTellers(Lifetime lifetimeComponent, List`1 tellers, IThreading threading, IProperty`1 propComposite, ILogger logger) in UpdateActiveTellers.il:line IL_00FD mvid 5EF9
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.<>c__DisplayClass2_0.<UpdateActiveTellers>g__UpdateActiveTellersAgain|0() in ReportsProductsAllowedToRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass10_0`1.<Advise_NoAcknowledgement>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ApplicationShutdownRequests.<>c__DisplayClass10_0.<ProcessShutdownVerdict>b__0() in ApplicationShutdownRequests.il:line IL_00C3 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.ReentrancyGuard.Execute(String name, CallerInfo& caller, Action action) in Execute.il:line IL_0122 mvid D244
|
||||
at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions(TaskPriority priorityLowestAllowedToExecute) in ExecutePendingActions.il:line IL_0088 mvid D244
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.ProcessQueue(Int32 nMinBucket, Int32 nProcessQueueGeneration) in ProcessQueue.il:line IL_01D0 mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.JetDispatcherTransportReliabilityLayer.OnInvoke(TaskPriority priority) in OnInvoke.il:line IL_007F mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.OnMessage(Void* hwnd, WindowsMessages message, IntPtr wParam, IntPtr lParam) in OnMessage.il:line IL_01CD mvid D244
|
||||
at JetBrains.Interop.Windows.Wrappers.NativeWin32Window.WndProc(Void* hwnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in WndProc.il:line IL_0071 mvid 9494
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.InternalPumpMessagesOnce()
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.JetBrains.Threading.IPlatformSpecificJetDispatcherThreadUnderlyingTransport.PumpMessagesOnce(TimeSpan maxWaitForFirstMessage)
|
||||
at JetBrains.Threading.RunsAndSleeps.RunOrSleep(Func`1 FCondition, IProperty`1 propCondition, TimeSpan timeout, OnWaitTimeout ontimeout, RunOrSleepFlags flags) in RunOrSleep.il:line IL_03B2 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Run(IProperty`1 condition, TimeSpan timeout, Boolean bThrowOnTimeout) in Run.il:line IL_0005 mvid D244
|
||||
at JetBrains.Application.Environment.IJetHostEx.RunHostMessageLoop(IComponentContainer containerEnv) in RunHostMessageLoop.il:line IL_000E mvid 5EF9
|
||||
at JetBrains.Application.Environment.HostParameters.MessagePumpMainLoopHostMixin.JetBrains.Application.Environment.HostParameters.IRunMainLoopHostMixin.RunMainLoop(ComponentContainer containerEnv)
|
||||
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.RunMainLoop(ComponentContainer containerEnv) in RunMainLoop.il:line IL_009F mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass12_0.<RunUntilShutdown>b__0() in JetEnvironment.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(OuterLifetime lifetime, String name, CallerInfo& caller, Action action, TaskPriority priority, Nullable`1 limit)
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(String name, Action action, TaskPriority priority, String callerFilePath, String callerMemberName)
|
||||
at JetBrains.Application.Environment.JetEnvironment.RunUntilShutdown() in RunUntilShutdown.il:line IL_0044 mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.CreateAndRun(JetHostParameters hostparams) in CreateAndRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetHostItems.CreateAndRun(Full input) in CreateAndRun.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.MainX(Assembly assembly, HostInfo hostInfo) in MainX.il:line IL_00B3 mvid 2082
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.<>c.<Main>b__4_0(Lifetime lifetime) in RiderBackendProgram.il:line IL_002B mvid 2082
|
||||
at JetBrains.Lifetimes.Lifetime.Using[T](Func`2 action) in Using.il:line IL_0014 mvid 6B8D
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main() in Main.il:line IL_005D mvid 2082
|
||||
”
|
||||
ExceptionPath = Root
|
||||
ClassName = JetBrains.Util.LoggerException
|
||||
HResult = COR_E_APPLICATION=80131600
|
||||
</Exception>
|
||||
<Exception Message="Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterJMS_002FNetadapterCfgCtrl/@EntryIndexedValue. Using the second occurrence." Kind="Error">Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterJMS_002FNetadapterCfgCtrl/@EntryIndexedValue. Using the second occurrence.
|
||||
|
||||
--- EXCEPTION #1/2 [WarningException]
|
||||
Message = “Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterJMS_002FNetadapterCfgCtrl/@EntryIndexedValue. Using the second occurrence.”
|
||||
ExceptionPath = Root.InnerException
|
||||
ClassName = System.ComponentModel.WarningException
|
||||
HResult = COR_E_SYSTEM=80131501
|
||||
|
||||
--- Outer ---
|
||||
|
||||
--- EXCEPTION #2/2 [LoggerException]
|
||||
Message = “Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterJMS_002FNetadapterCfgCtrl/@EntryIndexedValue. Using the second occurrence.”
|
||||
InnerException = “Exception #1 at Root.InnerException”
|
||||
StackTraceString = “
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_ReadEntryValueEnd_CommitContent() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Run(XmlReader reader, EntryPositionsFlag entryPositionsFlag) in Run.il:line IL_006B mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__5(XmlReader xmlreader)
|
||||
at JetBrains.Util.XmlReaderEx.ReadXml[TResult](Stream stream, Func`2 FRead) in ReadXml.il:line IL_002F mvid 54EE
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__4(Stream streamR)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.ReadStream[T,TF,TFile,TDir](FileSystemPathBase`3 path, Func`2 λRead) in ReadStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_1.<Save_WriteFile_BackupOldCorruptedFile>b__2()
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.XmlWriterEx.InElement(XmlWriter writer, String name, Action nested, Boolean writeFullEndElement)
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__1(XmlWriter xmlwriter)
|
||||
at JetBrains.Util.XmlWriterEx.WriteXml(Stream stream, Action`1 FWrite) in WriteXml.il:line IL_0023 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__0(Stream stream)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.WriteStream[T,TFile,TDir](FileSystemPathBase`3 path, Action`1 λWrite) in WriteStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile_BackupOldCorruptedFile(FileSystemPath path) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass31_0.<Save_WriteFile>b__0()
|
||||
at JetBrains.Util.ILoggerEx.Catch(ILogger logger, Action action, ExceptionOrigin origin, LoggingLevel loggingLevel) in Catch.il:line IL_0060 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass9_0.<Init_FirstLoadLastSave>b__1()
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass0_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.CombinedProperty2`3.<>c__DisplayClass8_0.<AdviseCore>b__1() in CombinedProperty2.il:line IL_009C mvid D244
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.ProjectModel.SolutionInstance.CloseSolutionInstance() in CloseSolutionInstance.il:line IL_0087 mvid 4DD6
|
||||
at JetBrains.ProjectModel.SolutionManagerBase.CloseSolutionInstance(SolutionInstance instance) in CloseSolutionInstance.il:line IL_0000 mvid 4DD6
|
||||
at JetBrains.ProjectModel.ProjectsHost.SolutionHost.Impl.SolutionHostManager.CloseSolution() in CloseSolution.il:line IL_0046 mvid 1A79
|
||||
at JetBrains.Rider.Backend.Features.ProjectModel.RiderSolutionWatcher.<>c__DisplayClass4_0.<.ctor>b__2() in RiderSolutionWatcher.il:line IL_002D mvid 2082
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.SequentialLifetimes.TrySetNewAndTerminateOld(LifetimeDefinition newLifetimeDefinition, Action`1 actionWithNewLifetime) in TrySetNewAndTerminateOld.il:line IL_001F mvid 6B8D
|
||||
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39_0.<WhenTrue>b__0(PropertyChangedEventArgs`1 args) in IPropertyEx.il:line IL_0000 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.RunsProducts.<>c__DisplayClass5_1.<.ctor>b__0(PropertyChangedEventArgs`1 _)
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass1_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_2.<AdviseCore>b__4() in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_0.<AdviseCore>b__3(PropertyChangedEventArgs`1 args) in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.UpdateActiveTellers(Lifetime lifetimeComponent, List`1 tellers, IThreading threading, IProperty`1 propComposite, ILogger logger) in UpdateActiveTellers.il:line IL_00FD mvid 5EF9
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.<>c__DisplayClass2_0.<UpdateActiveTellers>g__UpdateActiveTellersAgain|0() in ReportsProductsAllowedToRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass10_0`1.<Advise_NoAcknowledgement>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ApplicationShutdownRequests.<>c__DisplayClass10_0.<ProcessShutdownVerdict>b__0() in ApplicationShutdownRequests.il:line IL_00C3 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.ReentrancyGuard.Execute(String name, CallerInfo& caller, Action action) in Execute.il:line IL_0122 mvid D244
|
||||
at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions(TaskPriority priorityLowestAllowedToExecute) in ExecutePendingActions.il:line IL_0088 mvid D244
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.ProcessQueue(Int32 nMinBucket, Int32 nProcessQueueGeneration) in ProcessQueue.il:line IL_01D0 mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.JetDispatcherTransportReliabilityLayer.OnInvoke(TaskPriority priority) in OnInvoke.il:line IL_007F mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.OnMessage(Void* hwnd, WindowsMessages message, IntPtr wParam, IntPtr lParam) in OnMessage.il:line IL_01CD mvid D244
|
||||
at JetBrains.Interop.Windows.Wrappers.NativeWin32Window.WndProc(Void* hwnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in WndProc.il:line IL_0071 mvid 9494
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.InternalPumpMessagesOnce()
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.JetBrains.Threading.IPlatformSpecificJetDispatcherThreadUnderlyingTransport.PumpMessagesOnce(TimeSpan maxWaitForFirstMessage)
|
||||
at JetBrains.Threading.RunsAndSleeps.RunOrSleep(Func`1 FCondition, IProperty`1 propCondition, TimeSpan timeout, OnWaitTimeout ontimeout, RunOrSleepFlags flags) in RunOrSleep.il:line IL_03B2 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Run(IProperty`1 condition, TimeSpan timeout, Boolean bThrowOnTimeout) in Run.il:line IL_0005 mvid D244
|
||||
at JetBrains.Application.Environment.IJetHostEx.RunHostMessageLoop(IComponentContainer containerEnv) in RunHostMessageLoop.il:line IL_000E mvid 5EF9
|
||||
at JetBrains.Application.Environment.HostParameters.MessagePumpMainLoopHostMixin.JetBrains.Application.Environment.HostParameters.IRunMainLoopHostMixin.RunMainLoop(ComponentContainer containerEnv)
|
||||
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.RunMainLoop(ComponentContainer containerEnv) in RunMainLoop.il:line IL_009F mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass12_0.<RunUntilShutdown>b__0() in JetEnvironment.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(OuterLifetime lifetime, String name, CallerInfo& caller, Action action, TaskPriority priority, Nullable`1 limit)
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(String name, Action action, TaskPriority priority, String callerFilePath, String callerMemberName)
|
||||
at JetBrains.Application.Environment.JetEnvironment.RunUntilShutdown() in RunUntilShutdown.il:line IL_0044 mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.CreateAndRun(JetHostParameters hostparams) in CreateAndRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetHostItems.CreateAndRun(Full input) in CreateAndRun.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.MainX(Assembly assembly, HostInfo hostInfo) in MainX.il:line IL_00B3 mvid 2082
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.<>c.<Main>b__4_0(Lifetime lifetime) in RiderBackendProgram.il:line IL_002B mvid 2082
|
||||
at JetBrains.Lifetimes.Lifetime.Using[T](Func`2 action) in Using.il:line IL_0014 mvid 6B8D
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main() in Main.il:line IL_005D mvid 2082
|
||||
”
|
||||
ExceptionPath = Root
|
||||
ClassName = JetBrains.Util.LoggerException
|
||||
HResult = COR_E_APPLICATION=80131600
|
||||
</Exception>
|
||||
<Exception Message="Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FCameraCfgCtrl/@EntryIndexedValue. Using the second occurrence." Kind="Error">Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FCameraCfgCtrl/@EntryIndexedValue. Using the second occurrence.
|
||||
|
||||
--- EXCEPTION #1/2 [WarningException]
|
||||
Message = “Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FCameraCfgCtrl/@EntryIndexedValue. Using the second occurrence.”
|
||||
ExceptionPath = Root.InnerException
|
||||
ClassName = System.ComponentModel.WarningException
|
||||
HResult = COR_E_SYSTEM=80131501
|
||||
|
||||
--- Outer ---
|
||||
|
||||
--- EXCEPTION #2/2 [LoggerException]
|
||||
Message = “Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FCameraCfgCtrl/@EntryIndexedValue. Using the second occurrence.”
|
||||
InnerException = “Exception #1 at Root.InnerException”
|
||||
StackTraceString = “
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_ReadEntryValueEnd_CommitContent() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Run(XmlReader reader, EntryPositionsFlag entryPositionsFlag) in Run.il:line IL_006B mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__5(XmlReader xmlreader)
|
||||
at JetBrains.Util.XmlReaderEx.ReadXml[TResult](Stream stream, Func`2 FRead) in ReadXml.il:line IL_002F mvid 54EE
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__4(Stream streamR)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.ReadStream[T,TF,TFile,TDir](FileSystemPathBase`3 path, Func`2 λRead) in ReadStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_1.<Save_WriteFile_BackupOldCorruptedFile>b__2()
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.XmlWriterEx.InElement(XmlWriter writer, String name, Action nested, Boolean writeFullEndElement)
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__1(XmlWriter xmlwriter)
|
||||
at JetBrains.Util.XmlWriterEx.WriteXml(Stream stream, Action`1 FWrite) in WriteXml.il:line IL_0023 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__0(Stream stream)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.WriteStream[T,TFile,TDir](FileSystemPathBase`3 path, Action`1 λWrite) in WriteStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile_BackupOldCorruptedFile(FileSystemPath path) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass31_0.<Save_WriteFile>b__0()
|
||||
at JetBrains.Util.ILoggerEx.Catch(ILogger logger, Action action, ExceptionOrigin origin, LoggingLevel loggingLevel) in Catch.il:line IL_0060 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass9_0.<Init_FirstLoadLastSave>b__1()
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass0_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.CombinedProperty2`3.<>c__DisplayClass8_0.<AdviseCore>b__1() in CombinedProperty2.il:line IL_009C mvid D244
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.ProjectModel.SolutionInstance.CloseSolutionInstance() in CloseSolutionInstance.il:line IL_0087 mvid 4DD6
|
||||
at JetBrains.ProjectModel.SolutionManagerBase.CloseSolutionInstance(SolutionInstance instance) in CloseSolutionInstance.il:line IL_0000 mvid 4DD6
|
||||
at JetBrains.ProjectModel.ProjectsHost.SolutionHost.Impl.SolutionHostManager.CloseSolution() in CloseSolution.il:line IL_0046 mvid 1A79
|
||||
at JetBrains.Rider.Backend.Features.ProjectModel.RiderSolutionWatcher.<>c__DisplayClass4_0.<.ctor>b__2() in RiderSolutionWatcher.il:line IL_002D mvid 2082
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.SequentialLifetimes.TrySetNewAndTerminateOld(LifetimeDefinition newLifetimeDefinition, Action`1 actionWithNewLifetime) in TrySetNewAndTerminateOld.il:line IL_001F mvid 6B8D
|
||||
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39_0.<WhenTrue>b__0(PropertyChangedEventArgs`1 args) in IPropertyEx.il:line IL_0000 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.RunsProducts.<>c__DisplayClass5_1.<.ctor>b__0(PropertyChangedEventArgs`1 _)
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass1_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_2.<AdviseCore>b__4() in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_0.<AdviseCore>b__3(PropertyChangedEventArgs`1 args) in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.UpdateActiveTellers(Lifetime lifetimeComponent, List`1 tellers, IThreading threading, IProperty`1 propComposite, ILogger logger) in UpdateActiveTellers.il:line IL_00FD mvid 5EF9
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.<>c__DisplayClass2_0.<UpdateActiveTellers>g__UpdateActiveTellersAgain|0() in ReportsProductsAllowedToRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass10_0`1.<Advise_NoAcknowledgement>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ApplicationShutdownRequests.<>c__DisplayClass10_0.<ProcessShutdownVerdict>b__0() in ApplicationShutdownRequests.il:line IL_00C3 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.ReentrancyGuard.Execute(String name, CallerInfo& caller, Action action) in Execute.il:line IL_0122 mvid D244
|
||||
at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions(TaskPriority priorityLowestAllowedToExecute) in ExecutePendingActions.il:line IL_0088 mvid D244
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.ProcessQueue(Int32 nMinBucket, Int32 nProcessQueueGeneration) in ProcessQueue.il:line IL_01D0 mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.JetDispatcherTransportReliabilityLayer.OnInvoke(TaskPriority priority) in OnInvoke.il:line IL_007F mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.OnMessage(Void* hwnd, WindowsMessages message, IntPtr wParam, IntPtr lParam) in OnMessage.il:line IL_01CD mvid D244
|
||||
at JetBrains.Interop.Windows.Wrappers.NativeWin32Window.WndProc(Void* hwnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in WndProc.il:line IL_0071 mvid 9494
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.InternalPumpMessagesOnce()
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.JetBrains.Threading.IPlatformSpecificJetDispatcherThreadUnderlyingTransport.PumpMessagesOnce(TimeSpan maxWaitForFirstMessage)
|
||||
at JetBrains.Threading.RunsAndSleeps.RunOrSleep(Func`1 FCondition, IProperty`1 propCondition, TimeSpan timeout, OnWaitTimeout ontimeout, RunOrSleepFlags flags) in RunOrSleep.il:line IL_03B2 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Run(IProperty`1 condition, TimeSpan timeout, Boolean bThrowOnTimeout) in Run.il:line IL_0005 mvid D244
|
||||
at JetBrains.Application.Environment.IJetHostEx.RunHostMessageLoop(IComponentContainer containerEnv) in RunHostMessageLoop.il:line IL_000E mvid 5EF9
|
||||
at JetBrains.Application.Environment.HostParameters.MessagePumpMainLoopHostMixin.JetBrains.Application.Environment.HostParameters.IRunMainLoopHostMixin.RunMainLoop(ComponentContainer containerEnv)
|
||||
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.RunMainLoop(ComponentContainer containerEnv) in RunMainLoop.il:line IL_009F mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass12_0.<RunUntilShutdown>b__0() in JetEnvironment.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(OuterLifetime lifetime, String name, CallerInfo& caller, Action action, TaskPriority priority, Nullable`1 limit)
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(String name, Action action, TaskPriority priority, String callerFilePath, String callerMemberName)
|
||||
at JetBrains.Application.Environment.JetEnvironment.RunUntilShutdown() in RunUntilShutdown.il:line IL_0044 mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.CreateAndRun(JetHostParameters hostparams) in CreateAndRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetHostItems.CreateAndRun(Full input) in CreateAndRun.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.MainX(Assembly assembly, HostInfo hostInfo) in MainX.il:line IL_00B3 mvid 2082
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.<>c.<Main>b__4_0(Lifetime lifetime) in RiderBackendProgram.il:line IL_002B mvid 2082
|
||||
at JetBrains.Lifetimes.Lifetime.Using[T](Func`2 action) in Using.il:line IL_0014 mvid 6B8D
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main() in Main.il:line IL_005D mvid 2082
|
||||
”
|
||||
ExceptionPath = Root
|
||||
ClassName = JetBrains.Util.LoggerException
|
||||
HResult = COR_E_APPLICATION=80131600
|
||||
</Exception>
|
||||
<Exception Message="Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FTerminalDlg/@EntryIndexedValue. Using the second occurrence." Kind="Error">Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FTerminalDlg/@EntryIndexedValue. Using the second occurrence.
|
||||
|
||||
--- EXCEPTION #1/2 [WarningException]
|
||||
Message = “Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FTerminalDlg/@EntryIndexedValue. Using the second occurrence.”
|
||||
ExceptionPath = Root.InnerException
|
||||
ClassName = System.ComponentModel.WarningException
|
||||
HResult = COR_E_SYSTEM=80131501
|
||||
|
||||
--- Outer ---
|
||||
|
||||
--- EXCEPTION #2/2 [LoggerException]
|
||||
Message = “Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FCJMS11_002FTerminalDlg/@EntryIndexedValue. Using the second occurrence.”
|
||||
InnerException = “Exception #1 at Root.InnerException”
|
||||
StackTraceString = “
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_ReadEntryValueEnd_CommitContent() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Run(XmlReader reader, EntryPositionsFlag entryPositionsFlag) in Run.il:line IL_006B mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__5(XmlReader xmlreader)
|
||||
at JetBrains.Util.XmlReaderEx.ReadXml[TResult](Stream stream, Func`2 FRead) in ReadXml.il:line IL_002F mvid 54EE
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__4(Stream streamR)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.ReadStream[T,TF,TFile,TDir](FileSystemPathBase`3 path, Func`2 λRead) in ReadStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_1.<Save_WriteFile_BackupOldCorruptedFile>b__2()
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.XmlWriterEx.InElement(XmlWriter writer, String name, Action nested, Boolean writeFullEndElement)
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__1(XmlWriter xmlwriter)
|
||||
at JetBrains.Util.XmlWriterEx.WriteXml(Stream stream, Action`1 FWrite) in WriteXml.il:line IL_0023 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__0(Stream stream)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.WriteStream[T,TFile,TDir](FileSystemPathBase`3 path, Action`1 λWrite) in WriteStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile_BackupOldCorruptedFile(FileSystemPath path) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass31_0.<Save_WriteFile>b__0()
|
||||
at JetBrains.Util.ILoggerEx.Catch(ILogger logger, Action action, ExceptionOrigin origin, LoggingLevel loggingLevel) in Catch.il:line IL_0060 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass9_0.<Init_FirstLoadLastSave>b__1()
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass0_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.CombinedProperty2`3.<>c__DisplayClass8_0.<AdviseCore>b__1() in CombinedProperty2.il:line IL_009C mvid D244
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.ProjectModel.SolutionInstance.CloseSolutionInstance() in CloseSolutionInstance.il:line IL_0087 mvid 4DD6
|
||||
at JetBrains.ProjectModel.SolutionManagerBase.CloseSolutionInstance(SolutionInstance instance) in CloseSolutionInstance.il:line IL_0000 mvid 4DD6
|
||||
at JetBrains.ProjectModel.ProjectsHost.SolutionHost.Impl.SolutionHostManager.CloseSolution() in CloseSolution.il:line IL_0046 mvid 1A79
|
||||
at JetBrains.Rider.Backend.Features.ProjectModel.RiderSolutionWatcher.<>c__DisplayClass4_0.<.ctor>b__2() in RiderSolutionWatcher.il:line IL_002D mvid 2082
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.SequentialLifetimes.TrySetNewAndTerminateOld(LifetimeDefinition newLifetimeDefinition, Action`1 actionWithNewLifetime) in TrySetNewAndTerminateOld.il:line IL_001F mvid 6B8D
|
||||
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39_0.<WhenTrue>b__0(PropertyChangedEventArgs`1 args) in IPropertyEx.il:line IL_0000 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.RunsProducts.<>c__DisplayClass5_1.<.ctor>b__0(PropertyChangedEventArgs`1 _)
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass1_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_2.<AdviseCore>b__4() in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_0.<AdviseCore>b__3(PropertyChangedEventArgs`1 args) in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.UpdateActiveTellers(Lifetime lifetimeComponent, List`1 tellers, IThreading threading, IProperty`1 propComposite, ILogger logger) in UpdateActiveTellers.il:line IL_00FD mvid 5EF9
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.<>c__DisplayClass2_0.<UpdateActiveTellers>g__UpdateActiveTellersAgain|0() in ReportsProductsAllowedToRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass10_0`1.<Advise_NoAcknowledgement>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ApplicationShutdownRequests.<>c__DisplayClass10_0.<ProcessShutdownVerdict>b__0() in ApplicationShutdownRequests.il:line IL_00C3 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.ReentrancyGuard.Execute(String name, CallerInfo& caller, Action action) in Execute.il:line IL_0122 mvid D244
|
||||
at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions(TaskPriority priorityLowestAllowedToExecute) in ExecutePendingActions.il:line IL_0088 mvid D244
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.ProcessQueue(Int32 nMinBucket, Int32 nProcessQueueGeneration) in ProcessQueue.il:line IL_01D0 mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.JetDispatcherTransportReliabilityLayer.OnInvoke(TaskPriority priority) in OnInvoke.il:line IL_007F mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.OnMessage(Void* hwnd, WindowsMessages message, IntPtr wParam, IntPtr lParam) in OnMessage.il:line IL_01CD mvid D244
|
||||
at JetBrains.Interop.Windows.Wrappers.NativeWin32Window.WndProc(Void* hwnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in WndProc.il:line IL_0071 mvid 9494
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.InternalPumpMessagesOnce()
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.JetBrains.Threading.IPlatformSpecificJetDispatcherThreadUnderlyingTransport.PumpMessagesOnce(TimeSpan maxWaitForFirstMessage)
|
||||
at JetBrains.Threading.RunsAndSleeps.RunOrSleep(Func`1 FCondition, IProperty`1 propCondition, TimeSpan timeout, OnWaitTimeout ontimeout, RunOrSleepFlags flags) in RunOrSleep.il:line IL_03B2 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Run(IProperty`1 condition, TimeSpan timeout, Boolean bThrowOnTimeout) in Run.il:line IL_0005 mvid D244
|
||||
at JetBrains.Application.Environment.IJetHostEx.RunHostMessageLoop(IComponentContainer containerEnv) in RunHostMessageLoop.il:line IL_000E mvid 5EF9
|
||||
at JetBrains.Application.Environment.HostParameters.MessagePumpMainLoopHostMixin.JetBrains.Application.Environment.HostParameters.IRunMainLoopHostMixin.RunMainLoop(ComponentContainer containerEnv)
|
||||
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.RunMainLoop(ComponentContainer containerEnv) in RunMainLoop.il:line IL_009F mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass12_0.<RunUntilShutdown>b__0() in JetEnvironment.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(OuterLifetime lifetime, String name, CallerInfo& caller, Action action, TaskPriority priority, Nullable`1 limit)
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(String name, Action action, TaskPriority priority, String callerFilePath, String callerMemberName)
|
||||
at JetBrains.Application.Environment.JetEnvironment.RunUntilShutdown() in RunUntilShutdown.il:line IL_0044 mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.CreateAndRun(JetHostParameters hostparams) in CreateAndRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetHostItems.CreateAndRun(Full input) in CreateAndRun.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.MainX(Assembly assembly, HostInfo hostInfo) in MainX.il:line IL_00B3 mvid 2082
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.<>c.<Main>b__4_0(Lifetime lifetime) in RiderBackendProgram.il:line IL_002B mvid 2082
|
||||
at JetBrains.Lifetimes.Lifetime.Using[T](Func`2 action) in Using.il:line IL_0014 mvid 6B8D
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main() in Main.il:line IL_005D mvid 2082
|
||||
”
|
||||
ExceptionPath = Root
|
||||
ClassName = JetBrains.Util.LoggerException
|
||||
HResult = COR_E_APPLICATION=80131600
|
||||
</Exception>
|
||||
<Exception Message="Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartCJMS11_002FRoiCfgCtrl/@EntryIndexedValue. Using the second occurrence." Kind="Error">Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartCJMS11_002FRoiCfgCtrl/@EntryIndexedValue. Using the second occurrence.
|
||||
|
||||
--- EXCEPTION #1/2 [WarningException]
|
||||
Message = “Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartCJMS11_002FRoiCfgCtrl/@EntryIndexedValue. Using the second occurrence.”
|
||||
ExceptionPath = Root.InnerException
|
||||
ClassName = System.ComponentModel.WarningException
|
||||
HResult = COR_E_SYSTEM=80131501
|
||||
|
||||
--- Outer ---
|
||||
|
||||
--- EXCEPTION #2/2 [LoggerException]
|
||||
Message = “Duplicate entry with key /Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartCJMS11_002FRoiCfgCtrl/@EntryIndexedValue. Using the second occurrence.”
|
||||
InnerException = “Exception #1 at Root.InnerException”
|
||||
StackTraceString = “
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_ReadEntryValueEnd_CommitContent() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step() in Step.il:line IL_002D mvid 5EF9 or Step.il:line IL_0084 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Run(XmlReader reader, EntryPositionsFlag entryPositionsFlag) in Run.il:line IL_006B mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__5(XmlReader xmlreader)
|
||||
at JetBrains.Util.XmlReaderEx.ReadXml[TResult](Stream stream, Func`2 FRead) in ReadXml.il:line IL_002F mvid 54EE
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__4(Stream streamR)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.ReadStream[T,TF,TFile,TDir](FileSystemPathBase`3 path, Func`2 λRead) in ReadStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_1.<Save_WriteFile_BackupOldCorruptedFile>b__2()
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.XmlWriterEx.InElement(XmlWriter writer, String name, Action nested, Boolean writeFullEndElement)
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__1(XmlWriter xmlwriter)
|
||||
at JetBrains.Util.XmlWriterEx.WriteXml(Stream stream, Action`1 FWrite) in WriteXml.il:line IL_0023 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__0(Stream stream)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.WriteStream[T,TFile,TDir](FileSystemPathBase`3 path, Action`1 λWrite) in WriteStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile_BackupOldCorruptedFile(FileSystemPath path) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass31_0.<Save_WriteFile>b__0()
|
||||
at JetBrains.Util.ILoggerEx.Catch(ILogger logger, Action action, ExceptionOrigin origin, LoggingLevel loggingLevel) in Catch.il:line IL_0060 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass9_0.<Init_FirstLoadLastSave>b__1()
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass0_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.CombinedProperty2`3.<>c__DisplayClass8_0.<AdviseCore>b__1() in CombinedProperty2.il:line IL_009C mvid D244
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.ProjectModel.SolutionInstance.CloseSolutionInstance() in CloseSolutionInstance.il:line IL_0087 mvid 4DD6
|
||||
at JetBrains.ProjectModel.SolutionManagerBase.CloseSolutionInstance(SolutionInstance instance) in CloseSolutionInstance.il:line IL_0000 mvid 4DD6
|
||||
at JetBrains.ProjectModel.ProjectsHost.SolutionHost.Impl.SolutionHostManager.CloseSolution() in CloseSolution.il:line IL_0046 mvid 1A79
|
||||
at JetBrains.Rider.Backend.Features.ProjectModel.RiderSolutionWatcher.<>c__DisplayClass4_0.<.ctor>b__2() in RiderSolutionWatcher.il:line IL_002D mvid 2082
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.SequentialLifetimes.TrySetNewAndTerminateOld(LifetimeDefinition newLifetimeDefinition, Action`1 actionWithNewLifetime) in TrySetNewAndTerminateOld.il:line IL_001F mvid 6B8D
|
||||
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39_0.<WhenTrue>b__0(PropertyChangedEventArgs`1 args) in IPropertyEx.il:line IL_0000 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.RunsProducts.<>c__DisplayClass5_1.<.ctor>b__0(PropertyChangedEventArgs`1 _)
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass1_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_2.<AdviseCore>b__4() in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_0.<AdviseCore>b__3(PropertyChangedEventArgs`1 args) in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.UpdateActiveTellers(Lifetime lifetimeComponent, List`1 tellers, IThreading threading, IProperty`1 propComposite, ILogger logger) in UpdateActiveTellers.il:line IL_00FD mvid 5EF9
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.<>c__DisplayClass2_0.<UpdateActiveTellers>g__UpdateActiveTellersAgain|0() in ReportsProductsAllowedToRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass10_0`1.<Advise_NoAcknowledgement>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ApplicationShutdownRequests.<>c__DisplayClass10_0.<ProcessShutdownVerdict>b__0() in ApplicationShutdownRequests.il:line IL_00C3 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.ReentrancyGuard.Execute(String name, CallerInfo& caller, Action action) in Execute.il:line IL_0122 mvid D244
|
||||
at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions(TaskPriority priorityLowestAllowedToExecute) in ExecutePendingActions.il:line IL_0088 mvid D244
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.ProcessQueue(Int32 nMinBucket, Int32 nProcessQueueGeneration) in ProcessQueue.il:line IL_01D0 mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.JetDispatcherTransportReliabilityLayer.OnInvoke(TaskPriority priority) in OnInvoke.il:line IL_007F mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.OnMessage(Void* hwnd, WindowsMessages message, IntPtr wParam, IntPtr lParam) in OnMessage.il:line IL_01CD mvid D244
|
||||
at JetBrains.Interop.Windows.Wrappers.NativeWin32Window.WndProc(Void* hwnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in WndProc.il:line IL_0071 mvid 9494
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.InternalPumpMessagesOnce()
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.JetBrains.Threading.IPlatformSpecificJetDispatcherThreadUnderlyingTransport.PumpMessagesOnce(TimeSpan maxWaitForFirstMessage)
|
||||
at JetBrains.Threading.RunsAndSleeps.RunOrSleep(Func`1 FCondition, IProperty`1 propCondition, TimeSpan timeout, OnWaitTimeout ontimeout, RunOrSleepFlags flags) in RunOrSleep.il:line IL_03B2 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Run(IProperty`1 condition, TimeSpan timeout, Boolean bThrowOnTimeout) in Run.il:line IL_0005 mvid D244
|
||||
at JetBrains.Application.Environment.IJetHostEx.RunHostMessageLoop(IComponentContainer containerEnv) in RunHostMessageLoop.il:line IL_000E mvid 5EF9
|
||||
at JetBrains.Application.Environment.HostParameters.MessagePumpMainLoopHostMixin.JetBrains.Application.Environment.HostParameters.IRunMainLoopHostMixin.RunMainLoop(ComponentContainer containerEnv)
|
||||
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.RunMainLoop(ComponentContainer containerEnv) in RunMainLoop.il:line IL_009F mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass12_0.<RunUntilShutdown>b__0() in JetEnvironment.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(OuterLifetime lifetime, String name, CallerInfo& caller, Action action, TaskPriority priority, Nullable`1 limit)
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(String name, Action action, TaskPriority priority, String callerFilePath, String callerMemberName)
|
||||
at JetBrains.Application.Environment.JetEnvironment.RunUntilShutdown() in RunUntilShutdown.il:line IL_0044 mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.CreateAndRun(JetHostParameters hostparams) in CreateAndRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetHostItems.CreateAndRun(Full input) in CreateAndRun.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.MainX(Assembly assembly, HostInfo hostInfo) in MainX.il:line IL_00B3 mvid 2082
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.<>c.<Main>b__4_0(Lifetime lifetime) in RiderBackendProgram.il:line IL_002B mvid 2082
|
||||
at JetBrains.Lifetimes.Lifetime.Using[T](Func`2 action) in Using.il:line IL_0014 mvid 6B8D
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main() in Main.il:line IL_005D mvid 2082
|
||||
”
|
||||
ExceptionPath = Root
|
||||
ClassName = JetBrains.Util.LoggerException
|
||||
HResult = COR_E_APPLICATION=80131600
|
||||
</Exception>
|
||||
<Exception Message="The 's:String' start tag on line 64 position 3 does not match the end tag of 'wpf:ResourceDictionary'. Line 355, position 91." Kind="Error">The 's:String' start tag on line 64 position 3 does not match the end tag of 'wpf:ResourceDictionary'. Line 355, position 91.
|
||||
|
||||
--- EXCEPTION #1/2 [XmlException]
|
||||
Message = “The 's:String' start tag on line 64 position 3 does not match the end tag of 'wpf:ResourceDictionary'. Line 355, position 91.”
|
||||
res = “The '{0}' start tag on line {1} position {2} does not match the end tag of '{3}'.”
|
||||
args.#0 = s:String
|
||||
args.#1 = 64
|
||||
args.#2 = 3
|
||||
args.#3 = wpf:ResourceDictionary
|
||||
lineNumber = 355
|
||||
linePosition = 91
|
||||
version = 2.0
|
||||
StackTraceString = “
|
||||
at System.Xml.XmlTextReaderImpl.Throw(Exception e) in Throw.il:line IL_0027 mvid F2DC or Throw.il:line IL_0029 mvid F2DC
|
||||
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args) in Throw.il:line IL_0027 mvid F2DC or Throw.il:line IL_0029 mvid F2DC
|
||||
at System.Xml.XmlTextReaderImpl.ThrowTagMismatch(NodeData startTag) in ThrowTagMismatch.il:line IL_0086 mvid F2DC
|
||||
at System.Xml.XmlTextReaderImpl.ParseEndElement() in ParseEndElement.il:line IL_00F2 mvid F2DC
|
||||
at System.Xml.XmlTextReaderImpl.ParseElementContent() in ParseElementContent.il:line IL_0152 mvid F2DC
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_GenericRead() in Step.il:line IL_0000 mvid 5EF9
|
||||
”
|
||||
ExceptionPath = Root.InnerException
|
||||
ClassName = System.Xml.XmlException
|
||||
HResult = Xml=80131940
|
||||
Source = System.Private.Xml
|
||||
Data.ThreadLocalDebugInfo = ShutdownRequested
|
||||
|
||||
--- Outer ---
|
||||
|
||||
--- EXCEPTION #2/2 [LoggerException]
|
||||
Message = “The 's:String' start tag on line 64 position 3 does not match the end tag of 'wpf:ResourceDictionary'. Line 355, position 91.”
|
||||
InnerException = “Exception #1 at Root.InnerException”
|
||||
StackTraceString = “
|
||||
at JetBrains.Util.ILoggerEx.LogException(ILogger logger, LoggingLevel level, Exception exception, ExceptionOrigin exceptionOrigin, String comment) in LogException.il:line IL_002E mvid D244
|
||||
at JetBrains.Util.ILoggerEx.Error(ILogger logger, Exception exception, ExceptionOrigin origin, String comment) in Error.il:line IL_0000 mvid D244
|
||||
at JetBrains.Util.ILoggerEx.LogOuterDataException(ILogger logger, Exception exception, String comment) in LogOuterDataException.il:line IL_0000 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step_GenericRead() in Step.il:line IL_0000 mvid 5EF9 or Step.il:line IL_006F mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Step() in Step.il:line IL_0000 mvid 5EF9 or Step.il:line IL_006F mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.EntriesReader.Run(XmlReader reader, EntryPositionsFlag entryPositionsFlag) in Run.il:line IL_006B mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__5(XmlReader xmlreader)
|
||||
at JetBrains.Util.XmlReaderEx.ReadXml[TResult](Stream stream, Func`2 FRead) in ReadXml.il:line IL_002F mvid 54EE
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_2.<Save_WriteFile_BackupOldCorruptedFile>b__4(Stream streamR)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.ReadStream[T,TF,TFile,TDir](FileSystemPathBase`3 path, Func`2 λRead) in ReadStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_1.<Save_WriteFile_BackupOldCorruptedFile>b__2()
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.XmlWriterEx.InElement(XmlWriter writer, String name, Action nested, Boolean writeFullEndElement)
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__1(XmlWriter xmlwriter)
|
||||
at JetBrains.Util.XmlWriterEx.WriteXml(Stream stream, Action`1 FWrite) in WriteXml.il:line IL_0023 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass34_0.<Save_WriteFile_BackupOldCorruptedFile>b__0(Stream stream)
|
||||
at JetBrains.Util.FileSystemPathOpenEx.WriteStream[T,TFile,TDir](FileSystemPathBase`3 path, Action`1 λWrite) in WriteStream.il:line IL_0029 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile_BackupOldCorruptedFile(FileSystemPath path) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass31_0.<Save_WriteFile>b__0()
|
||||
at JetBrains.Util.ILoggerEx.Catch(ILogger logger, Action action, ExceptionOrigin origin, LoggingLevel loggingLevel) in Catch.il:line IL_0060 mvid D244
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save_WriteFile(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.Save(SaveDiffFlags flagsDiff, SaveForcedFlags flagsForced) in Save.il:line IL_002C mvid 5EF9 or Save.il:line IL_00D2 mvid 5EF9 or Save.il:line IL_0241 mvid 5EF9
|
||||
at JetBrains.Application.Settings.Storage.Persistence.SettingsStoreSerializationToXmlDiskFile.<>c__DisplayClass9_0.<Init_FirstLoadLastSave>b__1()
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass0_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.CombinedProperty2`3.<>c__DisplayClass8_0.<AdviseCore>b__1() in CombinedProperty2.il:line IL_009C mvid D244
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.ProjectModel.SolutionInstance.CloseSolutionInstance() in CloseSolutionInstance.il:line IL_0087 mvid 4DD6
|
||||
at JetBrains.ProjectModel.SolutionManagerBase.CloseSolutionInstance(SolutionInstance instance) in CloseSolutionInstance.il:line IL_0000 mvid 4DD6
|
||||
at JetBrains.ProjectModel.ProjectsHost.SolutionHost.Impl.SolutionHostManager.CloseSolution() in CloseSolution.il:line IL_0046 mvid 1A79
|
||||
at JetBrains.Rider.Backend.Features.ProjectModel.RiderSolutionWatcher.<>c__DisplayClass4_0.<.ctor>b__2() in RiderSolutionWatcher.il:line IL_002D mvid 2082
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Application.Components.SingletonDescriptorBindings`1.Dispose() in Dispose.il:line IL_0000 mvid F14D
|
||||
at JetBrains.Application.Components.SingletonDescriptor`1.DisposeInternalResources() in DisposeInternalResources.il:line IL_0048 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.DoDisposeSafe(Object instance) in DoDisposeSafe.il:line IL_0036 mvid F14D
|
||||
at JetBrains.Application.Components.AsyncDescriptorBase.Dispose() in Dispose.il:line IL_00DD mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.DisposeDescriptor(IComponentDescriptor descriptor) in DisposeDescriptor.il:line IL_000A mvid F14D
|
||||
at JetBrains.Application.Components.ComponentStorage.Terminate() in Terminate.il:line IL_00AE mvid F14D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Destruct() in Destruct.il:line IL_00A8 mvid 6B8D or Destruct.il:line IL_00B1 mvid 6B8D
|
||||
at JetBrains.Lifetimes.LifetimeDefinition.Terminate() in Terminate.il:line IL_0162 mvid 6B8D
|
||||
at JetBrains.Lifetimes.SequentialLifetimes.TrySetNewAndTerminateOld(LifetimeDefinition newLifetimeDefinition, Action`1 actionWithNewLifetime) in TrySetNewAndTerminateOld.il:line IL_001F mvid 6B8D
|
||||
at JetBrains.DataFlow.IPropertyEx.<>c__DisplayClass39_0.<WhenTrue>b__0(PropertyChangedEventArgs`1 args) in IPropertyEx.il:line IL_0000 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.RunsProducts.<>c__DisplayClass5_1.<.ctor>b__0(PropertyChangedEventArgs`1 _)
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass1_0`1.<Advise_FallingFront>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_2.<AdviseCore>b__4() in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.Util.Logging.Logger.Catch(Action action) in Catch.il:line IL_000F mvid D244
|
||||
at JetBrains.Util.DataFlow.ProjectedProperty`2.<>c__DisplayClass10_0.<AdviseCore>b__3(PropertyChangedEventArgs`1 args) in ProjectedProperty.il:line IL_0000 mvid D244 or ProjectedProperty.il:line IL_0139 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.UpdateActiveTellers(Lifetime lifetimeComponent, List`1 tellers, IThreading threading, IProperty`1 propComposite, ILogger logger) in UpdateActiveTellers.il:line IL_00FD mvid 5EF9
|
||||
at JetBrains.Application.Environment.ReportsProductsAllowedToRun.<>c__DisplayClass2_0.<UpdateActiveTellers>g__UpdateActiveTellersAgain|0() in ReportsProductsAllowedToRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.DataFlow.IPropertySignalEx.<>c__DisplayClass10_0`1.<Advise_NoAcknowledgement>b__0(PropertyChangedEventArgs`1 args) in IPropertySignalEx.il:line IL_0010 mvid D244 or IPropertySignalEx.il:line IL_0028 mvid D244
|
||||
at JetBrains.DataFlow.Signal`1.Fire(TValue value, Object cookie) in Fire.il:line IL_0054 mvid D244
|
||||
at JetBrains.DataFlow.Property`1.SetValue(TValue value, Object cookie)
|
||||
at JetBrains.DataFlow.Property`1.set_Value(TValue value)
|
||||
at JetBrains.Application.Environment.ApplicationShutdownRequests.<>c__DisplayClass10_0.<ProcessShutdownVerdict>b__0() in ApplicationShutdownRequests.il:line IL_00C3 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.ReentrancyGuard.Execute(String name, CallerInfo& caller, Action action) in Execute.il:line IL_0122 mvid D244
|
||||
at JetBrains.Threading.ReentrancyGuard.ExecutePendingActions(TaskPriority priorityLowestAllowedToExecute) in ExecutePendingActions.il:line IL_0088 mvid D244
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.ProcessQueue(Int32 nMinBucket, Int32 nProcessQueueGeneration) in ProcessQueue.il:line IL_01D0 mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.JetDispatcherTransportReliabilityLayer.OnInvoke(TaskPriority priority) in OnInvoke.il:line IL_007F mvid D244
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.OnMessage(Void* hwnd, WindowsMessages message, IntPtr wParam, IntPtr lParam) in OnMessage.il:line IL_01CD mvid D244
|
||||
at JetBrains.Interop.Windows.Wrappers.NativeWin32Window.WndProc(Void* hwnd, UInt32 msg, IntPtr wParam, IntPtr lParam) in WndProc.il:line IL_0071 mvid 9494
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Interop.WinApi.User32Dll.DispatchMessageW(MSG* lpmsg)
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.InternalPumpMessagesOnce()
|
||||
at JetBrains.Util.Concurrency.Dispatcher.WindowsMessageQueueTransportForJetDispatcher.JetBrains.Threading.IPlatformSpecificJetDispatcherThreadUnderlyingTransport.PumpMessagesOnce(TimeSpan maxWaitForFirstMessage)
|
||||
at JetBrains.Threading.RunsAndSleeps.RunOrSleep(Func`1 FCondition, IProperty`1 propCondition, TimeSpan timeout, OnWaitTimeout ontimeout, RunOrSleepFlags flags) in RunOrSleep.il:line IL_03B2 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Run(IProperty`1 condition, TimeSpan timeout, Boolean bThrowOnTimeout) in Run.il:line IL_0005 mvid D244
|
||||
at JetBrains.Application.Environment.IJetHostEx.RunHostMessageLoop(IComponentContainer containerEnv) in RunHostMessageLoop.il:line IL_000E mvid 5EF9
|
||||
at JetBrains.Application.Environment.HostParameters.MessagePumpMainLoopHostMixin.JetBrains.Application.Environment.HostParameters.IRunMainLoopHostMixin.RunMainLoop(ComponentContainer containerEnv)
|
||||
at JetBrains.Application.Environment.HostParameters.JetHostParametersCaller.RunMainLoop(ComponentContainer containerEnv) in RunMainLoop.il:line IL_009F mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetEnvironment.<>c__DisplayClass12_0.<RunUntilShutdown>b__0() in JetEnvironment.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Util.Concurrency.ExecutionContextEx.WithinExecutionContext(Object o) in WithinExecutionContext.il:line IL_002F mvid D244
|
||||
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in RunInternal.il:line IL_0040 mvid 243A
|
||||
at JetBrains.Threading.JetDispatcher.Closure.Execute() in Execute.il:line IL_01C6 mvid D244
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(OuterLifetime lifetime, String name, CallerInfo& caller, Action action, TaskPriority priority, Nullable`1 limit)
|
||||
at JetBrains.Threading.JetDispatcher.Invoke(String name, Action action, TaskPriority priority, String callerFilePath, String callerMemberName)
|
||||
at JetBrains.Application.Environment.JetEnvironment.RunUntilShutdown()
|
||||
at JetBrains.Application.Environment.JetEnvironment.CreateAndRun(JetHostParameters hostparams) in CreateAndRun.il:line IL_000B mvid 5EF9
|
||||
at JetBrains.Application.Environment.JetHostItems.CreateAndRun(Full input) in CreateAndRun.il:line IL_0000 mvid 5EF9
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.MainX(Assembly assembly, HostInfo hostInfo) in MainX.il:line IL_00B3 mvid 2082
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.<>c.<Main>b__4_0(Lifetime lifetime) in RiderBackendProgram.il:line IL_002B mvid 2082
|
||||
at JetBrains.Lifetimes.Lifetime.Using[T](Func`2 action) in Using.il:line IL_0014 mvid 6B8D
|
||||
at JetBrains.Rider.Backend.Product.RiderBackendProgram.Main() in Main.il:line IL_005D mvid 2082
|
||||
”
|
||||
ExceptionPath = Root
|
||||
ClassName = JetBrains.Util.LoggerException
|
||||
HResult = COR_E_APPLICATION=80131600
|
||||
</Exception>
|
||||
<!--The backup file has been created before writing in-memory changes to the settings file. As the existing settings file is corrupted, many settings might get lost when writing the new content. If you'd like to restore the settings from the previous version, here're the changes against the backed-up version (note: subsequent changes are not reflected here).-->
|
||||
<InMemoryChanges>
|
||||
<SetValue>
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=943f9249_002Ded52_002D453e_002Db953_002Db234aabc0cc0/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" IsActive="True" Name="TryJsonStringDeserialize_Test" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.RegisterReaders.PoseidonCmdStartStop.CliRunnerTest.TryJsonStringDeserialize_Test</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.RoiForFixedStartKeyence.RoiTest.Valve</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.CJMS11.CameraTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Output.FileWriters.Enhanced.WriterTest</TestId>
|
||||
</TestAncestor>
|
||||
</SessionState></s:String></wpf:ResourceDictionary>
|
||||
</SetValue>
|
||||
<ClearValue></ClearValue>
|
||||
</InMemoryChanges>
|
||||
</CorruptedSettingsDescription>
|
||||
@@ -1,44 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace TBF.Boxes
|
||||
{
|
||||
public class CheckBoxImage : PictureBox
|
||||
{
|
||||
private bool cbChecked;
|
||||
private readonly Image checkedImg;
|
||||
private readonly Image uncheckedImg;
|
||||
|
||||
public CheckBoxImage()
|
||||
: this(new Bitmap(TBF.Properties.Resources.SwitchOn), new Bitmap(TBF.Properties.Resources.SwitchOff), true)
|
||||
{
|
||||
SizeMode = PictureBoxSizeMode.StretchImage;
|
||||
}
|
||||
|
||||
public CheckBoxImage(Image checkedImg, Image uncheckedImg, bool initState)
|
||||
: base()
|
||||
{
|
||||
this.checkedImg = checkedImg;
|
||||
this.uncheckedImg = uncheckedImg;
|
||||
Click += (sender, e) => { Checked = !Checked; };
|
||||
Checked = initState;
|
||||
}
|
||||
|
||||
public bool Checked
|
||||
{
|
||||
get { return cbChecked; }
|
||||
set
|
||||
{
|
||||
if (Enabled)
|
||||
{
|
||||
Image = value ? checkedImg : uncheckedImg;
|
||||
cbChecked = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("3.9.2149.0")]
|
||||
[assembly: AssemblyFileVersion("3.9.2149.0")]
|
||||
[assembly: AssemblyVersion("3.9.2146.4")]
|
||||
[assembly: AssemblyFileVersion("3.9.2146.4")]
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
## Version History
|
||||
|
||||
| Version | Target Environment | Title | Description |
|
||||
|------------|--------------------------------------------------------------|-----------------------------------------------------|------------------------------------|
|
||||
| 3.9.2149.0 | HeatMeters, Heat meter sensors, Procedure Dilog, Tab Process | Excanged columns value 'Sensor' and 'Heat meter sensor' | Fix in code ProcedureDlg, row 1851 |
|
||||
@@ -480,7 +480,7 @@ namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine(@"The selected item is not a number.");
|
||||
Console.WriteLine("The selected item is not a number.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -302,27 +302,11 @@ namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
if (nrLines == 1)
|
||||
{
|
||||
Width = 1040;
|
||||
startLabel2.Visible = false;
|
||||
endLabel2.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
Width = 1420;
|
||||
}
|
||||
|
||||
OkButtonPosition();
|
||||
}
|
||||
|
||||
void OkButtonPosition()
|
||||
{
|
||||
if (okButton.Location.X > Width)
|
||||
{
|
||||
int margin = 5;
|
||||
okButton.Location = new Point(
|
||||
this.ClientSize.Width - okButton.Width - margin,
|
||||
okButton.Location.Y
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -1,19 +1,12 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
|
||||
///
|
||||
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
|
||||
namespace TBF.Rig.Generic
|
||||
{
|
||||
public interface ITestParams : IParamsProvider
|
||||
public interface ITestParams
|
||||
{
|
||||
|
||||
public string Activity { get; set; } /// Communication activity
|
||||
public bool SimultWithPrevious { get; set; }
|
||||
public bool SimultWithNext { get; set; }
|
||||
|
||||
void UpdateFromDbEntity(ComponentTest dbEntity);
|
||||
void FromDbEntity(string componentName, Test test);
|
||||
ComponentTest ToDbEntity(string componentName, Test test);
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.Network.AdapterJMS
|
||||
{
|
||||
public class Factory : IComponentFactory
|
||||
{
|
||||
public string ClassName { get { return this.GetType().Namespace.Substring(8); } }
|
||||
public override string ToString() { return ClassName; }
|
||||
|
||||
public IComponent DummyComponent() { return new Netadapter(); }
|
||||
|
||||
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Netadapter(cfg); }
|
||||
|
||||
public IComponentCfg DefaultConfig() { return new NetadapterCfg(this.GetType().Namespace.Substring(8), this); }
|
||||
|
||||
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
|
||||
{
|
||||
return ComponentCfgBase.CreateFromDbEntity(NetadapterCfg.Serializer, component, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,115 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Threading.Tasks;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using log4net;
|
||||
using NHibernate;
|
||||
using TBF.Rig.Network.Camera.CJMS11;
|
||||
|
||||
namespace TBF.Rig.Network.AdapterJMS
|
||||
{
|
||||
public class Netadapter : ComponentBase, GenericDevices.INetworkAdapter
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(Netadapter));
|
||||
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
|
||||
|
||||
readonly NetadapterCfg netadapterCfg;
|
||||
|
||||
IPAddress ipAddress;
|
||||
IPAddress netMask;
|
||||
IPAddress broadcastAddress;
|
||||
|
||||
int tcpPort = -1;
|
||||
IList<TcpClient> tcpClients;
|
||||
private IList<Task> connectAsyncList;
|
||||
|
||||
public IPAddress IPAddress { get { return ipAddress; } }
|
||||
public IPAddress NetMask { get { return netMask; } }
|
||||
public IPAddress BroadcastAddress { get { return broadcastAddress; } }
|
||||
|
||||
public IList<TcpClient> TcpClients { get { return tcpClients; } }
|
||||
public int TcpPort { get { return tcpPort; } }
|
||||
|
||||
public TcpClient GetTcpClient(string ipAddressCJMS)
|
||||
{
|
||||
foreach (TcpClient tcpClient in tcpClients)
|
||||
{
|
||||
if (tcpClient.Client.RemoteEndPoint.ToString().Contains(ipAddressCJMS))
|
||||
{
|
||||
return tcpClient;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public IList<Task> TasksConnectAsync { get { return connectAsyncList; } }
|
||||
|
||||
|
||||
public Netadapter() { }
|
||||
|
||||
public Netadapter(Generic.IComponentCfg cfg)
|
||||
: base(cfg)
|
||||
{
|
||||
netadapterCfg = cfg as NetadapterCfg;
|
||||
log.Warn(this.ToString());
|
||||
tcpClients = new List<TcpClient>();
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
if (DebugLevel == DebugMode.Simulate)
|
||||
{
|
||||
ipAddress = IPAddress.Parse("192.168.1.100");
|
||||
netMask = IPAddress.Parse("255.255.255.0");
|
||||
broadcastAddress = IPAddress.Parse("192.168.1.255");
|
||||
return;
|
||||
}
|
||||
|
||||
//TODO hold connections to cameras and other devices, close them when the adapter is removed.
|
||||
ISession session = TBF.DB.CreateSession(DBKind.Config);
|
||||
//TODO BUMI - get the port from the config file - defined by UI
|
||||
if (tcpPort == -1) tcpPort = 32456; //default port
|
||||
|
||||
IList<Component> cmpntEntities = session.QueryOver<Component>()
|
||||
.OrderBy(x => x. ItemNr).Asc
|
||||
.List();
|
||||
|
||||
connectAsyncList = new List<Task>();
|
||||
foreach (var cmpnt in cmpntEntities)
|
||||
{
|
||||
Rig.Generic.IComponentFactory factory = TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName);
|
||||
|
||||
/// Camera - jouined to a network adapter
|
||||
if (factory is Rig.Network.Camera.CJMS11.Factory)
|
||||
{
|
||||
CameraCfg cmpntCfgFromCmpntEntity =
|
||||
factory.CmpntCfgFromCmpntEntity(cmpnt) as Rig.Network.Camera.CJMS11.CameraCfg;
|
||||
if (cmpntCfgFromCmpntEntity == null) continue;
|
||||
// TcpClient tcpClient = new TcpClient();
|
||||
// tcpClients.Add(tcpClient);
|
||||
// connectAsyncList.Add(tcpClient.ConnectAsync(cmpntCfgFromCmpntEntity.IPAddressCJMS, tcpPort));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Task.WaitAll(connectAsyncList.ToArray()); // run all tasks in parallel
|
||||
|
||||
// AdapterInfo.RefreshNetAdaptersInfo();
|
||||
// AdapterInfo netadapter = AdapterInfo.GetNetAdapter(netadapterCfg.Description);
|
||||
// ipAddress = netadapter.IPAddress;
|
||||
// netMask = netadapter.NetMask;
|
||||
//
|
||||
// if (this.Cfg.DebugLevel != DebugMode.Simulate)
|
||||
// {
|
||||
// broadcastAddress = netadapter.GetBroadcastAddress();
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.Network.AdapterJMS
|
||||
{
|
||||
public class NetadapterCfg : ComponentCfgBase, Generic.IComponentCfg
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(NetadapterCfg) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
|
||||
public IComponentCfgCtrl GetControl(IList<Config.Entities.Component> cmpntEntities) { return new NetadapterCfgCtrl(); }
|
||||
|
||||
|
||||
public string Description; /// Description string of the selected network adapter
|
||||
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
NetadapterCfg() {}
|
||||
|
||||
public NetadapterCfg(string name, IComponentFactory factory)
|
||||
: this()
|
||||
{
|
||||
Name = name;
|
||||
Factory = factory;
|
||||
ParentName = string.Empty;
|
||||
}
|
||||
|
||||
public string ToString(int i)
|
||||
{
|
||||
return string.Format("Name={0}, Description={1}", Name, Description);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,140 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Windows.Forms;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.Network.AdapterJMS
|
||||
{
|
||||
public partial class NetadapterCfgCtrl : UserControl, IComponentCfgCtrl
|
||||
{
|
||||
public bool ShowMore { get { return false; } }
|
||||
|
||||
NetadapterCfg config;
|
||||
public IComponentCfg Config
|
||||
{
|
||||
get { return config as IComponentCfg; }
|
||||
set
|
||||
{
|
||||
config = value as NetadapterCfg;
|
||||
Redraw();
|
||||
}
|
||||
}
|
||||
|
||||
public NetadapterCfgCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void EntryFormCfgCtrl_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (ParentForm == null) return; /// Return is executed when tab page is open in Designer
|
||||
if (config == null) return; /// Control was not loaded, settings were not changed
|
||||
|
||||
Localize();
|
||||
|
||||
Redraw();
|
||||
}
|
||||
|
||||
void Redraw()
|
||||
{
|
||||
classNameLabel.Text = config.Factory.ClassName;
|
||||
nameTextBox.Text = config.Name;
|
||||
|
||||
AdapterInfo.RefreshNetAdaptersInfo();
|
||||
IList<AdapterInfo> adapters = AdapterInfo.NetAdapters;
|
||||
|
||||
string cfgAdapter = string.Empty;
|
||||
foreach (AdapterInfo ai in adapters)
|
||||
{
|
||||
string record;
|
||||
|
||||
if (ai.IPAddress == null)
|
||||
{
|
||||
/// This happens with network adapters that currently have no IP address,
|
||||
/// for instance not connected wireless or dial-up adapters
|
||||
record = "???.???.???.???";
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Do not consider IPv6 adapters as well as "Any", "Broadcast", "Loopback" or "None" addresses
|
||||
if ((ai.IPAddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6) ||
|
||||
ai.IPAddress.Equals(IPAddress.Any) ||
|
||||
ai.IPAddress.Equals(IPAddress.Broadcast) ||
|
||||
ai.IPAddress.Equals(IPAddress.IPv6Any) ||
|
||||
ai.IPAddress.Equals(IPAddress.IPv6Loopback) ||
|
||||
ai.IPAddress.Equals(IPAddress.IPv6None) ||
|
||||
ai.IPAddress.Equals(IPAddress.Loopback) ||
|
||||
ai.IPAddress.Equals(IPAddress.None))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
record = ai.IPAddress.ToString();
|
||||
}
|
||||
|
||||
record += " - " + ai.Description;
|
||||
int i = adapterComboBox.Items.Add(record);
|
||||
if (ai.Description == config.Description)
|
||||
{
|
||||
/// Select the adapter currently in the configuration
|
||||
adapterComboBox.SelectedIndex = i;
|
||||
}
|
||||
}
|
||||
|
||||
/// Select the first one if the adapter from the configuration does not exist on the system
|
||||
if (adapterComboBox.SelectedIndex < 0 && adapterComboBox.Items.Count > 0)
|
||||
{
|
||||
adapterComboBox.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
}
|
||||
|
||||
public void Closing()
|
||||
{
|
||||
}
|
||||
|
||||
public void Unlock()
|
||||
{
|
||||
nameTextBox.Enabled = true;
|
||||
adapterComboBox.Enabled = true;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags VerifyCfg(ref string message)
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||
|
||||
if (!adapterComboBox.Items.Contains(adapterComboBox.Text))
|
||||
{
|
||||
flags = CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + "Invalid 'Parent Name'";
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags UpdateCfg()
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.RestartRqrd;
|
||||
|
||||
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
|
||||
|
||||
config.Name = nameTextBox.Text;
|
||||
|
||||
/// Network adapter
|
||||
string strAdapter = adapterComboBox.Text;
|
||||
int iDash = strAdapter.IndexOf(" - ");
|
||||
config.Description = iDash < 0 ? "" : strAdapter.Substring(iDash + 3);
|
||||
|
||||
return flags;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
namespace TBF.Rig.Network.AdapterJMS
|
||||
{
|
||||
partial class NetadapterCfgCtrl
|
||||
{
|
||||
/// <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 Component 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.nameTextBox = new System.Windows.Forms.TextBox();
|
||||
this.nameLabel = new System.Windows.Forms.Label();
|
||||
this.classNameLabel = new System.Windows.Forms.Label();
|
||||
this.adapterLabel = new System.Windows.Forms.Label();
|
||||
this.adapterComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// nameTextBox
|
||||
//
|
||||
this.nameTextBox.Enabled = false;
|
||||
this.nameTextBox.Location = new System.Drawing.Point(101, 50);
|
||||
this.nameTextBox.Name = "nameTextBox";
|
||||
this.nameTextBox.Size = new System.Drawing.Size(114, 20);
|
||||
this.nameTextBox.TabIndex = 5;
|
||||
//
|
||||
// nameLabel
|
||||
//
|
||||
this.nameLabel.AutoSize = true;
|
||||
this.nameLabel.Location = new System.Drawing.Point(9, 53);
|
||||
this.nameLabel.Name = "nameLabel";
|
||||
this.nameLabel.Size = new System.Drawing.Size(35, 13);
|
||||
this.nameLabel.TabIndex = 4;
|
||||
this.nameLabel.Text = "Name";
|
||||
//
|
||||
// classNameLabel
|
||||
//
|
||||
this.classNameLabel.AutoSize = true;
|
||||
this.classNameLabel.Location = new System.Drawing.Point(98, 24);
|
||||
this.classNameLabel.Name = "classNameLabel";
|
||||
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
|
||||
this.classNameLabel.TabIndex = 3;
|
||||
this.classNameLabel.Text = "ComonentName";
|
||||
//
|
||||
// adapterLabel
|
||||
//
|
||||
this.adapterLabel.AutoSize = true;
|
||||
this.adapterLabel.Location = new System.Drawing.Point(9, 80);
|
||||
this.adapterLabel.Name = "adapterLabel";
|
||||
this.adapterLabel.Size = new System.Drawing.Size(44, 13);
|
||||
this.adapterLabel.TabIndex = 6;
|
||||
this.adapterLabel.Text = "Adapter";
|
||||
//
|
||||
// adapterComboBox
|
||||
//
|
||||
this.adapterComboBox.Enabled = false;
|
||||
this.adapterComboBox.Location = new System.Drawing.Point(101, 77);
|
||||
this.adapterComboBox.Name = "adapterComboBox";
|
||||
this.adapterComboBox.Size = new System.Drawing.Size(333, 21);
|
||||
this.adapterComboBox.TabIndex = 7;
|
||||
//
|
||||
// NetadapterCfgCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.adapterComboBox);
|
||||
this.Controls.Add(this.adapterLabel);
|
||||
this.Controls.Add(this.nameTextBox);
|
||||
this.Controls.Add(this.nameLabel);
|
||||
this.Controls.Add(this.classNameLabel);
|
||||
this.Name = "NetadapterCfgCtrl";
|
||||
this.Size = new System.Drawing.Size(450, 300);
|
||||
this.Load += new System.EventHandler(this.EntryFormCfgCtrl_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox nameTextBox;
|
||||
private System.Windows.Forms.Label nameLabel;
|
||||
private System.Windows.Forms.Label classNameLabel;
|
||||
private System.Windows.Forms.Label adapterLabel;
|
||||
private System.Windows.Forms.ComboBox adapterComboBox;
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
</root>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,74 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Xml.Serialization;
|
||||
using Common;
|
||||
using TBF.Rig.Generic;
|
||||
using TBF.Resources;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public enum TestImagesMode
|
||||
{
|
||||
None,
|
||||
SaveFirstImages,
|
||||
SaveLastImages,
|
||||
LoadImages,
|
||||
Count,
|
||||
Invalid,
|
||||
}
|
||||
|
||||
public class CameraCfg : ComponentCfgBase, IChildComponentCfg
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(CameraCfg) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
|
||||
public IComponentCfgCtrl GetControl(IList<Config.Entities.Component> cmpntEntities) { return new CameraCfgCtrl(); }
|
||||
|
||||
///
|
||||
/// Serialized parameters
|
||||
///
|
||||
public int HardwareAddress;
|
||||
public bool DisplayTerminal;
|
||||
|
||||
[XmlIgnore]
|
||||
public TestImagesMode TestImagesMode;
|
||||
|
||||
[XmlIgnore]
|
||||
public int TestImagesCount;
|
||||
|
||||
public string IPAddressCJMS;
|
||||
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
CameraCfg() { }
|
||||
|
||||
public CameraCfg(string name, IComponentFactory factory)
|
||||
: this()
|
||||
{
|
||||
Name = name;
|
||||
Factory = factory;
|
||||
ParentName = "Network.Adapter";
|
||||
HardwareAddress = 1;
|
||||
TestImagesMode = TestImagesMode.None;
|
||||
TestImagesCount = 3000;
|
||||
DebugLevel = DebugMode.AutoDetect;
|
||||
IPAddressCJMS = "192.168.1.100";
|
||||
}
|
||||
|
||||
public string ToString(int i)
|
||||
{
|
||||
return string.Format("Name={0}, s/n={1}, Terminal={2}, TestImagesMode={3}, TestImagesCount={4}, Parent={5}, IPAddressCJMS={6}",
|
||||
Name,
|
||||
HardwareAddress,
|
||||
DisplayTerminal ? Strings.yes : Strings.no,
|
||||
TestImagesMode,
|
||||
TestImagesCount,
|
||||
ParentName,
|
||||
IPAddressCJMS);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,276 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
using Castle.Components.DictionaryAdapter.Xml;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using log4net;
|
||||
using TBF.Rig.Generic;
|
||||
using TBF.Resources;
|
||||
using TBF.Rig.Network.Adapter;
|
||||
using TBF.UI.Bench.Components;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public partial class CameraCfgCtrl : UserControl, IComponentCfgCtrl
|
||||
{
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(CameraCfgCtrl));
|
||||
ComponentParametersDlg parent;
|
||||
|
||||
private bool isIPCalculated = false;
|
||||
|
||||
public bool ShowMore
|
||||
{
|
||||
get { return false; }
|
||||
}
|
||||
|
||||
CameraCfg config;
|
||||
|
||||
public IComponentCfg Config
|
||||
{
|
||||
get { return config as IComponentCfg; }
|
||||
set
|
||||
{
|
||||
config = value as CameraCfg;
|
||||
Redraw();
|
||||
}
|
||||
}
|
||||
|
||||
public CameraCfgCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void PumpCfgCtrl_Load(object sender, EventArgs e)
|
||||
{
|
||||
Localize();
|
||||
|
||||
parent = ParentForm as ComponentParametersDlg;
|
||||
if (parent == null) return;
|
||||
|
||||
if (parent.CmpntEntities != null)
|
||||
{
|
||||
foreach (var cmpnt in parent.CmpntEntities)
|
||||
{
|
||||
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is TBF.Rig.Network.AdapterJMS.Factory)
|
||||
{
|
||||
parentNameComboBox.Items.Add(cmpnt.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (TestImagesMode mode = 0; mode < TestImagesMode.Count; mode++)
|
||||
{
|
||||
testImagesModeComboBox.Items.Add(mode.ToString());
|
||||
}
|
||||
|
||||
Redraw();
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
nameLabel.Text = Strings.Name;
|
||||
parentNameLabel.Text = Strings.Parent_name;
|
||||
hwAddressLabel.Text = Strings.Serial_number;
|
||||
}
|
||||
|
||||
public void Closing()
|
||||
{
|
||||
}
|
||||
|
||||
void Redraw()
|
||||
{
|
||||
if (config == null) return; /// Control was not loaded, settings were not changed
|
||||
|
||||
classNameLabel.Text = config.Factory.ClassName;
|
||||
nameTextBox.Text = config.Name;
|
||||
parentNameComboBox.Text = string.IsNullOrEmpty(config.ParentName) ? "---" : config.ParentName;
|
||||
hwAddressTextBox.Text = config.HardwareAddress.ToString();
|
||||
displayTerminalCheckBox.Checked = config.DisplayTerminal;
|
||||
testImagesModeComboBox.Text = config.TestImagesMode.ToString();
|
||||
testImagesCountTextBox.Text = config.TestImagesCount.ToString();
|
||||
if (!(isIPCalculated && (config.IPAddressCJMS == null || config.IPAddressCJMS.Equals(""))))
|
||||
{
|
||||
ipAddressTextBox.Text = config.IPAddressCJMS;
|
||||
}
|
||||
}
|
||||
|
||||
public void Unlock()
|
||||
{
|
||||
nameTextBox.Enabled = true;
|
||||
parentNameComboBox.Enabled = true;
|
||||
hwAddressTextBox.Enabled = true;
|
||||
displayTerminalCheckBox.Enabled = true;
|
||||
testImagesModeComboBox.Enabled = true;
|
||||
testImagesCountTextBox.Enabled = true;
|
||||
ipAddressTextBox.Enabled = true;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags VerifyCfg(ref string message)
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||
|
||||
int dummy;
|
||||
if (!parentNameComboBox.Items.Contains(parentNameComboBox.Text))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, parentNameLabel.Text);
|
||||
}
|
||||
|
||||
if (!int.TryParse(hwAddressTextBox.Text, out dummy) || dummy % 100 > 63)
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, hwAddressLabel.Text);
|
||||
}
|
||||
|
||||
TestImagesMode newTestImagesMode = TestImagesMode.Invalid;
|
||||
for (TestImagesMode mode = 0; mode < TestImagesMode.Count; mode++)
|
||||
{
|
||||
if (testImagesModeComboBox.Text == mode.ToString()) newTestImagesMode = mode;
|
||||
}
|
||||
|
||||
if (newTestImagesMode == TestImagesMode.Invalid)
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, testImagesModeLabel.Text);
|
||||
}
|
||||
|
||||
if (!int.TryParse(testImagesCountTextBox.Text, out dummy) || dummy < 0 || dummy > 3000
|
||||
|| ((dummy == 0) && (newTestImagesMode != TestImagesMode.None)))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, testImagesCountLabel.Text);
|
||||
}
|
||||
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags UpdateCfg()
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||
|
||||
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
|
||||
|
||||
string newParentName = parentNameComboBox.Text.Equals("---") ? string.Empty : parentNameComboBox.Text;
|
||||
int newHWAddress = int.Parse(hwAddressTextBox.Text);
|
||||
TestImagesMode newTestImagesMode = 0;
|
||||
for (TestImagesMode mode = 0; mode < TestImagesMode.Count; mode++)
|
||||
{
|
||||
if (testImagesModeComboBox.Text == mode.ToString()) newTestImagesMode = mode;
|
||||
}
|
||||
|
||||
int newTestImagesCount = int.Parse(testImagesCountTextBox.Text);
|
||||
|
||||
|
||||
if (config.Name != nameTextBox.Text ||
|
||||
config.ParentName != newParentName ||
|
||||
config.HardwareAddress != newHWAddress ||
|
||||
config.DisplayTerminal != displayTerminalCheckBox.Checked ||
|
||||
(config.IPAddressCJMS != ipAddressTextBox.Text && !ipAddressTextBox.Text.Contains("?"))
|
||||
)
|
||||
{
|
||||
config.Name = nameTextBox.Text;
|
||||
config.ParentName = newParentName;
|
||||
config.HardwareAddress = newHWAddress;
|
||||
config.DisplayTerminal = displayTerminalCheckBox.Checked;
|
||||
if (!ipAddressTextBox.Text.Contains("?"))
|
||||
{
|
||||
config.IPAddressCJMS = ipAddressTextBox.Text;
|
||||
}
|
||||
|
||||
flags |= (CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
|
||||
if (config.TestImagesMode != newTestImagesMode ||
|
||||
config.TestImagesCount != newTestImagesCount)
|
||||
{
|
||||
config.TestImagesMode = newTestImagesMode;
|
||||
config.TestImagesCount = newTestImagesCount;
|
||||
|
||||
flags |= (CfgUpdateFlags.InvokeCfgChange | CfgUpdateFlags.VolatileChange);
|
||||
}
|
||||
|
||||
if ((flags & CfgUpdateFlags.InvokeCfgChange) != 0)
|
||||
{
|
||||
Camera.OnCfgChange(this, new CfgChangeArgs(CfgChangeCmd.CfgChange, config));
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
|
||||
private void parentNameComboBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (parent == null) return;
|
||||
|
||||
if (parent.CmpntEntities != null)
|
||||
{
|
||||
foreach (var cmpnt in parent.CmpntEntities)
|
||||
{
|
||||
IComponentFactory cmpntFactoryFromClassName =
|
||||
TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName);
|
||||
if (cmpntFactoryFromClassName is TBF.Rig.Network.Adapter.Factory)
|
||||
{
|
||||
NetadapterCfg netadapterCfg =
|
||||
cmpntFactoryFromClassName.CmpntCfgFromCmpntEntity(cmpnt) as NetadapterCfg;
|
||||
string adapterDescription = netadapterCfg.Description;
|
||||
AdapterInfo netadapter = AdapterInfo.GetNetAdapter(adapterDescription);
|
||||
ipAddressAdapterTextBox.Text = netadapter.IPAddress.ToString();
|
||||
if (config.IPAddressCJMS == null || config.IPAddressCJMS.Equals(""))
|
||||
{
|
||||
ipAddressTextBox.Text = getAdatpterIP(netadapter);
|
||||
}
|
||||
|
||||
isIPCalculated = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string getAdatpterIP(AdapterInfo netadapter)
|
||||
{
|
||||
List<string> ipSegments = GetIPAddressInSegments(netadapter.IPAddress.ToString());
|
||||
|
||||
string address = string.Format(
|
||||
"{0}.{1}.{2}.???",
|
||||
ipSegments[0],
|
||||
ipSegments[1],
|
||||
ipSegments[2]
|
||||
);
|
||||
|
||||
return address;
|
||||
}
|
||||
|
||||
private List<string> GetIPAddressInSegments(string ipAddress)
|
||||
{
|
||||
List<string> ipAddressSegments = new List<string>();
|
||||
// Regular expression to match IPv4 and capture 4 segments
|
||||
string pattern = @"^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$";
|
||||
|
||||
Match match = Regex.Match(ipAddress, pattern);
|
||||
|
||||
if (match.Success)
|
||||
{
|
||||
ipAddressSegments.Add(match.Groups[1].Value);
|
||||
ipAddressSegments.Add(match.Groups[2].Value);
|
||||
ipAddressSegments.Add(match.Groups[3].Value);
|
||||
ipAddressSegments.Add(match.Groups[4].Value);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.Error("Invalid IP address format.");
|
||||
}
|
||||
|
||||
return ipAddressSegments;
|
||||
}
|
||||
}
|
||||
}
|
||||
-260
@@ -1,260 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
partial class CameraCfgCtrl
|
||||
{
|
||||
/// <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 Component 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.hwAddressTextBox = new System.Windows.Forms.TextBox();
|
||||
this.hwAddressLabel = new System.Windows.Forms.Label();
|
||||
this.parentNameLabel = new System.Windows.Forms.Label();
|
||||
this.nameTextBox = new System.Windows.Forms.TextBox();
|
||||
this.nameLabel = new System.Windows.Forms.Label();
|
||||
this.classNameLabel = new System.Windows.Forms.Label();
|
||||
this.parentNameComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.displayTerminalCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.testImagesCountTextBox = new System.Windows.Forms.TextBox();
|
||||
this.testImagesCountLabel = new System.Windows.Forms.Label();
|
||||
this.testImagesModeComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.testImagesModeLabel = new System.Windows.Forms.Label();
|
||||
this.ipAddressTextBox = new System.Windows.Forms.TextBox();
|
||||
this.iPAddressLabel = new System.Windows.Forms.Label();
|
||||
this.ipAddressAdapterTextBox = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// hwAddressTextBox
|
||||
//
|
||||
this.hwAddressTextBox.Enabled = false;
|
||||
this.hwAddressTextBox.Location = new System.Drawing.Point(198, 209);
|
||||
this.hwAddressTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.hwAddressTextBox.Name = "hwAddressTextBox";
|
||||
this.hwAddressTextBox.Size = new System.Drawing.Size(193, 26);
|
||||
this.hwAddressTextBox.TabIndex = 6;
|
||||
//
|
||||
// hwAddressLabel
|
||||
//
|
||||
this.hwAddressLabel.AutoSize = true;
|
||||
this.hwAddressLabel.Location = new System.Drawing.Point(42, 213);
|
||||
this.hwAddressLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.hwAddressLabel.Name = "hwAddressLabel";
|
||||
this.hwAddressLabel.Size = new System.Drawing.Size(107, 20);
|
||||
this.hwAddressLabel.TabIndex = 5;
|
||||
this.hwAddressLabel.Text = "Serial number";
|
||||
//
|
||||
// parentNameLabel
|
||||
//
|
||||
this.parentNameLabel.AutoSize = true;
|
||||
this.parentNameLabel.Location = new System.Drawing.Point(42, 106);
|
||||
this.parentNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.parentNameLabel.Name = "parentNameLabel";
|
||||
this.parentNameLabel.Size = new System.Drawing.Size(100, 20);
|
||||
this.parentNameLabel.TabIndex = 3;
|
||||
this.parentNameLabel.Text = "Parent name";
|
||||
//
|
||||
// nameTextBox
|
||||
//
|
||||
this.nameTextBox.Enabled = false;
|
||||
this.nameTextBox.Location = new System.Drawing.Point(198, 63);
|
||||
this.nameTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.nameTextBox.Name = "nameTextBox";
|
||||
this.nameTextBox.Size = new System.Drawing.Size(193, 26);
|
||||
this.nameTextBox.TabIndex = 2;
|
||||
//
|
||||
// nameLabel
|
||||
//
|
||||
this.nameLabel.AutoSize = true;
|
||||
this.nameLabel.Location = new System.Drawing.Point(42, 68);
|
||||
this.nameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.nameLabel.Name = "nameLabel";
|
||||
this.nameLabel.Size = new System.Drawing.Size(51, 20);
|
||||
this.nameLabel.TabIndex = 1;
|
||||
this.nameLabel.Text = "Name";
|
||||
//
|
||||
// classNameLabel
|
||||
//
|
||||
this.classNameLabel.AutoSize = true;
|
||||
this.classNameLabel.Location = new System.Drawing.Point(194, 26);
|
||||
this.classNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.classNameLabel.Name = "classNameLabel";
|
||||
this.classNameLabel.Size = new System.Drawing.Size(125, 20);
|
||||
this.classNameLabel.TabIndex = 0;
|
||||
this.classNameLabel.Text = "ComonentName";
|
||||
//
|
||||
// parentNameComboBox
|
||||
//
|
||||
this.parentNameComboBox.Enabled = false;
|
||||
this.parentNameComboBox.FormattingEnabled = true;
|
||||
this.parentNameComboBox.Location = new System.Drawing.Point(198, 102);
|
||||
this.parentNameComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.parentNameComboBox.Name = "parentNameComboBox";
|
||||
this.parentNameComboBox.Size = new System.Drawing.Size(193, 28);
|
||||
this.parentNameComboBox.TabIndex = 4;
|
||||
this.parentNameComboBox.TextChanged += new System.EventHandler(this.parentNameComboBox_TextChanged);
|
||||
//
|
||||
// displayTerminalCheckBox
|
||||
//
|
||||
this.displayTerminalCheckBox.AutoSize = true;
|
||||
this.displayTerminalCheckBox.Enabled = false;
|
||||
this.displayTerminalCheckBox.Location = new System.Drawing.Point(200, 255);
|
||||
this.displayTerminalCheckBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.displayTerminalCheckBox.Name = "displayTerminalCheckBox";
|
||||
this.displayTerminalCheckBox.Size = new System.Drawing.Size(146, 24);
|
||||
this.displayTerminalCheckBox.TabIndex = 7;
|
||||
this.displayTerminalCheckBox.Text = "Display terminal";
|
||||
this.displayTerminalCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// testImagesCountTextBox
|
||||
//
|
||||
this.testImagesCountTextBox.Enabled = false;
|
||||
this.testImagesCountTextBox.Location = new System.Drawing.Point(198, 335);
|
||||
this.testImagesCountTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.testImagesCountTextBox.Name = "testImagesCountTextBox";
|
||||
this.testImagesCountTextBox.Size = new System.Drawing.Size(67, 26);
|
||||
this.testImagesCountTextBox.TabIndex = 12;
|
||||
//
|
||||
// testImagesCountLabel
|
||||
//
|
||||
this.testImagesCountLabel.AutoSize = true;
|
||||
this.testImagesCountLabel.Location = new System.Drawing.Point(42, 339);
|
||||
this.testImagesCountLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.testImagesCountLabel.Name = "testImagesCountLabel";
|
||||
this.testImagesCountLabel.Size = new System.Drawing.Size(139, 20);
|
||||
this.testImagesCountLabel.TabIndex = 11;
|
||||
this.testImagesCountLabel.Text = "Test images count";
|
||||
//
|
||||
// testImagesModeComboBox
|
||||
//
|
||||
this.testImagesModeComboBox.Enabled = false;
|
||||
this.testImagesModeComboBox.FormattingEnabled = true;
|
||||
this.testImagesModeComboBox.Location = new System.Drawing.Point(198, 295);
|
||||
this.testImagesModeComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.testImagesModeComboBox.Name = "testImagesModeComboBox";
|
||||
this.testImagesModeComboBox.Size = new System.Drawing.Size(193, 28);
|
||||
this.testImagesModeComboBox.TabIndex = 14;
|
||||
//
|
||||
// testImagesModeLabel
|
||||
//
|
||||
this.testImagesModeLabel.AutoSize = true;
|
||||
this.testImagesModeLabel.Location = new System.Drawing.Point(42, 299);
|
||||
this.testImagesModeLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.testImagesModeLabel.Name = "testImagesModeLabel";
|
||||
this.testImagesModeLabel.Size = new System.Drawing.Size(139, 20);
|
||||
this.testImagesModeLabel.TabIndex = 13;
|
||||
this.testImagesModeLabel.Text = "Test images mode";
|
||||
//
|
||||
// ipAddressTextBox
|
||||
//
|
||||
this.ipAddressTextBox.Enabled = false;
|
||||
this.ipAddressTextBox.Location = new System.Drawing.Point(198, 176);
|
||||
this.ipAddressTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.ipAddressTextBox.Name = "ipAddressTextBox";
|
||||
this.ipAddressTextBox.Size = new System.Drawing.Size(193, 26);
|
||||
this.ipAddressTextBox.TabIndex = 15;
|
||||
//
|
||||
// iPAddressLabel
|
||||
//
|
||||
this.iPAddressLabel.AutoSize = true;
|
||||
this.iPAddressLabel.Location = new System.Drawing.Point(42, 176);
|
||||
this.iPAddressLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.iPAddressLabel.Name = "iPAddressLabel";
|
||||
this.iPAddressLabel.Size = new System.Drawing.Size(89, 20);
|
||||
this.iPAddressLabel.TabIndex = 16;
|
||||
this.iPAddressLabel.Text = "IP address:";
|
||||
//
|
||||
// ipAddressAdapterTextBox
|
||||
//
|
||||
this.ipAddressAdapterTextBox.Enabled = false;
|
||||
this.ipAddressAdapterTextBox.Location = new System.Drawing.Point(200, 140);
|
||||
this.ipAddressAdapterTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.ipAddressAdapterTextBox.Name = "ipAddressAdapterTextBox";
|
||||
this.ipAddressAdapterTextBox.Size = new System.Drawing.Size(193, 26);
|
||||
this.ipAddressAdapterTextBox.TabIndex = 17;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(42, 140);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(150, 20);
|
||||
this.label1.TabIndex = 18;
|
||||
this.label1.Text = "Adapter IP address:";
|
||||
//
|
||||
// CameraCfgCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.ipAddressAdapterTextBox);
|
||||
this.Controls.Add(this.iPAddressLabel);
|
||||
this.Controls.Add(this.ipAddressTextBox);
|
||||
this.Controls.Add(this.testImagesModeComboBox);
|
||||
this.Controls.Add(this.testImagesModeLabel);
|
||||
this.Controls.Add(this.hwAddressTextBox);
|
||||
this.Controls.Add(this.hwAddressLabel);
|
||||
this.Controls.Add(this.testImagesCountTextBox);
|
||||
this.Controls.Add(this.testImagesCountLabel);
|
||||
this.Controls.Add(this.displayTerminalCheckBox);
|
||||
this.Controls.Add(this.parentNameComboBox);
|
||||
this.Controls.Add(this.parentNameLabel);
|
||||
this.Controls.Add(this.nameTextBox);
|
||||
this.Controls.Add(this.nameLabel);
|
||||
this.Controls.Add(this.classNameLabel);
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.Name = "CameraCfgCtrl";
|
||||
this.Size = new System.Drawing.Size(603, 391);
|
||||
this.Load += new System.EventHandler(this.PumpCfgCtrl_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
|
||||
private System.Windows.Forms.TextBox ipAddressAdapterTextBox;
|
||||
|
||||
private System.Windows.Forms.TextBox ipAddressTextBox;
|
||||
private System.Windows.Forms.Label iPAddressLabel;
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox hwAddressTextBox;
|
||||
private System.Windows.Forms.Label hwAddressLabel;
|
||||
private System.Windows.Forms.Label parentNameLabel;
|
||||
private System.Windows.Forms.TextBox nameTextBox;
|
||||
private System.Windows.Forms.Label nameLabel;
|
||||
private System.Windows.Forms.Label classNameLabel;
|
||||
private System.Windows.Forms.ComboBox parentNameComboBox;
|
||||
private System.Windows.Forms.CheckBox displayTerminalCheckBox;
|
||||
private System.Windows.Forms.TextBox testImagesCountTextBox;
|
||||
private System.Windows.Forms.Label testImagesCountLabel;
|
||||
private System.Windows.Forms.ComboBox testImagesModeComboBox;
|
||||
private System.Windows.Forms.Label testImagesModeLabel;
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
</root>
|
||||
@@ -1,25 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public class Factory : IComponentFactory
|
||||
{
|
||||
public string ClassName { get { return GetType().Namespace.Substring(8); } }
|
||||
public override string ToString() { return ClassName; }
|
||||
|
||||
public IComponent DummyComponent() { return new Camera(); }
|
||||
|
||||
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Camera(cfg, components); }
|
||||
|
||||
public IComponentCfg DefaultConfig() { return new CameraCfg(this.GetType().Namespace.Substring(8), this); }
|
||||
|
||||
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
|
||||
{
|
||||
return ComponentCfgBase.CreateFromDbEntity(CameraCfg.Serializer, component, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,198 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using log4net;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.Network.Telnet;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public class GrabImagesOp : IOperation
|
||||
{
|
||||
/// TODO: Implement support for grabbing multiple images, now imgFileNames.Lenght should be 1
|
||||
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(GrabImagesOp));
|
||||
public override string ToString() { return string.Format("GrabImageOp()"); }
|
||||
|
||||
readonly Camera camera;
|
||||
|
||||
readonly string[] imgFileNames;
|
||||
readonly bool blackAndWhite;
|
||||
readonly bool lowResolution;
|
||||
readonly ImageRotation imageRotation;
|
||||
|
||||
string command;
|
||||
bool grabImageCommandSent;
|
||||
string response;
|
||||
bool grabPassed;
|
||||
bool grabFailed;
|
||||
bool transferringGrabbedImage;
|
||||
|
||||
Image grabedImage;
|
||||
Dictionary<int, Image> grabedImages = new Dictionary<int, Image>();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.None or Event.Error
|
||||
/// </summary>
|
||||
/// <param name="camera">CLP1611.Camera reference</param>
|
||||
public GrabImagesOp(Camera camera, string[] imgFileNames, bool blackAndWhite, bool lowResolution, ImageRotation imageRotation)
|
||||
{
|
||||
/// TODO: Implement support for grabbing multiple images, now imgFileNames.Lenght should be 1
|
||||
|
||||
this.camera = camera;
|
||||
//this.telnet = camera.Telnet;
|
||||
this.imgFileNames = imgFileNames;
|
||||
this.blackAndWhite = blackAndWhite;
|
||||
this.lowResolution = lowResolution;
|
||||
this.imageRotation = imageRotation;
|
||||
|
||||
grabImageCommandSent = false;
|
||||
transferringGrabbedImage = false;
|
||||
|
||||
/// image incomming event
|
||||
if (camera.DebugLevel == DebugMode.Normal || camera.DebugLevel == DebugMode.DetectedOn)
|
||||
{
|
||||
Camera.ImageCameraHandler += ImageReceived;
|
||||
}
|
||||
//TODO BUMI improve by simulate image
|
||||
Camera.ImageCameraHandler += ImageReceived;
|
||||
|
||||
/// inmages incomming event rotation
|
||||
if (camera.DebugLevel == DebugMode.Normal || camera.DebugLevel == DebugMode.DetectedOn)
|
||||
{
|
||||
Camera.ImagesCameraHandler += ImagesReceived;
|
||||
}
|
||||
//TODO BUMI improve by simulate image
|
||||
Camera.ImagesCameraHandler += ImagesReceived;
|
||||
}
|
||||
|
||||
void PromptReceived(object sndr, PromptReceivedJMSEventArgs a)
|
||||
{
|
||||
response = a.Response;
|
||||
}
|
||||
|
||||
void ImageReceived(object sndr, PromptReceivedImageEventArgs a)
|
||||
{
|
||||
if(a.idxCamera != camera.CameraIdx) return;
|
||||
grabedImage = a.image;
|
||||
grabPassed = true;
|
||||
}
|
||||
|
||||
void ImagesReceived(object sndr, PromptReceivedImagesEventArgs a)
|
||||
{
|
||||
if(a.idxCamera != camera.CameraIdx) return;
|
||||
grabedImage = a.image; //upgraded image common
|
||||
grabedImages[a.idxImage] = a.image; // stored image from sent to list of images
|
||||
grabPassed = true;
|
||||
}
|
||||
|
||||
|
||||
public void Start()
|
||||
{
|
||||
grabImageCommandSent = false;
|
||||
transferringGrabbedImage = false;
|
||||
grabPassed = false;
|
||||
grabedImage = null;
|
||||
grabedImages.Clear();
|
||||
|
||||
if ((imgFileNames != null) && (imgFileNames.Length > 0) && File.Exists(imgFileNames[0]))
|
||||
{
|
||||
///
|
||||
/// An image specified, (1) delete previous image, (2) check if this is a simulation
|
||||
///
|
||||
File.Delete(imgFileNames[0]);
|
||||
|
||||
/* if (camera.CameraCfg.DebugLevel == DebugMode.Simulate || camera.CameraCfg.DebugLevel == DebugMode.DetectedOff)
|
||||
{
|
||||
///
|
||||
/// Camera is in simulation mode => create a simulated image
|
||||
///
|
||||
File.Copy(string.Format("{0}\\Pictures\\sample.jpg", Program.ExecutableDir), imgFileNames[0]);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
public Event Run()
|
||||
{
|
||||
if ((imgFileNames == null) || (imgFileNames.Length < 1) || (imgFileNames[0] == null))
|
||||
{
|
||||
///
|
||||
/// No images to be grabbed => Done
|
||||
///
|
||||
return Event.GrabPassed;
|
||||
}
|
||||
/*else if (camera.CameraCfg.DebugLevel == DebugMode.Simulate ||
|
||||
camera.CameraCfg.DebugLevel == DebugMode.DetectedOff)
|
||||
{
|
||||
///
|
||||
/// Camera is in simulation mode => create a simulated image and complete
|
||||
///
|
||||
return Event.GrabPassed;
|
||||
}*/
|
||||
else if (camera.IsGrabImageListenerThreadAlive)
|
||||
{
|
||||
return Event.CameraBusy;
|
||||
}
|
||||
else if (!grabImageCommandSent)
|
||||
{
|
||||
///
|
||||
/// Normal operation, no command sent yet => (1) wait until telnet state = Inactive, (2) send a command
|
||||
///
|
||||
camera.StartGrabImageListener();
|
||||
grabImageCommandSent = true;
|
||||
return Event.CameraBusy;
|
||||
}
|
||||
else if (grabPassed)
|
||||
{
|
||||
///
|
||||
/// Normal operation, grab passed => transfer/transferring the image
|
||||
|
||||
|
||||
if (transferringGrabbedImage)
|
||||
{
|
||||
/// Grab passed and image transfer is in progress
|
||||
return Event.GrabPassed;
|
||||
}
|
||||
else if (camera.IsSaveImageListenerThreadAlive)
|
||||
{
|
||||
/// Wait until the previous image transfer completes
|
||||
return Event.CameraBusy;
|
||||
}
|
||||
else //if (0 == camera.DownloadFile(blackAndWhite ? "grabbed.jpg" : "grabbed.bmp", imgFileNames[0]))
|
||||
{
|
||||
camera.StartSaveImageToFileListener(grabedImage, imgFileNames[0]);
|
||||
/// File transfer successfully started
|
||||
transferringGrabbedImage = true;
|
||||
return Event.GrabPassed;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
///
|
||||
/// Normal operation, grab failed => there in no image to transfer
|
||||
///
|
||||
return Event.GrabFailed;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
//if (camera.CameraCfg.DebugLevel == DebugMode.Simulate) return;
|
||||
|
||||
if (camera.IsGrabImageListenerThreadAlive)
|
||||
{
|
||||
camera.SetStopGrabImageListenerFlag();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
using TBF.Rig.Network.Camera.CJMS11.POJO;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public class JmsMessage
|
||||
{
|
||||
private POJO.MessageStatus status;
|
||||
private CommandM command;
|
||||
private string payload;
|
||||
|
||||
private string orig_status;
|
||||
private string orig_command;
|
||||
private string orig_payload;
|
||||
|
||||
public POJO.MessageStatus Status
|
||||
{
|
||||
get => status;
|
||||
set => status = value;
|
||||
}
|
||||
|
||||
public CommandM Command
|
||||
{
|
||||
get => command;
|
||||
set => command = value;
|
||||
}
|
||||
|
||||
public string Payload
|
||||
{
|
||||
get => payload;
|
||||
set => payload = value;
|
||||
}
|
||||
|
||||
public string OrigStatus => orig_status;
|
||||
|
||||
public string OrigCommand => orig_command;
|
||||
|
||||
public string OrigPayload => orig_payload;
|
||||
|
||||
public JmsMessage(string status, string command, string payload)
|
||||
{
|
||||
this.status = MessageStatusEnum.GetCommandM(status);
|
||||
this.command = CommandMEnum.GetCommandM(command);
|
||||
|
||||
orig_status = status;
|
||||
orig_command = command;
|
||||
orig_payload = payload;
|
||||
this.payload = payload;
|
||||
}
|
||||
|
||||
public bool isMessageImageType(){
|
||||
return this.command == CommandM.grab_image_;
|
||||
}
|
||||
|
||||
public ParsedImage getImage(){
|
||||
if(isMessageImageType()){
|
||||
return JmsPacket.ImageParser(this.payload);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format( "status:{0}, command:{1}, payload:{2}, orig_status:{3}, orig_command:{4}, orig_payload:{5}",
|
||||
status,
|
||||
command,
|
||||
payload,
|
||||
orig_status,
|
||||
orig_command,
|
||||
orig_payload);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,98 +0,0 @@
|
||||
using System;
|
||||
using System.Text.RegularExpressions;
|
||||
using log4net;
|
||||
using TBF.Rig.Network.Camera.CJMS11.POJO;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public class JmsPacket
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(JmsPacket));
|
||||
|
||||
private JmsMessage jmsMessage;
|
||||
private string messageOrigin;
|
||||
|
||||
public string MessageOrigin { get => messageOrigin; }
|
||||
|
||||
public JmsMessage JmsMessage
|
||||
{
|
||||
get => jmsMessage;
|
||||
set => jmsMessage = value;
|
||||
}
|
||||
|
||||
public JmsPacket(string message)
|
||||
{
|
||||
messageOrigin = message;
|
||||
|
||||
try
|
||||
{
|
||||
if (ParseMessage(messageOrigin))
|
||||
{
|
||||
//success
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error("Error parsing message: " + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private bool ParseMessage(string message)
|
||||
{
|
||||
message = message.Trim();
|
||||
if (message.Length < 1) return false;
|
||||
|
||||
this.jmsMessage = JmsMessageFromString(message);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static JmsMessage JmsMessageFromString(string message)
|
||||
{
|
||||
// Equivalent regex pattern
|
||||
var pattern = new Regex(@"^(ACK|NACK):\s*(\S+)\s*(?:~(.*)~)?\s*END$", RegexOptions.Singleline);
|
||||
|
||||
var match = pattern.Match(message);
|
||||
if (match.Success)
|
||||
{
|
||||
string status = match.Groups[1].Value;
|
||||
string commandStr = match.Groups[2].Value;
|
||||
string payload = match.Groups[3].Success ? match.Groups[3].Value : "";
|
||||
|
||||
return new JmsMessage(status, commandStr, payload);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentException($"Message format not recognized: {message}");
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static ParsedImage ImageParser(string payloadImage)
|
||||
{
|
||||
// Equivalent regex pattern
|
||||
var imagePattern = new Regex(@"IMAGE:([A-Z0-9_]+):\s*(.*?)\s*~IMAGE_END", RegexOptions.Singleline);
|
||||
|
||||
var match = imagePattern.Match(payloadImage);
|
||||
if (match.Success)
|
||||
{
|
||||
string encoding = match.Groups[1].Value;
|
||||
string imageData = match.Groups[2].Value;
|
||||
|
||||
return new ParsedImage(ImageTypeEnum.GetCommandM(encoding), imageData);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new ArgumentException($"Payload does not match expected image format: {payloadImage}");
|
||||
}
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("JmsPacket -> original message: {0} -> JmsMessage: {1}", messageOrigin, jmsMessage.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using log4net;
|
||||
using Common;
|
||||
using TBF.Rig.Network.Telnet;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public class LiveStreamOp : IOperation
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(LiveStreamOp));
|
||||
|
||||
readonly Camera camera;
|
||||
readonly Telnet.TelnetClient telnet;
|
||||
readonly string command;
|
||||
|
||||
bool liveStreamCommandSent;
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.None or Event.Error
|
||||
/// </summary>
|
||||
/// <param name="camera">CLP1611.Camera reference</param>
|
||||
public LiveStreamOp(Camera camera, string command)
|
||||
{
|
||||
this.camera = camera;
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
|
||||
public void Start()
|
||||
{
|
||||
liveStreamCommandSent = false;
|
||||
}
|
||||
|
||||
public Event Run()
|
||||
{
|
||||
if (camera.CameraCfg.DebugLevel == DebugMode.Simulate) return Event.None;
|
||||
|
||||
log.DebugFormat("Run(): telnet.State = {0}, liveStreamCommandSent = {1}", telnet.State, liveStreamCommandSent);
|
||||
|
||||
if (!liveStreamCommandSent)
|
||||
{
|
||||
if (camera.Running && (telnet.State == TelnetClient.TelnetState.Inactive))
|
||||
{
|
||||
telnet.Enqueue(new Telnet.Command(Telnet.CmdAction.SEND_STRING, command));
|
||||
liveStreamCommandSent = true;
|
||||
log.WarnFormat("{0} IP={1} command={2}", camera.Name, camera.IPAddress, command);
|
||||
}
|
||||
}
|
||||
|
||||
return Event.None;
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
if (camera.CameraCfg.DebugLevel == DebugMode.Simulate) return;
|
||||
|
||||
log.DebugFormat("Stop(): telnet.State = {0}, liveStreamCommandSent = {1}", telnet.State, liveStreamCommandSent);
|
||||
|
||||
if (liveStreamCommandSent)
|
||||
{
|
||||
telnet.Enqueue(new Telnet.Command(Telnet.CmdAction.SEND_COMMAND, Telnet.TelnetClient.CtrlCCommand));
|
||||
log.WarnFormat("{0} IP={1} command=CTRL-C", camera.Name, camera.IPAddress);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public enum CommandM
|
||||
{
|
||||
noCommand,
|
||||
unknown_, // special: only return - unknown command
|
||||
connect_, // special: only return - TCP connection created
|
||||
type_camera_,
|
||||
status_,
|
||||
prepare_camera_,
|
||||
grab_image_,
|
||||
send_,
|
||||
start_stream_,
|
||||
stop_stream_,
|
||||
start_stream_images_,
|
||||
stop_stream_images_,
|
||||
get_cfg_,
|
||||
set_cfg_,
|
||||
close_,
|
||||
disconnect_,
|
||||
overload_config_,
|
||||
client_count_
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public static class CommandMEnum
|
||||
{
|
||||
private static readonly Dictionary<CommandM, string> commandToString = new Dictionary<CommandM, string>
|
||||
{
|
||||
{ CommandM.noCommand, "noCommand" },
|
||||
{ CommandM.unknown_, "unknown" },
|
||||
{ CommandM.connect_, "connect" },
|
||||
{ CommandM.type_camera_, "type_camera" },
|
||||
{ CommandM.status_, "status" },
|
||||
{ CommandM.prepare_camera_, "prepare_camera" },
|
||||
{ CommandM.grab_image_, "grab_image" },
|
||||
{ CommandM.send_, "send" },
|
||||
{ CommandM.start_stream_, "start_stream" },
|
||||
{ CommandM.stop_stream_, "stop_stream" },
|
||||
{ CommandM.start_stream_images_, "start_stream_images" },
|
||||
{ CommandM.stop_stream_images_, "stop_stream_images" },
|
||||
{ CommandM.get_cfg_, "get_cfg" },
|
||||
{ CommandM.set_cfg_, "set_cfg" },
|
||||
{ CommandM.close_, "close" },
|
||||
{ CommandM.disconnect_, "disconnect" },
|
||||
{ CommandM.overload_config_, "overload_config" },
|
||||
{ CommandM.client_count_, "client_count" }
|
||||
};
|
||||
|
||||
|
||||
private static readonly Dictionary<string, CommandM> stringToCommand = commandToString.ToDictionary(kvp => kvp.Value, kvp => kvp.Key);
|
||||
|
||||
public static string GetVal(CommandM cmd)
|
||||
{
|
||||
return commandToString.TryGetValue(cmd, out var str) ? str : "unknown";
|
||||
}
|
||||
|
||||
public static CommandM GetCommandM(string token)
|
||||
{
|
||||
if (string.IsNullOrEmpty(token))
|
||||
return CommandM.noCommand;
|
||||
|
||||
return stringToCommand.TryGetValue(token, out var cmd) ? cmd : CommandM.noCommand;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
namespace TBF.Rig.Network.Camera.CJMS11.POJO
|
||||
{
|
||||
public enum ImageType
|
||||
{
|
||||
UNKNOWN,
|
||||
BASE_64,
|
||||
MJPEG,
|
||||
RGB888
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11.POJO
|
||||
{
|
||||
public class ImageTypeEnum
|
||||
{
|
||||
private static readonly Dictionary<ImageType, string> commandToString = new Dictionary<ImageType, string>
|
||||
{
|
||||
{ ImageType.BASE_64, "BASE_64" },
|
||||
{ ImageType.MJPEG, "MJPEG" },
|
||||
{ ImageType.RGB888, "RGB888" },
|
||||
{ ImageType.UNKNOWN, "" }
|
||||
};
|
||||
|
||||
private static readonly Dictionary<string, ImageType> stringToCommand = commandToString.ToDictionary(kvp => kvp.Value, kvp => kvp.Key);
|
||||
|
||||
public static string GetVal(ImageType cmd)
|
||||
{
|
||||
return commandToString.TryGetValue(cmd, out var str) ? str : "unknown";
|
||||
}
|
||||
|
||||
public static ImageType GetCommandM(string token)
|
||||
{
|
||||
if (string.IsNullOrEmpty(token))
|
||||
return ImageType.UNKNOWN;
|
||||
|
||||
return stringToCommand.TryGetValue(token, out var cmd) ? cmd : ImageType.UNKNOWN;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
namespace TBF.Rig.Network.Camera.CJMS11.POJO
|
||||
{
|
||||
public enum MessageStatus
|
||||
{
|
||||
UNDEFINED,
|
||||
ACK,
|
||||
NACK,
|
||||
ERROR
|
||||
}
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11.POJO
|
||||
{
|
||||
public class MessageStatusEnum
|
||||
{
|
||||
private static readonly Dictionary<MessageStatus, string> commandToString = new Dictionary<MessageStatus, string>
|
||||
{
|
||||
{ MessageStatus.UNDEFINED, "" },
|
||||
{ MessageStatus.ACK, "ACK" },
|
||||
{ MessageStatus.NACK, "NACK" },
|
||||
{ MessageStatus.ERROR, "ERROR" }
|
||||
};
|
||||
|
||||
private static readonly Dictionary<string, MessageStatus> stringToCommand = commandToString.ToDictionary(kvp => kvp.Value, kvp => kvp.Key);
|
||||
|
||||
public static string GetVal(MessageStatus cmd)
|
||||
{
|
||||
return commandToString.TryGetValue(cmd, out var str) ? str : "undefined";
|
||||
}
|
||||
|
||||
public static MessageStatus GetCommandM(string token)
|
||||
{
|
||||
if (string.IsNullOrEmpty(token))
|
||||
return MessageStatus.UNDEFINED;
|
||||
|
||||
return stringToCommand.TryGetValue(token, out var cmd) ? cmd : MessageStatus.UNDEFINED;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
using System;
|
||||
using TBF.Rig.Network.Camera.CJMS11.POJO;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
|
||||
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public class ParsedImage
|
||||
{
|
||||
public ImageType Encoding { get; }
|
||||
public string ImageData { get; }
|
||||
|
||||
public Image Image { get { return (ImageData.Length>0 ? Base64ToImage(ImageData) : null); } }
|
||||
|
||||
public ParsedImage(ImageType encoding, string imageData)
|
||||
{
|
||||
Encoding = encoding;
|
||||
ImageData = imageData;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"ParsedImage{{encoding='{Encoding}', imageData='{ImageData}'}}";
|
||||
}
|
||||
|
||||
public static Image Base64ToImage(string base64Image)
|
||||
{
|
||||
byte[] imageBytes = Convert.FromBase64String(base64Image);
|
||||
|
||||
using (var ms = new MemoryStream(imageBytes))
|
||||
{
|
||||
return Image.FromStream(ms);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public class RoisAndResults
|
||||
{
|
||||
public const int MaxRegisteredRois = 4; /// Max. count of registered (and measured) ROI-s
|
||||
|
||||
public long CameraTimeMs;
|
||||
public int[] Angles;
|
||||
|
||||
private IList<string> roiParams;
|
||||
public int RegisteredRoisCount { get { return roiParams.Count; } }
|
||||
|
||||
|
||||
public RoisAndResults()
|
||||
{
|
||||
Angles = new int[MaxRegisteredRois];
|
||||
roiParams = new List<string>();
|
||||
}
|
||||
|
||||
|
||||
public void ClearRoiParams()
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
roiParams.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
public int RegisterRoi(string roiParam)
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
if (this.roiParams.Count >= MaxRegisteredRois) return 0;
|
||||
|
||||
this.roiParams.Add(roiParam);
|
||||
return this.roiParams.Count; /// return a handle 1 .. MaxRegisteredRois
|
||||
}
|
||||
}
|
||||
|
||||
public string GetRoiParams(int roiHandle)
|
||||
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
if (roiHandle > 0 && roiHandle <= roiParams.Count)
|
||||
{
|
||||
return roiParams[roiHandle - 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SetResults(long timeMs, int[] angles)
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
CameraTimeMs = timeMs;
|
||||
for (int i = 0; i < Math.Min(angles.Length, Angles.Length); i++)
|
||||
{
|
||||
Angles[i] = angles[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int GetResult(int roiHandle, out long timeMs)
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
if (roiHandle > 0 && roiHandle <= roiParams.Count)
|
||||
{
|
||||
timeMs = CameraTimeMs;
|
||||
return Angles[roiHandle - 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
timeMs = 0;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
partial class TerminalDlg
|
||||
{
|
||||
/// <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.vtTextBox = new System.Windows.Forms.TextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// vtTextBox
|
||||
//
|
||||
this.vtTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.vtTextBox.Location = new System.Drawing.Point(0, 0);
|
||||
this.vtTextBox.Multiline = true;
|
||||
this.vtTextBox.Name = "vtTextBox";
|
||||
this.vtTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.vtTextBox.Size = new System.Drawing.Size(737, 437);
|
||||
this.vtTextBox.TabIndex = 0;
|
||||
//
|
||||
// TerminalDlg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(737, 437);
|
||||
this.Controls.Add(this.vtTextBox);
|
||||
this.Name = "TerminalDlg";
|
||||
this.Text = "Terminal";
|
||||
this.Load += new System.EventHandler(this.Terminal_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox vtTextBox;
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using TBF.Rig.Network.Telnet;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.CJMS11
|
||||
{
|
||||
public partial class TerminalDlg : Form
|
||||
{
|
||||
TelnetClient telnet;
|
||||
|
||||
public TerminalDlg()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public TerminalDlg(string name, TelnetClient telnet)
|
||||
{
|
||||
InitializeComponent();
|
||||
Text = name;
|
||||
this.telnet = telnet;
|
||||
}
|
||||
|
||||
private void Terminal_Load(object sender, EventArgs e)
|
||||
{
|
||||
telnet.vtTextChangedHandler += delegate(object sndr, VtTextChangedEventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<VtTextChangedEventArgs>(OnTextChanged), sndr, args); }
|
||||
else OnTextChanged(sndr, args);
|
||||
};
|
||||
}
|
||||
|
||||
void OnTextChanged(object sndr, VtTextChangedEventArgs args)
|
||||
{
|
||||
vtTextBox.Text = args.VtText;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
</root>
|
||||
@@ -42,10 +42,14 @@ namespace TBF.Rig.Network.Camera.Roi
|
||||
{
|
||||
foreach (var cmpnt in parent.CmpntEntities)
|
||||
{
|
||||
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is TBF.Rig.Network.Camera.CJMS11.Factory)
|
||||
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is TBF.Rig.Network.Camera.CLP1611.Factory)
|
||||
{
|
||||
parentNameComboBox.Items.Add(cmpnt.Name);
|
||||
}
|
||||
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is TBF.Rig.Network.Camera.Roi.Factory)
|
||||
{
|
||||
previousRoiComboBox.Items.Add(cmpnt.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
|
||||
{
|
||||
public class Factory : IComponentFactory
|
||||
{
|
||||
public string ClassName { get { return this.GetType().Namespace.Substring(8); } }
|
||||
public override string ToString() { return ClassName; }
|
||||
|
||||
public IComponent DummyComponent() { return new Roi(); }
|
||||
|
||||
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new Roi(cfg, components); }
|
||||
|
||||
public IComponentCfg DefaultConfig() { return new RoiCfg(this.GetType().Namespace.Substring(8), this); }
|
||||
|
||||
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
|
||||
{
|
||||
return ComponentCfgBase.CreateFromDbEntity(RoiCfg.Serializer, component, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,115 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.IO;
|
||||
using System.Xml.Serialization;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.Generic;
|
||||
using TBF.Resources;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
|
||||
{
|
||||
public class ProcedureParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcedureParams) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
|
||||
public double PulsesPerLtr; /// [l^-1]
|
||||
|
||||
public override void InitializeAll()
|
||||
{
|
||||
PulsesPerLtr = 1.0;
|
||||
}
|
||||
|
||||
string[] paramNames = new string[]
|
||||
{
|
||||
Strings.PulsesPerLtr,
|
||||
};
|
||||
public override string ParamName(int i) { return paramNames[i]; }
|
||||
public override int ParamsCount() { return paramNames.Length; }
|
||||
|
||||
public override string ToString(int i)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 0: return PulsesPerLtr.ToString();
|
||||
default: return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
/// Retrieves parameters from UI controls
|
||||
public CfgUpdateFlags UpdateParam(int i, string strValue)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 0: PulsesPerLtr = Utils.ParseUDouble(strValue); return CfgUpdateFlags.None;
|
||||
default: return CfgUpdateFlags.None;
|
||||
}
|
||||
}
|
||||
|
||||
/// Verifies whether strings in UI controls represent valid parameters
|
||||
public bool ValidateParam(int i, string strValue, out string message)
|
||||
{
|
||||
message = string.Empty;
|
||||
|
||||
double dummy;
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
if (Utils.TryParseUDouble(strValue, out dummy)) return true;
|
||||
break;
|
||||
default:
|
||||
message = "Invalid index";
|
||||
return false;
|
||||
}
|
||||
|
||||
message = ParamName(i) + " is invalid";
|
||||
return false;
|
||||
}
|
||||
|
||||
void CopyContentTo(ProcedureParams prms)
|
||||
{
|
||||
prms.PulsesPerLtr = this.PulsesPerLtr;
|
||||
}
|
||||
|
||||
public IParamsProvider Clone()
|
||||
{
|
||||
ProcedureParams pars = new ProcedureParams();
|
||||
CopyContentTo(pars);
|
||||
return pars;
|
||||
}
|
||||
|
||||
public override void UpdateFromDbEntity(ComponentProcedure dbEntity)
|
||||
{
|
||||
if (dbEntity == null) return;
|
||||
try
|
||||
{
|
||||
ProcedureParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcedureParams;
|
||||
|
||||
procedureParamsEntity = dbEntity;
|
||||
componentName = dbEntity.CmpntName;
|
||||
procedure = dbEntity.Procedure;
|
||||
|
||||
if (tmp != null) tmp.CopyContentTo(this);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public ProcedureParams() { }
|
||||
|
||||
public ProcedureParams(bool initialize)
|
||||
{
|
||||
if (initialize) InitializeAll();
|
||||
}
|
||||
|
||||
public ProcedureParams(ComponentProcedure procedureParamsEntity, string componentName, Procedure procedure)
|
||||
{
|
||||
this.procedureParamsEntity = procedureParamsEntity;
|
||||
this.componentName = componentName;
|
||||
this.procedure = procedure;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,149 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017-2021 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using log4net;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.GenericDevices;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
|
||||
{
|
||||
public class Roi : ComponentBase, GenericDevices.IRegReaderStillCamera
|
||||
{
|
||||
/// TODO: Implement support for sharing one camera by multiple ROI-s
|
||||
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(Roi));
|
||||
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
|
||||
|
||||
readonly RoiCfg roiCfg;
|
||||
|
||||
///
|
||||
/// Camera and ICamera
|
||||
///
|
||||
public readonly CJMS11.Camera NetCamera;
|
||||
public GenericDevices.ICamera Camera { get { return NetCamera as GenericDevices.ICamera; } }
|
||||
|
||||
public int Position
|
||||
{
|
||||
get
|
||||
{
|
||||
int firstDigitPos = Name.IndexOfAny(new char[] { '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' });
|
||||
int position;
|
||||
return (firstDigitPos < 0) ? 0 : (int.TryParse(Name.Substring(firstDigitPos), out position) ? position : 0);
|
||||
}
|
||||
}
|
||||
public RegisterReaderType RegisterReaderType { get { return RegisterReaderType.Manual; } }
|
||||
public double PulsesPerLtr { get { return roiCfg.ProcParams.PulsesPerLtr; } }
|
||||
public double LtrsPerPulse { get { return (PulsesPerLtr <= float.Epsilon) ? 1.0 : (1 / PulsesPerLtr); } }
|
||||
|
||||
|
||||
double beginWMState;
|
||||
public double BeginWMState
|
||||
{
|
||||
get { return beginWMState; }
|
||||
set { beginWMState = value; }
|
||||
}
|
||||
|
||||
double endWMState;
|
||||
public double EndWMState
|
||||
{
|
||||
get { return endWMState; }
|
||||
set { endWMState = value; }
|
||||
}
|
||||
|
||||
public double WMVolume { get { return endWMState - beginWMState; } }
|
||||
|
||||
public int WMPulses { get { return (int)(WMVolume / LtrsPerPulse); } }
|
||||
|
||||
public int WMRefPulses { get { return StateMachine.ControlBoardMain.RefPulses; ; } }
|
||||
|
||||
|
||||
public Roi() { }
|
||||
|
||||
public Roi(Generic.IComponentCfg cfg, IList<Generic.IComponent> components)
|
||||
: base(cfg)
|
||||
{
|
||||
roiCfg = cfg as RoiCfg;
|
||||
NetCamera = TbfComponents.FindComponent(cfg.ParentName, components) as CJMS11.Camera;
|
||||
log.Warn(this.ToString());
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
|
||||
#region Configuration Change Handling
|
||||
|
||||
public static void OnCfgChange(object sender, CfgChangeArgs args)
|
||||
{
|
||||
if (CfgChangeHandler == null) return;
|
||||
try { CfgChangeHandler(sender, args); }
|
||||
catch (Exception e) { log.Error("CfgChangeHandler(...) failed", e); }
|
||||
}
|
||||
|
||||
public static event EventHandler<CfgChangeArgs> CfgChangeHandler;
|
||||
|
||||
public override void StartChangeHandler()
|
||||
{
|
||||
CfgChangeHandler += delegate(object sender, CfgChangeArgs args)
|
||||
{
|
||||
RoiCfg tmpcfg = args.Cfg as RoiCfg;
|
||||
if (tmpcfg != null && tmpcfg.Name.Equals(Name))
|
||||
{
|
||||
if (args.Command == CfgChangeCmd.CfgChange)
|
||||
{
|
||||
roiCfg.BlackAndWhite = tmpcfg.BlackAndWhite;
|
||||
roiCfg.LowResolution = tmpcfg.LowResolution;
|
||||
roiCfg.ImageRotation = tmpcfg.ImageRotation;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#endregion Configuration Change Handling
|
||||
|
||||
public void Clear()
|
||||
{
|
||||
log.DebugFormat("{0}:Clear()", Name);
|
||||
beginWMState = 0;
|
||||
endWMState = 0;
|
||||
}
|
||||
|
||||
|
||||
public IOperation GrabImageOp(string imageFileName)
|
||||
{
|
||||
return GrabImageOp(imageFileName, roiCfg.BlackAndWhite, roiCfg.LowResolution, roiCfg.ImageRotation);
|
||||
}
|
||||
|
||||
public IOperation GrabImageOp(string imageFileName,
|
||||
bool blackAndWhite, bool lowResolution, ImageRotation imageRotation)
|
||||
{
|
||||
if (NetCamera != null)
|
||||
{
|
||||
///TODO BUMI - implementing grabing multiple images
|
||||
/// 1. Create a list of image file names
|
||||
string[] imageNames = new string[roiCfg.ImageOpacity.Count];
|
||||
for (int i = 0; i < imageNames.Length; i++)
|
||||
{
|
||||
imageNames[i] = imageFileName + string.Format("{0}_{1}",imageNames.Length, i);
|
||||
}
|
||||
/// 2. implement count of images to grab
|
||||
/// 3. implement grabing multiple images
|
||||
|
||||
/// TODO: Implement support for sharing one camera by multiple ROI-s
|
||||
return NetCamera.GrabImagesOp(new string[] { imageFileName }, blackAndWhite, lowResolution, imageRotation);
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
public IValve GetValve()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.Generic;
|
||||
using TBF.Rig.Network.Camera.RoiForFixedStartCJMS11.common;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
|
||||
{
|
||||
public class RoiCfg : ComponentCfgBase, IChildComponentCfg
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RoiCfg) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
|
||||
public IComponentCfgCtrl GetControl(IList<Config.Entities.Component> cmpntEntities) { return new RoiCfgCtrl(); }
|
||||
|
||||
///
|
||||
/// Serialized parameters
|
||||
///
|
||||
public bool BlackAndWhite;
|
||||
public bool LowResolution;
|
||||
public ImageRotation ImageRotation;
|
||||
|
||||
[XmlIgnore]
|
||||
private Frame _imageFrame;
|
||||
|
||||
[XmlElement(IsNullable = true)]
|
||||
public Frame ImageFrame
|
||||
{
|
||||
get { if (_imageFrame == null) { _imageFrame = new Frame(); } return _imageFrame; }
|
||||
set => _imageFrame = value;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
private MultipleImageOpacity _imageOpacity;
|
||||
|
||||
[XmlElement(IsNullable = true)]
|
||||
public MultipleImageOpacity ImageOpacity
|
||||
{
|
||||
get { if (_imageOpacity == null) _imageOpacity = new MultipleImageOpacity(); return _imageOpacity; }
|
||||
set => _imageOpacity = value;
|
||||
}
|
||||
|
||||
/// <summary> Procedure parameters </summary>
|
||||
[XmlIgnore]
|
||||
public ProcedureParams ProcParams;
|
||||
public override IParamsProvider GetRuntimeProcParamsProvider() { return ProcParams; }
|
||||
public override IParamsProvider CreateProcParamsProvider() { return new ProcedureParams(true); }
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
RoiCfg()
|
||||
{
|
||||
ProcParams = new ProcedureParams(true);
|
||||
}
|
||||
|
||||
public RoiCfg(string name, IComponentFactory factory)
|
||||
: this()
|
||||
{
|
||||
Name = name;
|
||||
Factory = factory;
|
||||
ParentName = "Camera";
|
||||
BlackAndWhite = false;
|
||||
LowResolution = true;
|
||||
ImageRotation = ImageRotation.None;
|
||||
ImageFrame = Frame.StandardFrame();
|
||||
DebugLevel = DebugMode.Inherit;
|
||||
}
|
||||
|
||||
public string ToString(int i)
|
||||
{
|
||||
return string.Format("{0} Camera={1} B&W={2}, LowRes={3}, Rotation={4}, Frame={5}",
|
||||
Name, ParentName, BlackAndWhite, LowResolution, ImageRotation, ImageFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,269 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.Generic;
|
||||
using TBF.Resources;
|
||||
using TBF.Rig.Network.Camera.RoiForFixedStartCJMS11.common;
|
||||
using TBF.UI.Bench.Components;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
|
||||
{
|
||||
public partial class RoiCfgCtrl : UserControl, IComponentCfgCtrl
|
||||
{
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(RoiCfgCtrl));
|
||||
|
||||
ComponentParametersDlg parent;
|
||||
|
||||
|
||||
|
||||
public bool ShowMore { get { return false; } }
|
||||
|
||||
RoiCfg config;
|
||||
public IComponentCfg Config
|
||||
{
|
||||
get { return config as IComponentCfg; }
|
||||
set
|
||||
{
|
||||
config = value as RoiCfg;
|
||||
Redraw();
|
||||
}
|
||||
}
|
||||
|
||||
public RoiCfgCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void PumpCfgCtrl_Load(object sender, EventArgs e)
|
||||
{
|
||||
parent = ParentForm as ComponentParametersDlg;
|
||||
if (parent == null) return;
|
||||
|
||||
if (parent.CmpntEntities != null)
|
||||
{
|
||||
foreach (var cmpnt in parent.CmpntEntities)
|
||||
{
|
||||
if (TbfComponents.CmpntFactoryFromClassName(cmpnt.ClassName) is TBF.Rig.Network.Camera.CJMS11.Factory)
|
||||
{
|
||||
parentNameComboBox.Items.Add(cmpnt.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach (var resolutionFrame in ResolutionFrames.CommonResolutions)
|
||||
{
|
||||
resolutionComboBox.Items.Add(resolutionFrame.ToString());
|
||||
}
|
||||
|
||||
|
||||
for (ImageRotation ir = 0; ir < ImageRotation.Count; ir++)
|
||||
{
|
||||
imageRotationComboBox.Items.Add(ir.ToDescription());
|
||||
}
|
||||
|
||||
for (int i = 0; i < MultipleImageOpacity.DefaultList.Count; i++)
|
||||
{
|
||||
comboBoxGabs.Items.Add(MultipleImageOpacity.DefaultList[i].ImageTimeGap);
|
||||
}
|
||||
|
||||
Redraw();
|
||||
}
|
||||
|
||||
public void Closing()
|
||||
{
|
||||
}
|
||||
|
||||
void Redraw()
|
||||
{
|
||||
if (config == null) return; /// Control was not loaded, settings were not changed
|
||||
|
||||
classNameLabel.Text = config.Factory.ClassName;
|
||||
nameTextBox.Text = config.Name;
|
||||
parentNameComboBox.Text = string.IsNullOrEmpty(config.ParentName) ? "---" : config.ParentName;
|
||||
blackAndWhiteCheckBox.Checked = config.BlackAndWhite;
|
||||
loResolutionCheckBox.Checked = config.LowResolution;
|
||||
imageRotationComboBox.Text = config.ImageRotation.ToDescription();
|
||||
resolutionComboBox.Text = config.ImageFrame.ToString();
|
||||
comboBoxGabs.Text = config.ImageOpacity.ImageTimeGap.ToString();
|
||||
textBoxMultipleImages.Text = config.ImageOpacity.Count.ToString();
|
||||
}
|
||||
|
||||
public void Unlock()
|
||||
{
|
||||
nameTextBox.Enabled = true;
|
||||
parentNameComboBox.Enabled = true;
|
||||
blackAndWhiteCheckBox.Enabled = true;
|
||||
loResolutionCheckBox.Enabled = true;
|
||||
imageRotationComboBox.Enabled = true;
|
||||
resolutionComboBox.Enabled = true;
|
||||
comboBoxGabs.Enabled = true;
|
||||
textBoxMultipleImages.Enabled = true;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags VerifyCfg(ref string message)
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||
|
||||
if (!parentNameComboBox.Items.Contains(parentNameComboBox.Text))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, parentNameLabel.Text);
|
||||
}
|
||||
|
||||
if (!imageRotationComboBox.Items.Contains(imageRotationComboBox.Text))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, imageRotationLabel.Text);
|
||||
}
|
||||
|
||||
if (!resolutionComboBox.Items.Contains(resolutionComboBox.Text))
|
||||
{
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, resolutionComboBox.Text);
|
||||
}
|
||||
|
||||
int gab = 0;
|
||||
if(!int.TryParse(textBoxMultipleImages.Text, out gab)){
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, textBoxMultipleImages.Text);
|
||||
}
|
||||
|
||||
if(!int.TryParse(comboBoxGabs.Text, out gab)){
|
||||
flags |= CfgUpdateFlags.Error;
|
||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, comboBoxGabs.Text);
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags UpdateCfg()
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||
|
||||
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
|
||||
|
||||
if (config.Name != nameTextBox.Text)
|
||||
{
|
||||
config.Name = nameTextBox.Text;
|
||||
flags |= (CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
string newParentName = parentNameComboBox.Text.Equals("---") ? string.Empty : parentNameComboBox.Text;
|
||||
if (config.ParentName != newParentName)
|
||||
{
|
||||
config.ParentName = newParentName;
|
||||
flags |= (CfgUpdateFlags.RestartRqrd | CfgUpdateFlags.AnyChange);
|
||||
}
|
||||
|
||||
if (config.BlackAndWhite != blackAndWhiteCheckBox.Checked)
|
||||
{
|
||||
config.BlackAndWhite = blackAndWhiteCheckBox.Checked;
|
||||
flags |= (CfgUpdateFlags.AnyChange | CfgUpdateFlags.InvokeCfgChange);
|
||||
}
|
||||
|
||||
if (config.LowResolution != loResolutionCheckBox.Checked)
|
||||
{
|
||||
config.LowResolution = loResolutionCheckBox.Checked;
|
||||
flags |= (CfgUpdateFlags.AnyChange | CfgUpdateFlags.InvokeCfgChange);
|
||||
}
|
||||
|
||||
for (ImageRotation ir = 0; ir < ImageRotation.Count; ir++)
|
||||
{
|
||||
if (imageRotationComboBox.Text == ir.ToDescription())
|
||||
{
|
||||
if (config.ImageRotation != ir)
|
||||
{
|
||||
config.ImageRotation = ir;
|
||||
flags |= (CfgUpdateFlags.AnyChange | CfgUpdateFlags.InvokeCfgChange);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (resolutionComboBox.Text != config.ImageFrame.ToString())
|
||||
{
|
||||
config.ImageFrame = Frame.Parse(resolutionComboBox.Text);
|
||||
flags |= (CfgUpdateFlags.AnyChange | CfgUpdateFlags.InvokeCfgChange);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (int.Parse(textBoxMultipleImages.Text) != config.ImageOpacity.Count)
|
||||
{
|
||||
config.ImageOpacity.Count = int.Parse(textBoxMultipleImages.Text);
|
||||
flags |= (CfgUpdateFlags.AnyChange | CfgUpdateFlags.InvokeCfgChange);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error("Error parsing multiple images", e);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (int.Parse(comboBoxGabs.Text) != config.ImageOpacity.ImageTimeGap)
|
||||
{
|
||||
config.ImageOpacity.ImageTimeGap = int.Parse(comboBoxGabs.Text);
|
||||
flags |= (CfgUpdateFlags.AnyChange | CfgUpdateFlags.InvokeCfgChange);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error("Error parsing multiple images", e);
|
||||
}
|
||||
|
||||
if ((flags & CfgUpdateFlags.InvokeCfgChange) != 0)
|
||||
{
|
||||
Roi.OnCfgChange(this, new CfgChangeArgs(CfgChangeCmd.CfgChange, config));
|
||||
}
|
||||
|
||||
return flags;
|
||||
}
|
||||
|
||||
#region Configuration Change Handling
|
||||
|
||||
public static void OnCmdResponse(object sender, CmdResponseArgs args)
|
||||
{
|
||||
if (CmdResponseHandler == null) return;
|
||||
try { CmdResponseHandler(sender, args); }
|
||||
catch (Exception e) { log.Error("CmdResponseHandler(...) failed", e); }
|
||||
}
|
||||
|
||||
public static event EventHandler<CmdResponseArgs> CmdResponseHandler;
|
||||
|
||||
public void StartResponseHandler() { }
|
||||
public void StopResponseHandler() { }
|
||||
|
||||
#endregion Configuration Change Handling
|
||||
|
||||
private void label3_Click(object sender, EventArgs e)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
private void comboBoxGabs_Validating(object sender, CancelEventArgs e)
|
||||
{
|
||||
if (!int.TryParse(comboBoxGabs.Text, out _))
|
||||
{
|
||||
MessageBox.Show("Please enter a valid integer.");
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void comboBoxGabs_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
|
||||
{
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,271 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11
|
||||
{
|
||||
partial class RoiCfgCtrl
|
||||
{
|
||||
/// <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 Component 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.parentNameLabel = new System.Windows.Forms.Label();
|
||||
this.nameTextBox = new System.Windows.Forms.TextBox();
|
||||
this.nameLabel = new System.Windows.Forms.Label();
|
||||
this.classNameLabel = new System.Windows.Forms.Label();
|
||||
this.parentNameComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.imageRotationComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.imageRotationLabel = new System.Windows.Forms.Label();
|
||||
this.blackAndWhiteCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.loResolutionCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.resolutionComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.textBoxMultipleImages = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.comboBoxGabs = new System.Windows.Forms.ComboBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// parentNameLabel
|
||||
//
|
||||
this.parentNameLabel.AutoSize = true;
|
||||
this.parentNameLabel.Location = new System.Drawing.Point(30, 118);
|
||||
this.parentNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.parentNameLabel.Name = "parentNameLabel";
|
||||
this.parentNameLabel.Size = new System.Drawing.Size(65, 20);
|
||||
this.parentNameLabel.TabIndex = 3;
|
||||
this.parentNameLabel.Text = "Camera";
|
||||
//
|
||||
// nameTextBox
|
||||
//
|
||||
this.nameTextBox.Enabled = false;
|
||||
this.nameTextBox.Location = new System.Drawing.Point(208, 75);
|
||||
this.nameTextBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.nameTextBox.Name = "nameTextBox";
|
||||
this.nameTextBox.Size = new System.Drawing.Size(259, 26);
|
||||
this.nameTextBox.TabIndex = 2;
|
||||
//
|
||||
// nameLabel
|
||||
//
|
||||
this.nameLabel.AutoSize = true;
|
||||
this.nameLabel.Location = new System.Drawing.Point(30, 80);
|
||||
this.nameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.nameLabel.Name = "nameLabel";
|
||||
this.nameLabel.Size = new System.Drawing.Size(51, 20);
|
||||
this.nameLabel.TabIndex = 1;
|
||||
this.nameLabel.Text = "Name";
|
||||
//
|
||||
// classNameLabel
|
||||
//
|
||||
this.classNameLabel.AutoSize = true;
|
||||
this.classNameLabel.Location = new System.Drawing.Point(204, 40);
|
||||
this.classNameLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.classNameLabel.Name = "classNameLabel";
|
||||
this.classNameLabel.Size = new System.Drawing.Size(173, 20);
|
||||
this.classNameLabel.TabIndex = 0;
|
||||
this.classNameLabel.Text = "ComponentClassName";
|
||||
//
|
||||
// parentNameComboBox
|
||||
//
|
||||
this.parentNameComboBox.Enabled = false;
|
||||
this.parentNameComboBox.FormattingEnabled = true;
|
||||
this.parentNameComboBox.Location = new System.Drawing.Point(208, 114);
|
||||
this.parentNameComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.parentNameComboBox.Name = "parentNameComboBox";
|
||||
this.parentNameComboBox.Size = new System.Drawing.Size(259, 28);
|
||||
this.parentNameComboBox.TabIndex = 4;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(-316, -226);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(87, 20);
|
||||
this.label1.TabIndex = 5;
|
||||
this.label1.Text = "Arguments";
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Enabled = false;
|
||||
this.textBox1.Location = new System.Drawing.Point(-188, -231);
|
||||
this.textBox1.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(556, 26);
|
||||
this.textBox1.TabIndex = 6;
|
||||
//
|
||||
// imageRotationComboBox
|
||||
//
|
||||
this.imageRotationComboBox.Enabled = false;
|
||||
this.imageRotationComboBox.FormattingEnabled = true;
|
||||
this.imageRotationComboBox.Location = new System.Drawing.Point(208, 237);
|
||||
this.imageRotationComboBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.imageRotationComboBox.Name = "imageRotationComboBox";
|
||||
this.imageRotationComboBox.Size = new System.Drawing.Size(138, 28);
|
||||
this.imageRotationComboBox.TabIndex = 8;
|
||||
//
|
||||
// imageRotationLabel
|
||||
//
|
||||
this.imageRotationLabel.AutoSize = true;
|
||||
this.imageRotationLabel.Location = new System.Drawing.Point(30, 242);
|
||||
this.imageRotationLabel.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
this.imageRotationLabel.Name = "imageRotationLabel";
|
||||
this.imageRotationLabel.Size = new System.Drawing.Size(153, 20);
|
||||
this.imageRotationLabel.TabIndex = 7;
|
||||
this.imageRotationLabel.Text = "Image rotation (ccw)";
|
||||
//
|
||||
// blackAndWhiteCheckBox
|
||||
//
|
||||
this.blackAndWhiteCheckBox.AutoSize = true;
|
||||
this.blackAndWhiteCheckBox.Enabled = false;
|
||||
this.blackAndWhiteCheckBox.Location = new System.Drawing.Point(208, 166);
|
||||
this.blackAndWhiteCheckBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.blackAndWhiteCheckBox.Name = "blackAndWhiteCheckBox";
|
||||
this.blackAndWhiteCheckBox.Size = new System.Drawing.Size(134, 24);
|
||||
this.blackAndWhiteCheckBox.TabIndex = 5;
|
||||
this.blackAndWhiteCheckBox.Text = "Black && White";
|
||||
this.blackAndWhiteCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// loResolutionCheckBox
|
||||
//
|
||||
this.loResolutionCheckBox.AutoSize = true;
|
||||
this.loResolutionCheckBox.Enabled = false;
|
||||
this.loResolutionCheckBox.Location = new System.Drawing.Point(208, 202);
|
||||
this.loResolutionCheckBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.loResolutionCheckBox.Name = "loResolutionCheckBox";
|
||||
this.loResolutionCheckBox.Size = new System.Drawing.Size(137, 24);
|
||||
this.loResolutionCheckBox.TabIndex = 6;
|
||||
this.loResolutionCheckBox.Text = "Low resolution";
|
||||
this.loResolutionCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(30, 293);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(152, 28);
|
||||
this.label2.TabIndex = 9;
|
||||
this.label2.Text = "Choose resolution:";
|
||||
//
|
||||
// resolutionComboBox
|
||||
//
|
||||
this.resolutionComboBox.DropDownWidth = 259;
|
||||
this.resolutionComboBox.Enabled = false;
|
||||
this.resolutionComboBox.FormattingEnabled = true;
|
||||
this.resolutionComboBox.Location = new System.Drawing.Point(208, 290);
|
||||
this.resolutionComboBox.Name = "resolutionComboBox";
|
||||
this.resolutionComboBox.Size = new System.Drawing.Size(262, 28);
|
||||
this.resolutionComboBox.TabIndex = 10;
|
||||
//
|
||||
// textBoxMultipleImages
|
||||
//
|
||||
this.textBoxMultipleImages.Enabled = false;
|
||||
this.textBoxMultipleImages.Location = new System.Drawing.Point(208, 332);
|
||||
this.textBoxMultipleImages.Name = "textBoxMultipleImages";
|
||||
this.textBoxMultipleImages.Size = new System.Drawing.Size(48, 26);
|
||||
this.textBoxMultipleImages.TabIndex = 11;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Location = new System.Drawing.Point(30, 335);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(147, 26);
|
||||
this.label3.TabIndex = 12;
|
||||
this.label3.Text = "Multiple Images:";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.Location = new System.Drawing.Point(30, 381);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(147, 26);
|
||||
this.label4.TabIndex = 13;
|
||||
this.label4.Text = "Time Gap Images:";
|
||||
//
|
||||
// comboBoxGabs
|
||||
//
|
||||
this.comboBoxGabs.Enabled = false;
|
||||
this.comboBoxGabs.FormattingEnabled = true;
|
||||
this.comboBoxGabs.Location = new System.Drawing.Point(208, 378);
|
||||
this.comboBoxGabs.Name = "comboBoxGabs";
|
||||
this.comboBoxGabs.Size = new System.Drawing.Size(100, 28);
|
||||
this.comboBoxGabs.TabIndex = 14;
|
||||
this.comboBoxGabs.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBoxGabs_KeyPress);
|
||||
this.comboBoxGabs.Validating += new System.ComponentModel.CancelEventHandler(this.comboBoxGabs_Validating);
|
||||
//
|
||||
// RoiCfgCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.comboBoxGabs);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.textBoxMultipleImages);
|
||||
this.Controls.Add(this.resolutionComboBox);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.imageRotationComboBox);
|
||||
this.Controls.Add(this.imageRotationLabel);
|
||||
this.Controls.Add(this.blackAndWhiteCheckBox);
|
||||
this.Controls.Add(this.loResolutionCheckBox);
|
||||
this.Controls.Add(this.parentNameComboBox);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.parentNameLabel);
|
||||
this.Controls.Add(this.nameTextBox);
|
||||
this.Controls.Add(this.nameLabel);
|
||||
this.Controls.Add(this.classNameLabel);
|
||||
this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
|
||||
this.Name = "RoiCfgCtrl";
|
||||
this.Size = new System.Drawing.Size(750, 462);
|
||||
this.Load += new System.EventHandler(this.PumpCfgCtrl_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
}
|
||||
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.ComboBox comboBoxGabs;
|
||||
|
||||
private System.Windows.Forms.TextBox textBoxMultipleImages;
|
||||
private System.Windows.Forms.Label label3;
|
||||
|
||||
private System.Windows.Forms.ComboBox resolutionComboBox;
|
||||
|
||||
private System.Windows.Forms.Label label2;
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label parentNameLabel;
|
||||
private System.Windows.Forms.TextBox nameTextBox;
|
||||
private System.Windows.Forms.Label nameLabel;
|
||||
private System.Windows.Forms.Label classNameLabel;
|
||||
private System.Windows.Forms.ComboBox parentNameComboBox;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.ComboBox imageRotationComboBox;
|
||||
private System.Windows.Forms.Label imageRotationLabel;
|
||||
private System.Windows.Forms.CheckBox blackAndWhiteCheckBox;
|
||||
private System.Windows.Forms.CheckBox loResolutionCheckBox;
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
</root>
|
||||
@@ -1,70 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11.common
|
||||
{
|
||||
public class Frame
|
||||
{
|
||||
public int Width { get; set; }
|
||||
public int Height { get; set; }
|
||||
|
||||
public Frame() // standard frame
|
||||
{
|
||||
this.Width = 640;
|
||||
this.Height = 480;
|
||||
}
|
||||
|
||||
public Frame(int width, int height)
|
||||
{
|
||||
Width = width;
|
||||
Height = height;
|
||||
}
|
||||
|
||||
public static Frame StandardFrame()
|
||||
{
|
||||
return new Frame();
|
||||
}
|
||||
|
||||
public override string ToString() => $"{Width}x{Height}";
|
||||
|
||||
|
||||
// Static method to parse string like "1920x1080"
|
||||
public static Frame Parse(string resolution)
|
||||
{
|
||||
var match = Regex.Match(resolution, @"^\s*(\d+)\s*[xX]\s*(\d+)\s*$");
|
||||
if (!match.Success)
|
||||
{
|
||||
throw new FormatException($"Invalid resolution format: '{resolution}'");
|
||||
}
|
||||
|
||||
int width = int.Parse(match.Groups[1].Value);
|
||||
int height = int.Parse(match.Groups[2].Value);
|
||||
|
||||
return new Frame(width, height);
|
||||
}
|
||||
|
||||
///
|
||||
/// Finds nearest frame based on selected dimension
|
||||
/// <b> example: </b>
|
||||
/// <code>
|
||||
/// var input = new Frame(1500, 800);
|
||||
/// //Nearest by Width
|
||||
/// var nearestByWidth = input.FindNearest(allFrames, f => f.Width);
|
||||
/// Console.WriteLine($"Nearest by width: {nearestByWidth}"); // → 1280x720
|
||||
/// //Nearest by Height
|
||||
/// var nearestByHeight = input.FindNearest(allFrames, f => f.Height);
|
||||
/// Console.WriteLine($"Nearest by height: {nearestByHeight}"); // → 1280x720
|
||||
/// </code>
|
||||
|
||||
public Frame FindNearest(IEnumerable<Frame> candidates, Func<Frame, int> dimensionSelector)
|
||||
{
|
||||
int target = dimensionSelector(this);
|
||||
return candidates
|
||||
.OrderBy(f => Math.Abs(dimensionSelector(f) - target))
|
||||
.ThenBy(dimensionSelector) // tie-breaker: prefer smaller
|
||||
.FirstOrDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11.common
|
||||
{
|
||||
public class MultipleImageOpacity
|
||||
{
|
||||
public int Count { get; set; }
|
||||
public int ImageTimeGap { get; set; }
|
||||
|
||||
public MultipleImageOpacity()
|
||||
{
|
||||
Count = 1;
|
||||
ImageTimeGap = 1000;
|
||||
}
|
||||
|
||||
public MultipleImageOpacity(int count, int imageTimeGap)
|
||||
{
|
||||
Count = count;
|
||||
ImageTimeGap = imageTimeGap;
|
||||
}
|
||||
|
||||
|
||||
public static readonly IReadOnlyList<MultipleImageOpacity> DefaultList = new List<MultipleImageOpacity>
|
||||
{
|
||||
new MultipleImageOpacity(1, 350),
|
||||
new MultipleImageOpacity(1, 450),
|
||||
new MultipleImageOpacity(1, 500), // standard frame
|
||||
new MultipleImageOpacity(1, 650),
|
||||
new MultipleImageOpacity(1, 800),
|
||||
new MultipleImageOpacity(1, 1000),
|
||||
new MultipleImageOpacity(1, 1250),
|
||||
new MultipleImageOpacity(1, 1500),
|
||||
new MultipleImageOpacity(1, 1750),
|
||||
new MultipleImageOpacity(1, 2000),
|
||||
new MultipleImageOpacity(1, 2250),
|
||||
new MultipleImageOpacity(1, 2500),
|
||||
new MultipleImageOpacity(1, 2750),
|
||||
new MultipleImageOpacity(1, 3000),
|
||||
new MultipleImageOpacity(1, 4000),
|
||||
}.AsReadOnly();
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.RoiForFixedStartCJMS11.common
|
||||
{
|
||||
public class ResolutionFrames : List<Frame>
|
||||
{
|
||||
|
||||
public ResolutionFrames(IEnumerable<Frame> collection) : base(collection)
|
||||
{
|
||||
}
|
||||
|
||||
public static readonly IReadOnlyList<Frame> CommonResolutions = new List<Frame>
|
||||
{
|
||||
new Frame(320, 240),
|
||||
new Frame(352, 288),
|
||||
new Frame(640, 480), // standard frame
|
||||
new Frame(720, 480),
|
||||
new Frame(1280, 720),
|
||||
new Frame(1920, 1080),
|
||||
new Frame(2560, 1440),
|
||||
new Frame(3840, 2160),
|
||||
new Frame(4096, 2160)
|
||||
}.AsReadOnly();
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using Common;
|
||||
|
||||
namespace TBF.Rig.Network.Camera.common
|
||||
{
|
||||
public class ImageUtils
|
||||
{
|
||||
|
||||
public static void Rotate(Image image, ImageRotation direction)
|
||||
{
|
||||
if(!(direction == ImageRotation.Deg90 || direction == ImageRotation.Deg180 || direction == ImageRotation.Deg270))
|
||||
return;
|
||||
if (image == null)
|
||||
throw new ArgumentNullException(nameof(image));
|
||||
|
||||
RotateFlipType flipType =
|
||||
direction == ImageRotation.Deg90 ? RotateFlipType.Rotate90FlipNone :
|
||||
direction == ImageRotation.Deg180 ? RotateFlipType.Rotate180FlipNone :
|
||||
direction == ImageRotation.Deg270 ? RotateFlipType.Rotate270FlipNone :
|
||||
RotateFlipType.RotateNoneFlipNone;
|
||||
|
||||
|
||||
image.RotateFlip(flipType);
|
||||
}
|
||||
public static Image RotateCustom(Image image, ImageRotation direction)
|
||||
{
|
||||
if (image == null)
|
||||
throw new ArgumentNullException(nameof(image));
|
||||
|
||||
int newWidth = image.Width;
|
||||
int newHeight = image.Height;
|
||||
|
||||
RotateFlipType flipType;
|
||||
|
||||
switch (direction)
|
||||
{
|
||||
case ImageRotation.Deg90:
|
||||
flipType = RotateFlipType.Rotate90FlipNone;
|
||||
newWidth = image.Height;
|
||||
newHeight = image.Width;
|
||||
break;
|
||||
case ImageRotation.Deg180:
|
||||
flipType = RotateFlipType.Rotate180FlipNone;
|
||||
break;
|
||||
case ImageRotation.Deg270:
|
||||
flipType = RotateFlipType.Rotate270FlipNone;
|
||||
newWidth = image.Height;
|
||||
newHeight = image.Width;
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentException("Unsupported rotation direction");
|
||||
}
|
||||
|
||||
Bitmap rotated = new Bitmap(newWidth, newHeight);
|
||||
using (Graphics g = Graphics.FromImage(rotated))
|
||||
{
|
||||
g.TranslateTransform(newWidth / 2f, newHeight / 2f);
|
||||
g.RotateTransform(
|
||||
direction == ImageRotation.Deg90 ? 90 :
|
||||
direction == ImageRotation.Deg180 ? 180 :
|
||||
direction == ImageRotation.Deg270 ? 270 :
|
||||
0);
|
||||
g.TranslateTransform(-image.Width / 2f, -image.Height / 2f);
|
||||
g.DrawImage(image, new PointF(0, 0));
|
||||
}
|
||||
|
||||
return rotated;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using TBF.Rig.Network.Camera.CJMS11;
|
||||
|
||||
namespace TBF.Rig.Network.Telnet
|
||||
{
|
||||
@@ -63,50 +61,6 @@ namespace TBF.Rig.Network.Telnet
|
||||
Response = text;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Type of argument of PromptReceviedEventHandler
|
||||
/// </summary>
|
||||
public class PromptReceivedJMSEventArgs : EventArgs
|
||||
{
|
||||
public string Response; /// Response to a command from the telnet server ...
|
||||
/// ... without the terminal prompt string.
|
||||
public JmsMessage Message; /// Message received from the server.
|
||||
|
||||
public PromptReceivedJMSEventArgs(string text, JmsMessage message)
|
||||
{
|
||||
Response = text;
|
||||
Message = message;
|
||||
}
|
||||
}
|
||||
|
||||
public class PromptReceivedImageEventArgs : EventArgs
|
||||
{
|
||||
public Image image; /// server image.
|
||||
public int idxCamera; /// camera index.
|
||||
|
||||
public PromptReceivedImageEventArgs(int idxCamera, Image image)
|
||||
{
|
||||
this.image = image;
|
||||
this.idxCamera = idxCamera;
|
||||
}
|
||||
}
|
||||
|
||||
public class PromptReceivedImagesEventArgs : EventArgs
|
||||
{
|
||||
public Image image; /// server image.
|
||||
public int idxCamera; /// camera index.
|
||||
public int idxImage; /// image index.
|
||||
public int imageCounts; /// number of images.
|
||||
|
||||
public PromptReceivedImagesEventArgs(int idxCamera, Image image, int idxImage, int imageCounts)
|
||||
{
|
||||
this.image = image;
|
||||
this.idxCamera = idxCamera;
|
||||
this.idxImage = idxImage;
|
||||
this.imageCounts = imageCounts;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -127,16 +127,11 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
/// </summary>
|
||||
/// <param name="time">Date and time</param>
|
||||
/// <returns>File name</returns>
|
||||
public string GetFilename(string destinationPath, Results.Entities.Batch batch, DateTime now)
|
||||
string GetFilename(string destinationPath, Results.Entities.Batch batch)
|
||||
{
|
||||
string directory = destinationPath; /// Ends with "\\";
|
||||
DateTime time = batch.EndTime;
|
||||
|
||||
if (writerCfg.FileNameFormat.Contains("{5:"))
|
||||
{
|
||||
time = now; //define path and file name now
|
||||
}
|
||||
|
||||
switch (writerCfg.YearFolders)
|
||||
{
|
||||
case YearFolders.FourDigit:
|
||||
@@ -200,7 +195,7 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
else
|
||||
{
|
||||
TBF.Rig.GenericDevices.IBenchInfo bi = TBF.Rig.Sequences.ProcessData.BenchInfo;
|
||||
return directory + string.Format(writerCfg.FileNameFormat, batch.EndTime, batch.StartTime, batch.BatchNr, bi.TestBenchName, bi.TestBenchId, time);
|
||||
return directory + string.Format(writerCfg.FileNameFormat, batch.EndTime, batch.StartTime, batch.BatchNr, bi.TestBenchName, bi.TestBenchId);
|
||||
}
|
||||
}
|
||||
catch
|
||||
@@ -253,7 +248,6 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
}
|
||||
|
||||
|
||||
|
||||
void WriteRslts(Results.Entities.Batch batch, string destination)
|
||||
{
|
||||
if (batch == null || batch.WaterMeters == null || batch.WaterMeters.Count <= 0) return;
|
||||
@@ -263,9 +257,8 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
StreamWriter writer = StreamWriter.Null;
|
||||
try
|
||||
{
|
||||
DateTime now = DateTime.Now; // Common time for '{5:' possibility of output
|
||||
writer = File.AppendText(GetFilename(destination, batch, now));
|
||||
WriteRsltsEx(batch, writer,now);
|
||||
writer = File.AppendText(GetFilename(destination, batch));
|
||||
WriteRsltsEx(batch, writer);
|
||||
log.WarnFormat("Batch {0} written by {1} to file {2}", batch.BatchNr, Name, destination);
|
||||
}
|
||||
catch
|
||||
@@ -280,7 +273,7 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
}
|
||||
|
||||
|
||||
public void WriteRsltsEx(Results.Entities.Batch batch, StreamWriter wrtr, DateTime now)
|
||||
void WriteRsltsEx(Results.Entities.Batch batch, StreamWriter wrtr)
|
||||
{
|
||||
///----------
|
||||
/// Header
|
||||
@@ -298,15 +291,7 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
foreach (var v in commonItems)
|
||||
{
|
||||
leftColumn[cnt] = v.Caption;
|
||||
if (v.Uid == 72 && writerCfg.FileNameFormat.Contains("{5:"))
|
||||
{
|
||||
rightColumn[cnt] = string.Format(v.Format, now);
|
||||
}
|
||||
else
|
||||
{
|
||||
rightColumn[cnt] = (batch.WaterMeters.Count > 0) ? v.Print(batch.WaterMeters[0]) : string.Empty;
|
||||
}
|
||||
|
||||
rightColumn[cnt] = (batch.WaterMeters.Count > 0) ? v.Print(batch.WaterMeters[0]) : string.Empty;
|
||||
cnt++;
|
||||
}
|
||||
|
||||
@@ -323,11 +308,7 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
{
|
||||
wrtr.Write(new string(' ', maxLen - leftColumn[i].Length + 3));
|
||||
}
|
||||
|
||||
if (!writerCfg.NoSeparatorBetweenItems)
|
||||
{
|
||||
wrtr.Write(separatorStr);
|
||||
}
|
||||
wrtr.Write(separatorStr);
|
||||
|
||||
wrtr.WriteLine(rightColumn[i]);
|
||||
}
|
||||
|
||||
@@ -33,13 +33,6 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
public string[] SelectedItems;
|
||||
public string Footer;
|
||||
|
||||
[XmlIgnore]
|
||||
private bool? noSeparatorBetweenItems;
|
||||
public bool NoSeparatorBetweenItems {
|
||||
get { return noSeparatorBetweenItems.HasValue ? noSeparatorBetweenItems.Value : false; }
|
||||
set { noSeparatorBetweenItems = value;}
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public MetersKind MetersKind;
|
||||
|
||||
@@ -68,12 +61,11 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
SaveGoodOnly = false;
|
||||
Header = string.Empty;
|
||||
Footer = string.Empty;
|
||||
NoSeparatorBetweenItems = false;
|
||||
}
|
||||
|
||||
public string ToString(int i)
|
||||
{
|
||||
return string.Format("{0}, Path={1}, Y={2}, M={3}, D={4}, FNameFmt={5}, Separator={6}, NoSpaces={7}, GoodOnly={8}, NoSeparatorBetweenItems={9}",
|
||||
return string.Format("{0}, Path={1}, Y={2}, M={3}, D={4}, FNameFmt={5}, Separator={6}, NoSpaces={7}, GoodOnly={8}",
|
||||
Name,
|
||||
DestinationPath,
|
||||
YearFolders,
|
||||
@@ -82,8 +74,7 @@ namespace TBF.Rig.Output.FileWriters.Enhanced
|
||||
FileNameFormat,
|
||||
Separator,
|
||||
EliminateSpaces,
|
||||
SaveGoodOnly,
|
||||
NoSeparatorBetweenItems);
|
||||
SaveGoodOnly);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user