Cleanup : TBF.Tools removed

This commit is contained in:
Milan Hanajik
2021-03-05 12:35:33 +01:00
parent 2a96af3503
commit f87cbe9e54
4 changed files with 0 additions and 203 deletions
-3
View File
@@ -1994,9 +1994,6 @@
<DependentUpon>Strings.resx</DependentUpon>
</Compile>
<Compile Include="Strings.Designer.cs" />
<Compile Include="Tools\ByteFormatter.cs" />
<Compile Include="Tools\IniUtil.cs" />
<Compile Include="Tools\XmlTools.cs" />
<Compile Include="UiBridge\ActivityEventArgs.cs" />
<Compile Include="UiBridge\AdjustmentInProgressEventArgs.cs" />
<Compile Include="UiBridge\Bridge.cs" />
-62
View File
@@ -1,62 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Globalization;
namespace TBF.Tools
{
public class ByteFormatter : IFormatProvider, ICustomFormatter
{
public ByteFormatter()
{
}
public object GetFormat(Type formatType)
{
if (formatType == typeof(ICustomFormatter))
return this;
else
return null;
}
public string Format(string fmt, object arg, IFormatProvider formatProvider)
{
if (arg.GetType() != typeof(byte))
{
try
{
return HandleOtherFormats(fmt, arg);
}
catch (FormatException e)
{
throw new FormatException(String.Format("The format of '{0}' is invalid.", fmt), e);
}
}
///
/// Convert one byte to string
///
byte b = (byte)arg;
if ((32 <= b) && (b <= 127)) return "'" + ((char)b).ToString() + "'";
if ((char)b == '\r') return "'\\r'";
if ((char)b == '\n') return "'\\n'";
if ((char)b == '\t') return "'\\t'";
if (b == 17) return "XON";
if (b == 19) return "XOFF";
if (b == 26) return "Ctrl-Z";
return b.ToString();
}
private string HandleOtherFormats(string format, object arg)
{
if (arg is IFormattable)
return ((IFormattable)arg).ToString(format, CultureInfo.CurrentCulture);
else if (arg != null)
return arg.ToString();
else
return String.Empty;
}
}
}
-108
View File
@@ -1,108 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Text;
using System.Runtime.InteropServices;
using System.Collections.Specialized;
namespace TBF.Tools
{
/// <summary>
/// The class use the WinApi GetPrivateProfileSectionNames,
/// GetPrivateProfileSection, GetPrivateProfileString, WritePrivateProfileString
/// and present easy methods to work from a NET point of view.
/// Usage:
/// IniUtil ini = new IniUtil(@"C:\program files (x86)\myapp\myapp.ini");
/// string country = ini.GetValue("Carrier","Country","NoCountry");
/// </summary>
public class IniUtil
{
[DllImport("kernel32.dll")]
private static extern int GetPrivateProfileSectionNames(byte[] lpszReturnBuffer, int nSize, string lpFileName);
[DllImport("kernel32.dll")]
private static extern int GetPrivateProfileSection(string lpAppName, byte[] lpReturnedString, int nSize, string lpFileName);
[DllImport("kernel32.dll")]
private static extern int GetPrivateProfileString(string lpApplicationName, string lpKeyName, string lpDefault, byte[] lpReturnedString, int nSize, string lpFileName);
[DllImport("kernel32.dll")]
private static extern bool WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
private const int VALUE_BUFFER = 511;
private const int SECTION_BUFFER = (1024 * 16);
private string m_sIniFile;
/// <summary>
/// .ctor with INI file name
/// </summary>
/// <param name="fileName">Fullpath to the INI file</param>
public IniUtil(string fileName)
{
m_sIniFile = fileName;
}
/// <summary>
/// Set the value for a specific key in a section
/// </summary>
/// <param name="section">Section containing the key to write to</param>
/// <param name="key">Key to insert/update</param>
/// <param name="keyvalue">Value for the key</param>
/// <returns>True if OK</returns>
public bool SetValue(string section, string key, string keyvalue)
{
return WritePrivateProfileString(section, key, keyvalue, m_sIniFile);
}
/// <summary>
/// Gets the value of the specidied key in the specified section,
/// If the key doesn't exists returns the default value
/// </summary>
/// <param name="section">Section containing the key to read from</param>
/// <param name="key">Required key</param>
/// <param name="ifMissing">Value to return in case the key is missing</param>
/// <returns>string value of the key or missing value</returns>
public string GetValue(string section, string key, string ifMissing)
{
byte[] by = new byte[VALUE_BUFFER];
int n = GetPrivateProfileString(section, key, ifMissing, by, VALUE_BUFFER, m_sIniFile);
string s = Encoding.ASCII.GetString(by);
return s.Substring(0, n);
}
/// <summary>
/// Returns the NameValueCollection for every key in the section
/// </summary>
/// <param name="section">Section name</param>
/// <returns>NameValueCollection with nake=Key and value=value</returns>
public NameValueCollection GetSectionKeysvalues(string section)
{
NameValueCollection n = new NameValueCollection();
if(section.Length > 0)
{
byte[] by = new byte[SECTION_BUFFER];
int x = GetPrivateProfileSection(section, by, SECTION_BUFFER, m_sIniFile);
if(x > 0) x--;
string keysvalues = Encoding.ASCII.GetString(by, 0, x);
string[] temp = keysvalues.Split('\0');
foreach(string s in temp)
{
string[] t = s.Split('=');
n.Add(t[0], t[1]);
}
}
return n;
}
/// <summary>
/// Get the names of all sections in .INI
/// </summary>
/// <returns>string array with all the key names</returns>
public string[] GetSectionNames()
{
byte[] by = new byte[SECTION_BUFFER];
int x = GetPrivateProfileSectionNames(by, SECTION_BUFFER, m_sIniFile);
if(x > 0) x--;
string keys = Encoding.ASCII.GetString(by, 0, x);
return keys.Split('\0');
}
}
}
-30
View File
@@ -1,30 +0,0 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System.IO;
using System.Xml.Serialization;
namespace TBF.Tools
{
public static class XmlTools
{
public static string ToXmlString<T>(this T input)
{
using (var writer = new StringWriter())
{
input.ToXml(writer);
return writer.ToString();
}
}
public static void ToXml<T>(this T objectToSerialize, Stream stream)
{
new XmlSerializer(typeof(T)).Serialize(stream, objectToSerialize);
}
public static void ToXml<T>(this T objectToSerialize, StringWriter writer)
{
new XmlSerializer(typeof(T)).Serialize(writer, objectToSerialize);
}
}
}