diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj
index 9a8f42af5..109b93119 100644
--- a/TBF/TBF.csproj
+++ b/TBF/TBF.csproj
@@ -1994,9 +1994,6 @@
Strings.resx
-
-
-
diff --git a/TBF/Tools/ByteFormatter.cs b/TBF/Tools/ByteFormatter.cs
deleted file mode 100644
index fa1cca4aa..000000000
--- a/TBF/Tools/ByteFormatter.cs
+++ /dev/null
@@ -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;
- }
- }
-}
diff --git a/TBF/Tools/IniUtil.cs b/TBF/Tools/IniUtil.cs
deleted file mode 100644
index a2b3e18f8..000000000
--- a/TBF/Tools/IniUtil.cs
+++ /dev/null
@@ -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
-{
- ///
- /// 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");
- ///
- 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;
-
- ///
- /// .ctor with INI file name
- ///
- /// Fullpath to the INI file
- public IniUtil(string fileName)
- {
- m_sIniFile = fileName;
- }
-
- ///
- /// Set the value for a specific key in a section
- ///
- /// Section containing the key to write to
- /// Key to insert/update
- /// Value for the key
- /// True if OK
- public bool SetValue(string section, string key, string keyvalue)
- {
- return WritePrivateProfileString(section, key, keyvalue, m_sIniFile);
- }
-
- ///
- /// Gets the value of the specidied key in the specified section,
- /// If the key doesn't exists returns the default value
- ///
- /// Section containing the key to read from
- /// Required key
- /// Value to return in case the key is missing
- /// string value of the key or missing value
- 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);
- }
-
- ///
- /// Returns the NameValueCollection for every key in the section
- ///
- /// Section name
- /// NameValueCollection with nake=Key and value=value
- 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;
- }
-
- ///
- /// Get the names of all sections in .INI
- ///
- /// string array with all the key names
- 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');
- }
- }
-}
diff --git a/TBF/Tools/XmlTools.cs b/TBF/Tools/XmlTools.cs
deleted file mode 100644
index d1f3c71b6..000000000
--- a/TBF/Tools/XmlTools.cs
+++ /dev/null
@@ -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(this T input)
- {
- using (var writer = new StringWriter())
- {
- input.ToXml(writer);
- return writer.ToString();
- }
- }
-
- public static void ToXml(this T objectToSerialize, Stream stream)
- {
- new XmlSerializer(typeof(T)).Serialize(stream, objectToSerialize);
- }
-
- public static void ToXml(this T objectToSerialize, StringWriter writer)
- {
- new XmlSerializer(typeof(T)).Serialize(writer, objectToSerialize);
- }
- }
-}