diff options
author | Michael Möller <mmoeller@openhardwaremonitor.org> | 2010-02-27 18:55:17 +0300 |
---|---|---|
committer | Michael Möller <mmoeller@openhardwaremonitor.org> | 2010-02-27 18:55:17 +0300 |
commit | f208712a0dc71ab657ca502565b2a8a10f1d6c2c (patch) | |
tree | b5d729dced054d9cb4092d48d3fde1847c1895e4 /Utilities | |
parent | f7d8eb1d485974252cf88c4a791576fed6517f31 (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.cs | 50 | ||||
-rw-r--r-- | Utilities/ReadOnlyArray.cs | 70 |
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);
+ }
+ }
+}
|