Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openhardwaremonitor/openhardwaremonitor.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Möller <mmoeller@openhardwaremonitor.org>2010-02-27 18:55:17 +0300
committerMichael Möller <mmoeller@openhardwaremonitor.org>2010-02-27 18:55:17 +0300
commitf208712a0dc71ab657ca502565b2a8a10f1d6c2c (patch)
treeb5d729dced054d9cb4092d48d3fde1847c1895e4 /Utilities
parentf7d8eb1d485974252cf88c4a791576fed6517f31 (diff)
Added support for sensor parameters. Fixed Core and Thread count detection for Intel Core i7 CPUs with disabled HyperThreading.
Diffstat (limited to 'Utilities')
-rw-r--r--Utilities/Config.cs (renamed from Utilities/Configuration.cs)21
-rw-r--r--Utilities/IReadOnlyArray.cs50
-rw-r--r--Utilities/ReadOnlyArray.cs70
3 files changed, 141 insertions, 0 deletions
diff --git a/Utilities/Configuration.cs b/Utilities/Config.cs
index 6f378a4..1efdb3a 100644
--- a/Utilities/Configuration.cs
+++ b/Utilities/Config.cs
@@ -154,5 +154,26 @@ namespace OpenHardwareMonitor.Utilities {
return value;
}
}
+
+ public static void Set(string name, float value) {
+ instance[name] = value.ToString(
+ System.Globalization.CultureInfo.InvariantCulture.NumberFormat);
+ }
+
+ public static float Get(string name, float value) {
+ System.Configuration.KeyValueConfigurationElement element =
+ instance.config.AppSettings.Settings[name];
+ if (element == null)
+ return value;
+ else {
+ float parsedValue;
+ if (float.TryParse(element.Value,
+ System.Globalization.NumberStyles.Float,
+ System.Globalization.CultureInfo.InvariantCulture, out parsedValue))
+ return parsedValue;
+ else
+ return value;
+ }
+ }
}
}
diff --git a/Utilities/IReadOnlyArray.cs b/Utilities/IReadOnlyArray.cs
new file mode 100644
index 0000000..b540edc
--- /dev/null
+++ b/Utilities/IReadOnlyArray.cs
@@ -0,0 +1,50 @@
+/*
+
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.mozilla.org/MPL/
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ for the specific language governing rights and limitations under the License.
+
+ The Original Code is the Open Hardware Monitor code.
+
+ The Initial Developer of the Original Code is
+ Michael Möller <m.moeller@gmx.ch>.
+ Portions created by the Initial Developer are Copyright (C) 2009-2010
+ the Initial Developer. All Rights Reserved.
+
+ Contributor(s):
+
+ Alternatively, the contents of this file may be used under the terms of
+ either the GNU General Public License Version 2 or later (the "GPL"), or
+ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ in which case the provisions of the GPL or the LGPL are applicable instead
+ of those above. If you wish to allow use of your version of this file only
+ under the terms of either the GPL or the LGPL, and not to allow others to
+ use your version of this file under the terms of the MPL, indicate your
+ decision by deleting the provisions above and replace them with the notice
+ and other provisions required by the GPL or the LGPL. If you do not delete
+ the provisions above, a recipient may use your version of this file under
+ the terms of any one of the MPL, the GPL or the LGPL.
+
+*/
+
+using System;
+using System.Collections.Generic;
+
+namespace OpenHardwareMonitor.Utilities {
+
+ public interface IReadOnlyArray<T> : IEnumerable<T> {
+
+ T this[int index] { get; }
+
+ int Length { get; }
+
+ }
+}
diff --git a/Utilities/ReadOnlyArray.cs b/Utilities/ReadOnlyArray.cs
new file mode 100644
index 0000000..6b3cde9
--- /dev/null
+++ b/Utilities/ReadOnlyArray.cs
@@ -0,0 +1,70 @@
+/*
+
+ Version: MPL 1.1/GPL 2.0/LGPL 2.1
+
+ The contents of this file are subject to the Mozilla Public License Version
+ 1.1 (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.mozilla.org/MPL/
+
+ Software distributed under the License is distributed on an "AS IS" basis,
+ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ for the specific language governing rights and limitations under the License.
+
+ The Original Code is the Open Hardware Monitor code.
+
+ The Initial Developer of the Original Code is
+ Michael Möller <m.moeller@gmx.ch>.
+ Portions created by the Initial Developer are Copyright (C) 2009-2010
+ the Initial Developer. All Rights Reserved.
+
+ Contributor(s):
+
+ Alternatively, the contents of this file may be used under the terms of
+ either the GNU General Public License Version 2 or later (the "GPL"), or
+ the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ in which case the provisions of the GPL or the LGPL are applicable instead
+ of those above. If you wish to allow use of your version of this file only
+ under the terms of either the GPL or the LGPL, and not to allow others to
+ use your version of this file under the terms of the MPL, indicate your
+ decision by deleting the provisions above and replace them with the notice
+ and other provisions required by the GPL or the LGPL. If you do not delete
+ the provisions above, a recipient may use your version of this file under
+ the terms of any one of the MPL, the GPL or the LGPL.
+
+*/
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+namespace OpenHardwareMonitor.Utilities {
+
+ public class ReadOnlyArray<T> : IReadOnlyArray<T> {
+
+ private T[] array;
+
+ public ReadOnlyArray(T[] array) {
+ this.array = array;
+ }
+
+ public T this[int index] {
+ get { return array[index]; }
+ }
+
+ public int Length { get { return array.Length; } }
+
+ public IEnumerator<T> GetEnumerator() {
+ return ((IEnumerable<T>)array).GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator() {
+ return array.GetEnumerator();
+ }
+
+ public static implicit operator ReadOnlyArray<T>(T[] array) {
+ return new ReadOnlyArray<T>(array);
+ }
+ }
+}