├── .gitattributes ├── .gitignore ├── App.config ├── OpenHardwareMonitorLib ├── App.config ├── Collections │ ├── IReadOnlyArray.cs │ ├── ListSet.cs │ ├── Pair.cs │ ├── ReadOnlyArray.cs │ └── RingCollection.cs ├── External │ ├── Aga.Controls.dll │ ├── Aga.Controls │ │ ├── Aga.Controls.csproj │ │ ├── Aga.Controls.sln │ │ ├── BitmapHelper.cs │ │ ├── GifDecoder.cs │ │ ├── NumericTextBox.cs │ │ ├── PerformanceAnalyzer.cs │ │ ├── Properties │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ └── Resources.resx │ │ ├── ResourceHelper.cs │ │ ├── Resources │ │ │ ├── DVSplit.cur │ │ │ ├── Folder.bmp │ │ │ ├── FolderClosed.bmp │ │ │ ├── Leaf.bmp │ │ │ ├── check.bmp │ │ │ ├── loading_icon │ │ │ ├── minus.bmp │ │ │ ├── plus.bmp │ │ │ ├── uncheck.bmp │ │ │ └── unknown.bmp │ │ ├── StringCollectionEditor.cs │ │ ├── TextHelper.cs │ │ ├── Threading │ │ │ ├── AbortableThreadPool.cs │ │ │ ├── WorkItem.cs │ │ │ └── WorkItemStatus.cs │ │ ├── TimeCounter.cs │ │ ├── Tree │ │ │ ├── AutoRowHeightLayout.cs │ │ │ ├── ClassDiagram.cd │ │ │ ├── ColumnCollection.cs │ │ │ ├── DrawContext.cs │ │ │ ├── DropNodeValidatingEventArgs.cs │ │ │ ├── DropPosition.cs │ │ │ ├── EditorContext.cs │ │ │ ├── Enums.cs │ │ │ ├── FixedRowHeightLayout.cs │ │ │ ├── IRowLayout.cs │ │ │ ├── IToolTipProvider.cs │ │ │ ├── ITreeModel.cs │ │ │ ├── IncrementalSearch.cs │ │ │ ├── Input │ │ │ │ ├── ClickColumnState.cs │ │ │ │ ├── ColumnState.cs │ │ │ │ ├── InputState.cs │ │ │ │ ├── InputWithControl.cs │ │ │ │ ├── InputWithShift.cs │ │ │ │ ├── NormalInputState.cs │ │ │ │ ├── ReorderColumnState.cs │ │ │ │ └── ResizeColumnState.cs │ │ │ ├── ListModel.cs │ │ │ ├── NativeMethods.cs │ │ │ ├── Node.cs │ │ │ ├── NodeControlInfo.cs │ │ │ ├── NodeControls │ │ │ │ ├── BaseTextControl.cs │ │ │ │ ├── BindableControl.cs │ │ │ │ ├── ClassDiagram.cd │ │ │ │ ├── DrawEventArgs.cs │ │ │ │ ├── EditEventArgs.cs │ │ │ │ ├── EditableControl.cs │ │ │ │ ├── ExpandingIcon.cs │ │ │ │ ├── InteractiveControl.cs │ │ │ │ ├── LabelEventArgs.cs │ │ │ │ ├── NodeCheckBox.cs │ │ │ │ ├── NodeComboBox.cs │ │ │ │ ├── NodeControl.cs │ │ │ │ ├── NodeControlValueEventArgs.cs │ │ │ │ ├── NodeControlsCollection.cs │ │ │ │ ├── NodeDecimalTextBox.cs │ │ │ │ ├── NodeEventArgs.cs │ │ │ │ ├── NodeIcon.cs │ │ │ │ ├── NodeIntegerTextBox.cs │ │ │ │ ├── NodeNumericUpDown.cs │ │ │ │ ├── NodePlusMinus.cs │ │ │ │ ├── NodeStateIcon.cs │ │ │ │ └── NodeTextBox.cs │ │ │ ├── SortedTreeModel.cs │ │ │ ├── TreeColumn.cs │ │ │ ├── TreeColumnCollection.cs │ │ │ ├── TreeColumnEventArgs.cs │ │ │ ├── TreeListAdapter.cs │ │ │ ├── TreeModel.cs │ │ │ ├── TreeModelBase.cs │ │ │ ├── TreeModelEventArgs.cs │ │ │ ├── TreeNodeAdv.cs │ │ │ ├── TreeNodeAdvMouseEventArgs.cs │ │ │ ├── TreePath.cs │ │ │ ├── TreePathEventArgs.cs │ │ │ ├── TreeViewAdv.Designer.cs │ │ │ ├── TreeViewAdv.Draw.cs │ │ │ ├── TreeViewAdv.Editor.cs │ │ │ ├── TreeViewAdv.Input.cs │ │ │ ├── TreeViewAdv.Properties.cs │ │ │ ├── TreeViewAdv.cs │ │ │ ├── TreeViewAdv.resx │ │ │ ├── TreeViewAdvCancelEventArgs.cs │ │ │ ├── TreeViewAdvEventArgs.cs │ │ │ └── TreeViewRowDrawEventArgs.cs │ │ └── license.txt │ ├── OxyPlot.WindowsForms.dll │ ├── OxyPlot.dll │ ├── OxyPlot │ │ ├── GlobalAssemblyInfo.cs │ │ ├── OxyPlot.WindowsForms │ │ │ ├── GraphicsRenderContext.cs │ │ │ ├── HashSet.cs │ │ │ ├── Helpers │ │ │ │ └── ConverterExtensions.cs │ │ │ ├── NamespaceDoc.cs │ │ │ ├── OxyPlot.WindowsForms.csproj │ │ │ ├── Plot.cs │ │ │ ├── PlotControl.cs │ │ │ ├── PngExporter.cs │ │ │ └── Properties │ │ │ │ └── AssemblyInfo.cs │ │ ├── OxyPlot.sln │ │ └── OxyPlot │ │ │ ├── Annotations │ │ │ ├── Annotation.cs │ │ │ ├── AnnotationLayer.cs │ │ │ ├── ArrowAnnotation.cs │ │ │ ├── EllipseAnnotation.cs │ │ │ ├── ImageAnnotation.cs │ │ │ ├── LineAnnotation.cs │ │ │ ├── LineAnnotationType.cs │ │ │ ├── PolygonAnnotation.cs │ │ │ ├── RectangleAnnotation.cs │ │ │ ├── TextAnnotation.cs │ │ │ ├── TextualAnnotation.cs │ │ │ └── TileMapAnnotation.cs │ │ │ ├── Axes │ │ │ ├── AngleAxis.cs │ │ │ ├── Axis.cs │ │ │ ├── AxisChangeTypes.cs │ │ │ ├── AxisChangedEventArgs.cs │ │ │ ├── AxisLayer.cs │ │ │ ├── AxisPosition.cs │ │ │ ├── CategoryAxis.cs │ │ │ ├── ColorAxis.cs │ │ │ ├── DateTimeAxis.cs │ │ │ ├── DateTimeIntervalType.cs │ │ │ ├── LinearAxis.cs │ │ │ ├── LogarithmicAxis.cs │ │ │ ├── MagnitudeAxis.cs │ │ │ ├── RangeAxis.cs │ │ │ ├── TickStyle.cs │ │ │ ├── TimeAxis.cs │ │ │ └── TimeSpanAxis.cs │ │ │ ├── ClassDiagrams │ │ │ ├── PlotModel.cd │ │ │ ├── Reporting.cd │ │ │ └── Series.cd │ │ │ ├── Foundation │ │ │ ├── ArrayHelper.cs │ │ │ ├── CanonicalSplineHelper.cs │ │ │ ├── CodeGenerator │ │ │ │ ├── CodeGenerationAttribute.cs │ │ │ │ ├── CodeGenerator.cs │ │ │ │ ├── CodeGeneratorStringExtensions.cs │ │ │ │ └── ICodeGenerating.cs │ │ │ ├── CohenSutherlandClipping.cs │ │ │ ├── Color.cs │ │ │ ├── Colors.cs │ │ │ ├── Conrec.cs │ │ │ ├── DataPoint.cs │ │ │ ├── DataPointConverter.cs │ │ │ ├── DoubleExtensions.cs │ │ │ ├── FontWeights.cs │ │ │ ├── FractionHelper.cs │ │ │ ├── HorizontalAlignment.cs │ │ │ ├── IDataPoint.cs │ │ │ ├── IDataPointProvider.cs │ │ │ ├── LineStyle.cs │ │ │ ├── LineStyleHelper.cs │ │ │ ├── ListFiller.cs │ │ │ ├── MarkerType.cs │ │ │ ├── OxyColor.cs │ │ │ ├── OxyColorConverter.cs │ │ │ ├── OxyColors.cs │ │ │ ├── OxyImage.cs │ │ │ ├── OxyPalette.cs │ │ │ ├── OxyPalettes.cs │ │ │ ├── OxyPen.cs │ │ │ ├── OxyPenLineJoin.cs │ │ │ ├── OxyRect.cs │ │ │ ├── OxySize.cs │ │ │ ├── OxyThickness.cs │ │ │ ├── Pen.cs │ │ │ ├── PlotLength.cs │ │ │ ├── PlotLengthUnit.cs │ │ │ ├── PngEncoder.cs │ │ │ ├── Point.cs │ │ │ ├── Rectangle.cs │ │ │ ├── ReflectionHelper.cs │ │ │ ├── ScreenPoint.cs │ │ │ ├── ScreenPointHelper.cs │ │ │ ├── ScreenVector.cs │ │ │ ├── Size.cs │ │ │ ├── StreamExtensions.cs │ │ │ ├── StringHelper.cs │ │ │ ├── SutherlandHodgmanClipping.cs │ │ │ ├── VerticalAlignment.cs │ │ │ └── XmlWriterBase.cs │ │ │ ├── LibraryDoc.cs │ │ │ ├── LinqBridge.cs │ │ │ ├── Manipulators │ │ │ ├── CursorType.cs │ │ │ ├── IPlotControl.cs │ │ │ ├── ManipulationEventArgs.cs │ │ │ ├── ManipulatorBase.cs │ │ │ ├── PanManipulator.cs │ │ │ ├── ResetManipulator.cs │ │ │ ├── TrackerHitResult.cs │ │ │ ├── TrackerManipulator.cs │ │ │ ├── ZoomManipulator.cs │ │ │ ├── ZoomRectangleManipulator.cs │ │ │ └── ZoomStepManipulator.cs │ │ │ ├── MouseActions │ │ │ ├── MouseAction.cs │ │ │ └── SliderAction.cs │ │ │ ├── NamespaceDoc.cs │ │ │ ├── OxyPlot.csproj │ │ │ ├── PlotModel │ │ │ ├── HitTestResult.cs │ │ │ ├── OxyMouseButton.cs │ │ │ ├── OxyMouseEventArgs.cs │ │ │ ├── PlotElement.cs │ │ │ ├── PlotModel.Legends.cs │ │ │ ├── PlotModel.MouseEvents.cs │ │ │ ├── PlotModel.Rendering.cs │ │ │ ├── PlotModel.cs │ │ │ ├── SelectablePlotElement.cs │ │ │ └── UIPlotElement.cs │ │ │ ├── Properties │ │ │ └── AssemblyInfo.cs │ │ │ ├── Render │ │ │ ├── AngleAxisRenderer.cs │ │ │ ├── AxisRenderer.cs │ │ │ ├── AxisRendererBase.cs │ │ │ ├── HorizontalAndVerticalAxisRenderer.cs │ │ │ ├── IRenderContext.cs │ │ │ ├── MagnitudeAxisRenderer.cs │ │ │ ├── MathRenderingExtensions.cs │ │ │ ├── PlotRenderer.cs │ │ │ ├── RenderContextBase.cs │ │ │ ├── RenderingExtensions.cs │ │ │ └── VerticalAxisRenderer.cs │ │ │ ├── Reporting │ │ │ ├── NamespaceDoc.cs │ │ │ ├── Report │ │ │ │ ├── Content.cs │ │ │ │ ├── Drawing.cs │ │ │ │ ├── DrawingFigure.cs │ │ │ │ ├── Equation.cs │ │ │ │ ├── Figure.cs │ │ │ │ ├── Header.cs │ │ │ │ ├── HeaderHelper.cs │ │ │ │ ├── Image.cs │ │ │ │ ├── ItemsTable.cs │ │ │ │ ├── ItemsTableField.cs │ │ │ │ ├── Paragraph.cs │ │ │ │ ├── ParagraphStyle.cs │ │ │ │ ├── Plot.cs │ │ │ │ ├── PlotFigure.cs │ │ │ │ ├── PropertyTable.cs │ │ │ │ ├── Report.cs │ │ │ │ ├── ReportItem.cs │ │ │ │ ├── ReportSection.cs │ │ │ │ ├── ReportStyle.cs │ │ │ │ ├── Table.cs │ │ │ │ ├── TableColumn.cs │ │ │ │ └── TableOfContents.cs │ │ │ └── ReportWriters │ │ │ │ ├── HtmlReportWriter.cs │ │ │ │ ├── IReportWriter.cs │ │ │ │ ├── StringExtensions.cs │ │ │ │ ├── TextReportWriter.cs │ │ │ │ └── WikiReportWriter.cs │ │ │ ├── Series │ │ │ ├── AreaSeries.cs │ │ │ ├── BarSeries │ │ │ │ ├── BarItem.cs │ │ │ │ ├── BarItemBase.cs │ │ │ │ ├── BarSeries.cs │ │ │ │ ├── BarSeriesBase.cs │ │ │ │ ├── BarSeriesBase{T}.cs │ │ │ │ ├── CategorizedItem.cs │ │ │ │ ├── CategorizedSeries.cs │ │ │ │ ├── ColumnItem.cs │ │ │ │ ├── ColumnSeries.cs │ │ │ │ ├── ErrorColumnItem.cs │ │ │ │ ├── ErrorColumnSeries.cs │ │ │ │ ├── IStackableSeries.cs │ │ │ │ ├── IntervalBarItem.cs │ │ │ │ ├── IntervalBarSeries.cs │ │ │ │ ├── LabelPlacement.cs │ │ │ │ ├── RectangleBarItem.cs │ │ │ │ ├── RectangleBarSeries.cs │ │ │ │ ├── TornadoBarItem.cs │ │ │ │ └── TornadoBarSeries.cs │ │ │ ├── BoxPlotItem.cs │ │ │ ├── BoxPlotSeries.cs │ │ │ ├── CandleStickSeries.cs │ │ │ ├── ContourSeries.cs │ │ │ ├── DataPointSeries.cs │ │ │ ├── FunctionSeries.cs │ │ │ ├── HeatMapSeries.cs │ │ │ ├── HighLowItem.cs │ │ │ ├── HighLowSeries.cs │ │ │ ├── ITrackableSeries.cs │ │ │ ├── ItemsSeries.cs │ │ │ ├── LineLegendPosition.cs │ │ │ ├── LineSeries.cs │ │ │ ├── PieSeries.cs │ │ │ ├── PieSlice.cs │ │ │ ├── PlotSeriesBase.cs │ │ │ ├── ScatterPoint.cs │ │ │ ├── ScatterSeries.cs │ │ │ ├── Series.cs │ │ │ ├── StairStepSeries.cs │ │ │ ├── StemSeries.cs │ │ │ ├── TwoColorLineSeries.cs │ │ │ └── XYAxisSeries.cs │ │ │ └── Svg │ │ │ ├── NativeMethods.cs │ │ │ ├── SvgExporter.cs │ │ │ ├── SvgRenderContext.cs │ │ │ └── SvgWriter.cs │ └── WinRing0 │ │ ├── COPYRIGHT.txt │ │ ├── MAKEFILE │ │ ├── OlsIoctl.h │ │ ├── OpenLibSys.c │ │ ├── OpenLibSys.h │ │ ├── OpenLibSys.rc │ │ └── SOURCES ├── GUI │ ├── AboutBox.Designer.cs │ ├── AboutBox.cs │ ├── AboutBox.resx │ ├── CrashForm.Designer.cs │ ├── CrashForm.cs │ ├── CrashForm.resx │ ├── Gadget.cs │ ├── GadgetWindow.cs │ ├── HardwareNode.cs │ ├── HardwareTypeImage.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Node.cs │ ├── NotifyIconAdv.cs │ ├── ParameterForm.Designer.cs │ ├── ParameterForm.cs │ ├── ParameterForm.resx │ ├── PlotPanel.cs │ ├── PortForm.Designer.cs │ ├── PortForm.cs │ ├── PortForm.resx │ ├── ReportForm.Designer.cs │ ├── ReportForm.cs │ ├── ReportForm.resx │ ├── SensorGadget.cs │ ├── SensorNode.cs │ ├── SensorNotifyIcon.cs │ ├── ShowDesktop.cs │ ├── SplitContainerAdv.cs │ ├── StartupManager.cs │ ├── SystemTray.cs │ ├── TaskScheduler.cs │ ├── TreeModel.cs │ ├── TypeNode.cs │ ├── UnitManager.cs │ ├── UpdateVisitor.cs │ ├── UserOption.cs │ └── UserRadioGroup.cs ├── Hardware │ ├── ATI │ │ ├── ADL.cs │ │ ├── ATIGPU.cs │ │ └── ATIGroup.cs │ ├── CPU │ │ ├── AMD0FCPU.cs │ │ ├── AMD10CPU.cs │ │ ├── AMDCPU.cs │ │ ├── CPUGroup.cs │ │ ├── CPUID.cs │ │ ├── CPULoad.cs │ │ ├── GenericCPU.cs │ │ └── IntelCPU.cs │ ├── Computer.cs │ ├── Control.cs │ ├── FirmwareTable.cs │ ├── HDD │ │ ├── AbstractHarddrive.cs │ │ ├── DebugSmart.cs │ │ ├── DriveAttributeValue.cs │ │ ├── DriveThresholdValue.cs │ │ ├── HDDGeneric.cs │ │ ├── HarddriveGroup.cs │ │ ├── ISmart.cs │ │ ├── NamePrefixAttribute.cs │ │ ├── RequireSmartAttribute.cs │ │ ├── SSDIndilinx.cs │ │ ├── SSDIntel.cs │ │ ├── SSDMicron.cs │ │ ├── SSDPlextor.cs │ │ ├── SSDSamsung.cs │ │ ├── SSDSandforce.cs │ │ ├── SmartAttribute.cs │ │ ├── SmartNames.cs │ │ └── WindowsSmart.cs │ ├── Hardware.cs │ ├── Heatmaster │ │ ├── Heatmaster.cs │ │ └── HeatmasterGroup.cs │ ├── HexStringArray.cs │ ├── IComputer.cs │ ├── IControl.cs │ ├── IElement.cs │ ├── IGroup.cs │ ├── IHardware.cs │ ├── IOControlCode.cs │ ├── IParameter.cs │ ├── ISensor.cs │ ├── ISettings.cs │ ├── IVisitor.cs │ ├── Identifier.cs │ ├── KernelDriver.cs │ ├── LPC │ │ ├── Chip.cs │ │ ├── F718XX.cs │ │ ├── ISuperIO.cs │ │ ├── IT87XX.cs │ │ ├── LMSensors.cs │ │ ├── LPCIO.cs │ │ ├── LPCPort.cs │ │ ├── NCT677X.cs │ │ └── W836XX.cs │ ├── Mainboard │ │ ├── GigabyteTAMG.cs │ │ ├── Identification.cs │ │ ├── Mainboard.cs │ │ ├── MainboardGroup.cs │ │ ├── Manufacturer.cs │ │ ├── Model.cs │ │ └── SuperIOHardware.cs │ ├── Nvidia │ │ ├── NVAPI.cs │ │ ├── NvidiaGPU.cs │ │ └── NvidiaGroup.cs │ ├── Opcode.cs │ ├── OperatingSystem.cs │ ├── PInvokeDelegateFactory.cs │ ├── Parameter.cs │ ├── RAM │ │ ├── GenericRAM.cs │ │ └── RAMGroup.cs │ ├── Ring0.cs │ ├── SMBIOS.cs │ ├── Sensor.cs │ ├── SensorVisitor.cs │ ├── TBalancer │ │ ├── FTD2XX.cs │ │ ├── TBalancer.cs │ │ └── TBalancerGroup.cs │ ├── ThreadAffinity.cs │ ├── WinRing0.sys │ └── WinRing0x64.sys ├── Licenses │ └── License.html ├── OpenHardwareMonitor.sln ├── OpenHardwareMonitorLib.csproj ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── Resources │ ├── Web │ │ ├── css │ │ │ ├── custom-theme │ │ │ │ ├── images │ │ │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ │ │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ │ │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ │ │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ │ │ │ │ ├── ui-bg_glass_75_ffffff_1x400.png │ │ │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ │ │ ├── ui-bg_inset-soft_95_fef1ec_1x100.png │ │ │ │ │ ├── ui-icons_222222_256x240.png │ │ │ │ │ ├── ui-icons_2e83ff_256x240.png │ │ │ │ │ ├── ui-icons_454545_256x240.png │ │ │ │ │ ├── ui-icons_888888_256x240.png │ │ │ │ │ └── ui-icons_cd0a0a_256x240.png │ │ │ │ └── jquery-ui-1.8.16.custom.css │ │ │ ├── jquery.treeTable.css │ │ │ └── ohm_web.css │ │ ├── images │ │ │ ├── toggle-collapse-dark.png │ │ │ ├── toggle-collapse-light.png │ │ │ ├── toggle-expand-dark.png │ │ │ ├── toggle-expand-light.png │ │ │ └── transparent.png │ │ ├── index.html │ │ └── js │ │ │ ├── jquery-1.7.2.js │ │ │ ├── jquery-1.7.2.min.js │ │ │ ├── jquery-ui-1.8.16.custom.min.js │ │ │ ├── jquery.tmpl.js │ │ │ ├── jquery.tmpl.min.js │ │ │ ├── jquery.treeTable.min.js │ │ │ ├── knockout-2.1.0.js │ │ │ ├── knockout-2.1.0.min.js │ │ │ ├── knockout.mapping-latest.js │ │ │ ├── knockout.mapping-latest.min.js │ │ │ └── ohm_web.js │ ├── app.manifest │ ├── ati.png │ ├── barback.png │ ├── barblue.png │ ├── bigng.png │ ├── chip.png │ ├── clock.png │ ├── computer.png │ ├── control.png │ ├── cpu.png │ ├── data.png │ ├── factor.png │ ├── fan.png │ ├── flow.png │ ├── gadget.png │ ├── gadget.xcf │ ├── hdd.png │ ├── icon.ico │ ├── icon.xcf │ ├── level.png │ ├── load.png │ ├── mainboard.png │ ├── nvidia.png │ ├── power.png │ ├── ram.png │ ├── smallicon.ico │ ├── temperature.png │ └── voltage.png ├── Utilities │ ├── EmbeddedResources.cs │ ├── HttpServer.cs │ ├── IconFactory.cs │ ├── Logger.cs │ └── PersistentSettings.cs └── WMI │ ├── Hardware.cs │ ├── IWmiObject.cs │ ├── Sensor.cs │ └── WmiProvider.cs ├── Program.cs ├── Properties └── AssemblyInfo.cs ├── README.md ├── READY ├── HOW-TO.txt ├── TempProber.exe ├── TempProberPayload.cmd └── ohm.dll ├── TempProber.csproj └── TempProber.sln /App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Collections/IReadOnlyArray.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.Collections { 15 | 16 | public interface IReadOnlyArray : IEnumerable { 17 | 18 | T this[int index] { get; } 19 | 20 | int Length { get; } 21 | 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Collections/ListSet.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2013 Michael Möller 8 | 9 | */ 10 | 11 | using System.Collections; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.Collections { 15 | 16 | public class ListSet : IEnumerable { 17 | 18 | private readonly List list = new List(); 19 | 20 | public bool Add(T item) { 21 | if (list.Contains(item)) 22 | return false; 23 | 24 | list.Add(item); 25 | return true; 26 | } 27 | 28 | public bool Remove(T item) { 29 | if (!list.Contains(item)) 30 | return false; 31 | 32 | list.Remove(item); 33 | return true; 34 | } 35 | 36 | public bool Contains(T item) { 37 | return list.Contains(item); 38 | } 39 | 40 | public T[] ToArray() { 41 | return list.ToArray(); 42 | } 43 | 44 | public IEnumerator GetEnumerator() { 45 | return list.GetEnumerator(); 46 | } 47 | 48 | IEnumerator IEnumerable.GetEnumerator() { 49 | return list.GetEnumerator(); 50 | } 51 | 52 | public int Count { 53 | get { 54 | return list.Count; 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Collections/Pair.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2011 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.Collections { 15 | 16 | public struct Pair { 17 | private F first; 18 | private S second; 19 | 20 | public Pair(F first, S second) { 21 | this.first = first; 22 | this.second = second; 23 | } 24 | 25 | public F First { 26 | get { return first; } 27 | set { first = value; } 28 | } 29 | 30 | public S Second { 31 | get { return second; } 32 | set { second = value; } 33 | } 34 | 35 | public override int GetHashCode() { 36 | return (first != null ? first.GetHashCode() : 0) ^ 37 | (second != null ? second.GetHashCode() : 0); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Collections/ReadOnlyArray.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | using System.Collections; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.Collections { 15 | 16 | public class ReadOnlyArray : IReadOnlyArray { 17 | 18 | private readonly T[] array; 19 | 20 | public ReadOnlyArray(T[] array) { 21 | this.array = array; 22 | } 23 | 24 | public T this[int index] { 25 | get { return array[index]; } 26 | } 27 | 28 | public int Length { get { return array.Length; } } 29 | 30 | public IEnumerator GetEnumerator() { 31 | return ((IEnumerable)array).GetEnumerator(); 32 | } 33 | 34 | IEnumerator IEnumerable.GetEnumerator() { 35 | return array.GetEnumerator(); 36 | } 37 | 38 | public static implicit operator ReadOnlyArray(T[] array) { 39 | return new ReadOnlyArray(array); 40 | } 41 | 42 | public T[] ToArray() { 43 | return (T[])array.Clone(); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls.dll -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Aga.Controls.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aga.Controls", "Aga.Controls.csproj", "{E73BB233-D88B-44A7-A98F-D71EE158381D}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Any CPU = Debug|Any CPU 9 | Release|Any CPU = Release|Any CPU 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {E73BB233-D88B-44A7-A98F-D71EE158381D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 13 | {E73BB233-D88B-44A7-A98F-D71EE158381D}.Debug|Any CPU.Build.0 = Debug|Any CPU 14 | {E73BB233-D88B-44A7-A98F-D71EE158381D}.Release|Any CPU.ActiveCfg = Release|Any CPU 15 | {E73BB233-D88B-44A7-A98F-D71EE158381D}.Release|Any CPU.Build.0 = Release|Any CPU 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/BitmapHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Drawing; 5 | using System.Runtime.InteropServices; 6 | using System.Drawing.Imaging; 7 | 8 | namespace Aga.Controls 9 | { 10 | public static class BitmapHelper 11 | { 12 | [StructLayout(LayoutKind.Sequential)] 13 | private struct PixelData 14 | { 15 | public byte B; 16 | public byte G; 17 | public byte R; 18 | public byte A; 19 | } 20 | 21 | public static void SetAlphaChanelValue(Bitmap image, byte value) 22 | { 23 | if (image == null) 24 | throw new ArgumentNullException("image"); 25 | if (image.PixelFormat != PixelFormat.Format32bppArgb) 26 | throw new ArgumentException("Wrong PixelFormat"); 27 | 28 | BitmapData bitmapData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), 29 | ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); 30 | unsafe 31 | { 32 | PixelData* pPixel = (PixelData*)bitmapData.Scan0; 33 | for (int i = 0; i < bitmapData.Height; i++) 34 | { 35 | for (int j = 0; j < bitmapData.Width; j++) 36 | { 37 | pPixel->A = value; 38 | pPixel++; 39 | } 40 | pPixel += bitmapData.Stride - (bitmapData.Width * 4); 41 | } 42 | } 43 | image.UnlockBits(bitmapData); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using System; 5 | using System.Security.Permissions; 6 | 7 | [assembly: ComVisible(false)] 8 | [assembly: CLSCompliant(false)] 9 | [assembly: SecurityPermission(SecurityAction.RequestMinimum, Execution = true)] 10 | 11 | [assembly: AssemblyTitle("Aga.Controls")] 12 | [assembly: AssemblyCopyright("Copyright © Andrey Gliznetsov 2006 - 2009")] 13 | [assembly: AssemblyDescription("http://sourceforge.net/projects/treeviewadv/")] 14 | 15 | [assembly: AssemblyVersion("1.7.0.0")] 16 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/ResourceHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Reflection; 4 | using System.Windows.Forms; 5 | using System.Collections.Generic; 6 | using System.Text; 7 | 8 | namespace Aga.Controls 9 | { 10 | public static class ResourceHelper 11 | { 12 | // VSpilt Cursor with Innerline (symbolisize hidden column) 13 | private static Cursor _dVSplitCursor = GetCursor(Properties.Resources.DVSplit); 14 | public static Cursor DVSplitCursor 15 | { 16 | get { return _dVSplitCursor; } 17 | } 18 | 19 | private static GifDecoder _loadingIcon = GetGifDecoder(Properties.Resources.loading_icon); 20 | public static GifDecoder LoadingIcon 21 | { 22 | get { return _loadingIcon; } 23 | } 24 | 25 | /// 26 | /// Help function to convert byte[] from resource into Cursor Type 27 | /// 28 | /// 29 | /// 30 | private static Cursor GetCursor(byte[] data) 31 | { 32 | using (MemoryStream s = new MemoryStream(data)) 33 | return new Cursor(s); 34 | } 35 | 36 | /// 37 | /// Help function to convert byte[] from resource into GifDecoder Type 38 | /// 39 | /// 40 | /// 41 | private static GifDecoder GetGifDecoder(byte[] data) 42 | { 43 | using(MemoryStream ms = new MemoryStream(data)) 44 | return new GifDecoder(ms, true); 45 | } 46 | 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/DVSplit.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/DVSplit.cur -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/Folder.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/Folder.bmp -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/FolderClosed.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/FolderClosed.bmp -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/Leaf.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/Leaf.bmp -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/check.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/check.bmp -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/loading_icon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/loading_icon -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/minus.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/minus.bmp -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/plus.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/plus.bmp -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/uncheck.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/uncheck.bmp -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Resources/unknown.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/Aga.Controls/Resources/unknown.bmp -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/StringCollectionEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.ComponentModel.Design; 5 | 6 | namespace Aga.Controls 7 | { 8 | public class StringCollectionEditor : CollectionEditor 9 | { 10 | public StringCollectionEditor(Type type): base(type) 11 | { 12 | } 13 | 14 | protected override Type CreateCollectionItemType() 15 | { 16 | return typeof(string); 17 | } 18 | 19 | protected override object CreateInstance(Type itemType) 20 | { 21 | return ""; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/TextHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using System.Drawing; 6 | 7 | namespace Aga.Controls 8 | { 9 | public static class TextHelper 10 | { 11 | public static StringAlignment TranslateAligment(HorizontalAlignment alignment) 12 | { 13 | if (alignment == HorizontalAlignment.Left) 14 | return StringAlignment.Near; 15 | else if (alignment == HorizontalAlignment.Right) 16 | return StringAlignment.Far; 17 | else 18 | return StringAlignment.Center; 19 | } 20 | 21 | public static TextFormatFlags TranslateAligmentToFlag(HorizontalAlignment alignment) 22 | { 23 | if (alignment == HorizontalAlignment.Left) 24 | return TextFormatFlags.Left; 25 | else if (alignment == HorizontalAlignment.Right) 26 | return TextFormatFlags.Right; 27 | else 28 | return TextFormatFlags.HorizontalCenter; 29 | } 30 | 31 | public static TextFormatFlags TranslateTrimmingToFlag(StringTrimming trimming) 32 | { 33 | if (trimming == StringTrimming.EllipsisCharacter) 34 | return TextFormatFlags.EndEllipsis; 35 | else if (trimming == StringTrimming.EllipsisPath) 36 | return TextFormatFlags.PathEllipsis; 37 | if (trimming == StringTrimming.EllipsisWord) 38 | return TextFormatFlags.WordEllipsis; 39 | if (trimming == StringTrimming.Word) 40 | return TextFormatFlags.WordBreak; 41 | else 42 | return TextFormatFlags.Default; 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Threading/WorkItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Threading; 5 | 6 | namespace Aga.Controls.Threading 7 | { 8 | public sealed class WorkItem 9 | { 10 | private WaitCallback _callback; 11 | private object _state; 12 | private ExecutionContext _ctx; 13 | 14 | internal WorkItem(WaitCallback wc, object state, ExecutionContext ctx) 15 | { 16 | _callback = wc; 17 | _state = state; 18 | _ctx = ctx; 19 | } 20 | 21 | internal WaitCallback Callback 22 | { 23 | get 24 | { 25 | return _callback; 26 | } 27 | } 28 | 29 | internal object State 30 | { 31 | get 32 | { 33 | return _state; 34 | } 35 | } 36 | 37 | internal ExecutionContext Context 38 | { 39 | get 40 | { 41 | return _ctx; 42 | } 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Threading/WorkItemStatus.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Threading 6 | { 7 | public enum WorkItemStatus 8 | { 9 | Completed, 10 | Queued, 11 | Executing, 12 | Aborted 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/TimeCounter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Runtime.InteropServices; 5 | using System.Diagnostics.CodeAnalysis; 6 | 7 | namespace Aga.Controls 8 | { 9 | /// 10 | /// High resolution timer, used to test performance 11 | /// 12 | public static class TimeCounter 13 | { 14 | private static Int64 _start; 15 | 16 | /// 17 | /// Start time counting 18 | /// 19 | public static void Start() 20 | { 21 | _start = 0; 22 | QueryPerformanceCounter(ref _start); 23 | } 24 | 25 | public static Int64 GetStartValue() 26 | { 27 | Int64 t = 0; 28 | QueryPerformanceCounter(ref t); 29 | return t; 30 | } 31 | 32 | /// 33 | /// Finish time counting 34 | /// 35 | /// time in seconds elapsed from Start till Finish 36 | public static double Finish() 37 | { 38 | return Finish(_start); 39 | } 40 | 41 | public static double Finish(Int64 start) 42 | { 43 | Int64 finish = 0; 44 | QueryPerformanceCounter(ref finish); 45 | 46 | Int64 freq = 0; 47 | QueryPerformanceFrequency(ref freq); 48 | return (finish - start) / (double)freq; 49 | } 50 | 51 | [DllImport("Kernel32.dll")] 52 | [return: MarshalAs(UnmanagedType.Bool)] 53 | static extern bool QueryPerformanceCounter(ref Int64 performanceCount); 54 | 55 | [DllImport("Kernel32.dll")] 56 | [return: MarshalAs(UnmanagedType.Bool)] 57 | static extern bool QueryPerformanceFrequency(ref Int64 frequency); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/ColumnCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Collections.ObjectModel; 5 | 6 | namespace Aga.Controls.Tree 7 | { 8 | /*internal class ColumnCollection: Collection 9 | { 10 | public int TotalWidth 11 | { 12 | get 13 | { 14 | int res = 0; 15 | foreach (Column c in Items) 16 | res += c.Width; 17 | return res; 18 | } 19 | } 20 | }*/ 21 | } 22 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/DrawContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Drawing; 5 | using Aga.Controls.Tree.NodeControls; 6 | 7 | namespace Aga.Controls.Tree 8 | { 9 | public struct DrawContext 10 | { 11 | private Graphics _graphics; 12 | public Graphics Graphics 13 | { 14 | get { return _graphics; } 15 | set { _graphics = value; } 16 | } 17 | 18 | private Rectangle _bounds; 19 | public Rectangle Bounds 20 | { 21 | get { return _bounds; } 22 | set { _bounds = value; } 23 | } 24 | 25 | private Font _font; 26 | public Font Font 27 | { 28 | get { return _font; } 29 | set { _font = value; } 30 | } 31 | 32 | private DrawSelectionMode _drawSelection; 33 | public DrawSelectionMode DrawSelection 34 | { 35 | get { return _drawSelection; } 36 | set { _drawSelection = value; } 37 | } 38 | 39 | private bool _drawFocus; 40 | public bool DrawFocus 41 | { 42 | get { return _drawFocus; } 43 | set { _drawFocus = value; } 44 | } 45 | 46 | private NodeControl _currentEditorOwner; 47 | public NodeControl CurrentEditorOwner 48 | { 49 | get { return _currentEditorOwner; } 50 | set { _currentEditorOwner = value; } 51 | } 52 | 53 | private bool _enabled; 54 | public bool Enabled 55 | { 56 | get { return _enabled; } 57 | set { _enabled = value; } 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/DropNodeValidatingEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | 4 | namespace Aga.Controls.Tree 5 | { 6 | public class DropNodeValidatingEventArgs: EventArgs 7 | { 8 | Point _point; 9 | TreeNodeAdv _node; 10 | 11 | public DropNodeValidatingEventArgs(Point point, TreeNodeAdv node) 12 | { 13 | _point = point; 14 | _node = node; 15 | } 16 | 17 | public Point Point 18 | { 19 | get { return _point; } 20 | } 21 | 22 | public TreeNodeAdv Node 23 | { 24 | get { return _node; } 25 | set { _node = value; } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/DropPosition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public struct DropPosition 8 | { 9 | private TreeNodeAdv _node; 10 | public TreeNodeAdv Node 11 | { 12 | get { return _node; } 13 | set { _node = value; } 14 | } 15 | 16 | private NodePosition _position; 17 | public NodePosition Position 18 | { 19 | get { return _position; } 20 | set { _position = value; } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/EditorContext.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using System.Drawing; 6 | using Aga.Controls.Tree.NodeControls; 7 | 8 | namespace Aga.Controls.Tree 9 | { 10 | public struct EditorContext 11 | { 12 | private TreeNodeAdv _currentNode; 13 | public TreeNodeAdv CurrentNode 14 | { 15 | get { return _currentNode; } 16 | set { _currentNode = value; } 17 | } 18 | 19 | private Control _editor; 20 | public Control Editor 21 | { 22 | get { return _editor; } 23 | set { _editor = value; } 24 | } 25 | 26 | private NodeControl _owner; 27 | public NodeControl Owner 28 | { 29 | get { return _owner; } 30 | set { _owner = value; } 31 | } 32 | 33 | private Rectangle _bounds; 34 | public Rectangle Bounds 35 | { 36 | get { return _bounds; } 37 | set { _bounds = value; } 38 | } 39 | 40 | private DrawContext _drawContext; 41 | public DrawContext DrawContext 42 | { 43 | get { return _drawContext; } 44 | set { _drawContext = value; } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/Enums.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public enum DrawSelectionMode 8 | { 9 | None, Active, Inactive, FullRowSelect 10 | } 11 | 12 | public enum TreeSelectionMode 13 | { 14 | Single, Multi, MultiSameParent 15 | } 16 | 17 | public enum NodePosition 18 | { 19 | Inside, Before, After 20 | } 21 | 22 | public enum VerticalAlignment 23 | { 24 | Top, Bottom, Center 25 | } 26 | 27 | public enum IncrementalSearchMode 28 | { 29 | None, Standard, Continuous 30 | } 31 | 32 | [Flags] 33 | public enum GridLineStyle 34 | { 35 | None = 0, 36 | Horizontal = 1, 37 | Vertical = 2, 38 | HorizontalAndVertical = 3 39 | } 40 | 41 | public enum ImageScaleMode 42 | { 43 | /// 44 | /// Don't scale 45 | /// 46 | Clip, 47 | /// 48 | /// Scales image to fit the display rectangle, aspect ratio is not fixed. 49 | /// 50 | Fit, 51 | /// 52 | /// Scales image down if it is larger than display rectangle, taking aspect ratio into account 53 | /// 54 | ScaleDown, 55 | /// 56 | /// Scales image up if it is smaller than display rectangle, taking aspect ratio into account 57 | /// 58 | ScaleUp, 59 | /// 60 | /// Scales image to match the display rectangle, taking aspect ratio into account 61 | /// 62 | AlwaysScale, 63 | 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/FixedRowHeightLayout.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Drawing; 5 | 6 | namespace Aga.Controls.Tree 7 | { 8 | internal class FixedRowHeightLayout : IRowLayout 9 | { 10 | private TreeViewAdv _treeView; 11 | 12 | public FixedRowHeightLayout(TreeViewAdv treeView, int rowHeight) 13 | { 14 | _treeView = treeView; 15 | PreferredRowHeight = rowHeight; 16 | } 17 | 18 | private int _rowHeight; 19 | public int PreferredRowHeight 20 | { 21 | get { return _rowHeight; } 22 | set { _rowHeight = value; } 23 | } 24 | 25 | public Rectangle GetRowBounds(int rowNo) 26 | { 27 | return new Rectangle(0, rowNo * _rowHeight, 0, _rowHeight); 28 | } 29 | 30 | public int PageRowCount 31 | { 32 | get 33 | { 34 | return Math.Max((_treeView.DisplayRectangle.Height - _treeView.ColumnHeaderHeight) / _rowHeight, 0); 35 | } 36 | } 37 | 38 | public int CurrentPageSize 39 | { 40 | get 41 | { 42 | return PageRowCount; 43 | } 44 | } 45 | 46 | public int GetRowAt(Point point) 47 | { 48 | point = new Point(point.X, point.Y + (_treeView.FirstVisibleRow * _rowHeight) - _treeView.ColumnHeaderHeight); 49 | return point.Y / _rowHeight; 50 | } 51 | 52 | public int GetFirstRow(int lastPageRow) 53 | { 54 | return Math.Max(0, lastPageRow - PageRowCount + 1); 55 | } 56 | 57 | public void ClearCache() 58 | { 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/IRowLayout.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Drawing; 5 | 6 | namespace Aga.Controls.Tree 7 | { 8 | internal interface IRowLayout 9 | { 10 | int PreferredRowHeight 11 | { 12 | get; 13 | set; 14 | } 15 | 16 | int PageRowCount 17 | { 18 | get; 19 | } 20 | 21 | int CurrentPageSize 22 | { 23 | get; 24 | } 25 | 26 | Rectangle GetRowBounds(int rowNo); 27 | 28 | int GetRowAt(Point point); 29 | 30 | int GetFirstRow(int lastPageRow); 31 | 32 | void ClearCache(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/IToolTipProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Aga.Controls.Tree.NodeControls; 5 | 6 | namespace Aga.Controls.Tree 7 | { 8 | public interface IToolTipProvider 9 | { 10 | string GetToolTip(TreeNodeAdv node, NodeControl nodeControl); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/ITreeModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Collections; 5 | 6 | namespace Aga.Controls.Tree 7 | { 8 | public interface ITreeModel 9 | { 10 | IEnumerable GetChildren(TreePath treePath); 11 | bool IsLeaf(TreePath treePath); 12 | 13 | event EventHandler NodesChanged; 14 | event EventHandler NodesInserted; 15 | event EventHandler NodesRemoved; 16 | event EventHandler StructureChanged; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/Input/ClickColumnState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using System.Drawing; 6 | 7 | namespace Aga.Controls.Tree 8 | { 9 | internal class ClickColumnState : ColumnState 10 | { 11 | private Point _location; 12 | 13 | public ClickColumnState(TreeViewAdv tree, TreeColumn column, Point location) 14 | : base(tree, column) 15 | { 16 | _location = location; 17 | } 18 | 19 | public override void KeyDown(KeyEventArgs args) 20 | { 21 | } 22 | 23 | public override void MouseDown(TreeNodeAdvMouseEventArgs args) 24 | { 25 | } 26 | 27 | public override bool MouseMove(MouseEventArgs args) 28 | { 29 | if (TreeViewAdv.Dist(_location, args.Location) > TreeViewAdv.ItemDragSensivity 30 | && Tree.AllowColumnReorder) 31 | { 32 | Tree.Input = new ReorderColumnState(Tree, Column, args.Location); 33 | Tree.UpdateView(); 34 | } 35 | return true; 36 | } 37 | 38 | public override void MouseUp(TreeNodeAdvMouseEventArgs args) 39 | { 40 | Tree.ChangeInput(); 41 | Tree.UpdateView(); 42 | Tree.OnColumnClicked(Column); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/Input/ColumnState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | internal abstract class ColumnState : InputState 8 | { 9 | private TreeColumn _column; 10 | public TreeColumn Column 11 | { 12 | get { return _column; } 13 | } 14 | 15 | public ColumnState(TreeViewAdv tree, TreeColumn column) 16 | : base(tree) 17 | { 18 | _column = column; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/Input/InputState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | namespace Aga.Controls.Tree 4 | { 5 | internal abstract class InputState 6 | { 7 | private TreeViewAdv _tree; 8 | 9 | public TreeViewAdv Tree 10 | { 11 | get { return _tree; } 12 | } 13 | 14 | public InputState(TreeViewAdv tree) 15 | { 16 | _tree = tree; 17 | } 18 | 19 | public abstract void KeyDown(System.Windows.Forms.KeyEventArgs args); 20 | public abstract void MouseDown(TreeNodeAdvMouseEventArgs args); 21 | public abstract void MouseUp(TreeNodeAdvMouseEventArgs args); 22 | 23 | /// 24 | /// handle OnMouseMove event 25 | /// 26 | /// 27 | /// true if event was handled and should be dispatched 28 | public virtual bool MouseMove(MouseEventArgs args) 29 | { 30 | return false; 31 | } 32 | 33 | public virtual void MouseDoubleClick(TreeNodeAdvMouseEventArgs args) 34 | { 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/Input/InputWithControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | internal class InputWithControl: NormalInputState 8 | { 9 | public InputWithControl(TreeViewAdv tree): base(tree) 10 | { 11 | } 12 | 13 | protected override void DoMouseOperation(TreeNodeAdvMouseEventArgs args) 14 | { 15 | if (Tree.SelectionMode == TreeSelectionMode.Single) 16 | { 17 | base.DoMouseOperation(args); 18 | } 19 | else if (CanSelect(args.Node)) 20 | { 21 | args.Node.IsSelected = !args.Node.IsSelected; 22 | Tree.SelectionStart = args.Node; 23 | } 24 | } 25 | 26 | protected override void MouseDownAtEmptySpace(TreeNodeAdvMouseEventArgs args) 27 | { 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/Input/InputWithShift.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | internal class InputWithShift: NormalInputState 8 | { 9 | public InputWithShift(TreeViewAdv tree): base(tree) 10 | { 11 | } 12 | 13 | protected override void FocusRow(TreeNodeAdv node) 14 | { 15 | Tree.SuspendSelectionEvent = true; 16 | try 17 | { 18 | if (Tree.SelectionMode == TreeSelectionMode.Single || Tree.SelectionStart == null) 19 | base.FocusRow(node); 20 | else if (CanSelect(node)) 21 | { 22 | SelectAllFromStart(node); 23 | Tree.CurrentNode = node; 24 | Tree.ScrollTo(node); 25 | } 26 | } 27 | finally 28 | { 29 | Tree.SuspendSelectionEvent = false; 30 | } 31 | } 32 | 33 | protected override void DoMouseOperation(TreeNodeAdvMouseEventArgs args) 34 | { 35 | if (Tree.SelectionMode == TreeSelectionMode.Single || Tree.SelectionStart == null) 36 | { 37 | base.DoMouseOperation(args); 38 | } 39 | else if (CanSelect(args.Node)) 40 | { 41 | Tree.SuspendSelectionEvent = true; 42 | try 43 | { 44 | SelectAllFromStart(args.Node); 45 | } 46 | finally 47 | { 48 | Tree.SuspendSelectionEvent = false; 49 | } 50 | } 51 | } 52 | 53 | protected override void MouseDownAtEmptySpace(TreeNodeAdvMouseEventArgs args) 54 | { 55 | } 56 | 57 | private void SelectAllFromStart(TreeNodeAdv node) 58 | { 59 | Tree.ClearSelectionInternal(); 60 | int a = node.Row; 61 | int b = Tree.SelectionStart.Row; 62 | for (int i = Math.Min(a, b); i <= Math.Max(a, b); i++) 63 | { 64 | if (Tree.SelectionMode == TreeSelectionMode.Multi || Tree.RowMap[i].Parent == node.Parent) 65 | Tree.RowMap[i].IsSelected = true; 66 | } 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/Input/ResizeColumnState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using System.Security.Permissions; 6 | using System.Drawing; 7 | 8 | namespace Aga.Controls.Tree 9 | { 10 | internal class ResizeColumnState: ColumnState 11 | { 12 | private Point _initLocation; 13 | private int _initWidth; 14 | 15 | public ResizeColumnState(TreeViewAdv tree, TreeColumn column, Point p) 16 | : base(tree, column) 17 | { 18 | _initLocation = p; 19 | _initWidth = column.Width; 20 | } 21 | 22 | public override void KeyDown(KeyEventArgs args) 23 | { 24 | args.Handled = true; 25 | if (args.KeyCode == Keys.Escape) 26 | FinishResize(); 27 | } 28 | 29 | public override void MouseDown(TreeNodeAdvMouseEventArgs args) 30 | { 31 | } 32 | 33 | public override void MouseUp(TreeNodeAdvMouseEventArgs args) 34 | { 35 | FinishResize(); 36 | } 37 | 38 | private void FinishResize() 39 | { 40 | Tree.ChangeInput(); 41 | Tree.FullUpdate(); 42 | Tree.OnColumnWidthChanged(Column); 43 | } 44 | 45 | public override bool MouseMove(MouseEventArgs args) 46 | { 47 | Column.Width = _initWidth + args.Location.X - _initLocation.X; 48 | Tree.UpdateView(); 49 | return true; 50 | } 51 | 52 | public override void MouseDoubleClick(TreeNodeAdvMouseEventArgs args) 53 | { 54 | Tree.AutoSizeColumn(Column); 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/ListModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Collections; 5 | 6 | namespace Aga.Controls.Tree 7 | { 8 | public class ListModel : TreeModelBase 9 | { 10 | private IList _list; 11 | 12 | public int Count 13 | { 14 | get { return _list.Count; } 15 | } 16 | 17 | public ListModel() 18 | { 19 | _list = new List(); 20 | } 21 | 22 | public ListModel(IList list) 23 | { 24 | _list = list; 25 | } 26 | 27 | public override IEnumerable GetChildren(TreePath treePath) 28 | { 29 | return _list; 30 | } 31 | 32 | public override bool IsLeaf(TreePath treePath) 33 | { 34 | return true; 35 | } 36 | 37 | public void AddRange(IEnumerable items) 38 | { 39 | foreach (object obj in items) 40 | _list.Add(obj); 41 | OnStructureChanged(new TreePathEventArgs(TreePath.Empty)); 42 | } 43 | 44 | public void Add(object item) 45 | { 46 | _list.Add(item); 47 | OnNodesInserted(new TreeModelEventArgs(TreePath.Empty, new int[] { _list.Count - 1 }, new object[] { item })); 48 | } 49 | 50 | public void Clear() 51 | { 52 | _list.Clear(); 53 | OnStructureChanged(new TreePathEventArgs(TreePath.Empty)); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControlInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using Aga.Controls.Tree.NodeControls; 5 | using System.Drawing; 6 | 7 | namespace Aga.Controls.Tree 8 | { 9 | public struct NodeControlInfo 10 | { 11 | public static readonly NodeControlInfo Empty = new NodeControlInfo(null, Rectangle.Empty, null); 12 | 13 | private NodeControl _control; 14 | public NodeControl Control 15 | { 16 | get { return _control; } 17 | } 18 | 19 | private Rectangle _bounds; 20 | public Rectangle Bounds 21 | { 22 | get { return _bounds; } 23 | } 24 | 25 | private TreeNodeAdv _node; 26 | public TreeNodeAdv Node 27 | { 28 | get { return _node; } 29 | } 30 | 31 | public NodeControlInfo(NodeControl control, Rectangle bounds, TreeNodeAdv node) 32 | { 33 | _control = control; 34 | _bounds = bounds; 35 | _node = node; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/DrawEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Drawing; 5 | 6 | namespace Aga.Controls.Tree.NodeControls 7 | { 8 | public class DrawEventArgs : NodeEventArgs 9 | { 10 | private DrawContext _context; 11 | public DrawContext Context 12 | { 13 | get { return _context; } 14 | } 15 | 16 | private Brush _textBrush; 17 | [Obsolete("Use TextColor")] 18 | public Brush TextBrush 19 | { 20 | get { return _textBrush; } 21 | set { _textBrush = value; } 22 | } 23 | 24 | private Brush _backgroundBrush; 25 | public Brush BackgroundBrush 26 | { 27 | get { return _backgroundBrush; } 28 | set { _backgroundBrush = value; } 29 | } 30 | 31 | private Font _font; 32 | public Font Font 33 | { 34 | get { return _font; } 35 | set { _font = value; } 36 | } 37 | 38 | private Color _textColor; 39 | public Color TextColor 40 | { 41 | get { return _textColor; } 42 | set { _textColor = value; } 43 | } 44 | 45 | private string _text; 46 | public string Text 47 | { 48 | get { return _text; } 49 | set { _text = value; } 50 | } 51 | 52 | 53 | private EditableControl _control; 54 | public EditableControl Control 55 | { 56 | get { return _control; } 57 | } 58 | 59 | public DrawEventArgs(TreeNodeAdv node, EditableControl control, DrawContext context, string text) 60 | : base(node) 61 | { 62 | _control = control; 63 | _context = context; 64 | _text = text; 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/EditEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | 6 | namespace Aga.Controls.Tree.NodeControls 7 | { 8 | public class EditEventArgs : NodeEventArgs 9 | { 10 | private Control _control; 11 | public Control Control 12 | { 13 | get { return _control; } 14 | } 15 | 16 | public EditEventArgs(TreeNodeAdv node, Control control) 17 | : base(node) 18 | { 19 | _control = control; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/InteractiveControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.ComponentModel; 5 | 6 | namespace Aga.Controls.Tree.NodeControls 7 | { 8 | public abstract class InteractiveControl : BindableControl 9 | { 10 | private bool _editEnabled = false; 11 | [DefaultValue(false)] 12 | public bool EditEnabled 13 | { 14 | get { return _editEnabled; } 15 | set { _editEnabled = value; } 16 | } 17 | 18 | protected bool IsEditEnabled(TreeNodeAdv node) 19 | { 20 | if (EditEnabled) 21 | { 22 | NodeControlValueEventArgs args = new NodeControlValueEventArgs(node); 23 | args.Value = true; 24 | OnIsEditEnabledValueNeeded(args); 25 | return Convert.ToBoolean(args.Value); 26 | } 27 | else 28 | return false; 29 | } 30 | 31 | public event EventHandler IsEditEnabledValueNeeded; 32 | private void OnIsEditEnabledValueNeeded(NodeControlValueEventArgs args) 33 | { 34 | if (IsEditEnabledValueNeeded != null) 35 | IsEditEnabledValueNeeded(this, args); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/LabelEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree.NodeControls 6 | { 7 | public class LabelEventArgs : EventArgs 8 | { 9 | private object _subject; 10 | public object Subject 11 | { 12 | get { return _subject; } 13 | } 14 | 15 | private string _oldLabel; 16 | public string OldLabel 17 | { 18 | get { return _oldLabel; } 19 | } 20 | 21 | private string _newLabel; 22 | public string NewLabel 23 | { 24 | get { return _newLabel; } 25 | } 26 | 27 | public LabelEventArgs(object subject, string oldLabel, string newLabel) 28 | { 29 | _subject = subject; 30 | _oldLabel = oldLabel; 31 | _newLabel = newLabel; 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/NodeControlValueEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree.NodeControls 6 | { 7 | public class NodeControlValueEventArgs : NodeEventArgs 8 | { 9 | private object _value; 10 | public object Value 11 | { 12 | get { return _value; } 13 | set { _value = value; } 14 | } 15 | 16 | public NodeControlValueEventArgs(TreeNodeAdv node) 17 | :base(node) 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/NodeControlsCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.ComponentModel.Design; 5 | using System.Collections.ObjectModel; 6 | using System.ComponentModel; 7 | using System.Drawing.Design; 8 | 9 | namespace Aga.Controls.Tree.NodeControls 10 | { 11 | internal class NodeControlsCollection : Collection 12 | { 13 | private TreeViewAdv _tree; 14 | 15 | public NodeControlsCollection(TreeViewAdv tree) 16 | { 17 | _tree = tree; 18 | } 19 | 20 | protected override void ClearItems() 21 | { 22 | _tree.BeginUpdate(); 23 | try 24 | { 25 | while (this.Count != 0) 26 | this.RemoveAt(this.Count - 1); 27 | } 28 | finally 29 | { 30 | _tree.EndUpdate(); 31 | } 32 | } 33 | 34 | protected override void InsertItem(int index, NodeControl item) 35 | { 36 | if (item == null) 37 | throw new ArgumentNullException("item"); 38 | 39 | if (item.Parent != _tree) 40 | { 41 | if (item.Parent != null) 42 | { 43 | item.Parent.NodeControls.Remove(item); 44 | } 45 | base.InsertItem(index, item); 46 | item.AssignParent(_tree); 47 | _tree.FullUpdate(); 48 | } 49 | } 50 | 51 | protected override void RemoveItem(int index) 52 | { 53 | NodeControl value = this[index]; 54 | value.AssignParent(null); 55 | base.RemoveItem(index); 56 | _tree.FullUpdate(); 57 | } 58 | 59 | protected override void SetItem(int index, NodeControl item) 60 | { 61 | if (item == null) 62 | throw new ArgumentNullException("item"); 63 | 64 | _tree.BeginUpdate(); 65 | try 66 | { 67 | RemoveAt(index); 68 | InsertItem(index, item); 69 | } 70 | finally 71 | { 72 | _tree.EndUpdate(); 73 | } 74 | } 75 | } 76 | 77 | internal class NodeControlCollectionEditor : CollectionEditor 78 | { 79 | private Type[] _types; 80 | 81 | public NodeControlCollectionEditor(Type type) 82 | : base(type) 83 | { 84 | _types = new Type[] { typeof(NodeTextBox), typeof(NodeIntegerTextBox), typeof(NodeDecimalTextBox), 85 | typeof(NodeComboBox), typeof(NodeCheckBox), 86 | typeof(NodeStateIcon), typeof(NodeIcon), typeof(NodeNumericUpDown), typeof(ExpandingIcon) }; 87 | } 88 | 89 | protected override System.Type[] CreateNewItemTypes() 90 | { 91 | return _types; 92 | } 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/NodeDecimalTextBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Drawing; 5 | using System.Windows.Forms; 6 | using System.Reflection; 7 | using System.ComponentModel; 8 | 9 | namespace Aga.Controls.Tree.NodeControls 10 | { 11 | public class NodeDecimalTextBox : NodeTextBox 12 | { 13 | private bool _allowDecimalSeparator = true; 14 | [DefaultValue(true)] 15 | public bool AllowDecimalSeparator 16 | { 17 | get { return _allowDecimalSeparator; } 18 | set { _allowDecimalSeparator = value; } 19 | } 20 | 21 | private bool _allowNegativeSign = true; 22 | [DefaultValue(true)] 23 | public bool AllowNegativeSign 24 | { 25 | get { return _allowNegativeSign; } 26 | set { _allowNegativeSign = value; } 27 | } 28 | 29 | protected NodeDecimalTextBox() 30 | { 31 | } 32 | 33 | protected override TextBox CreateTextBox() 34 | { 35 | NumericTextBox textBox = new NumericTextBox(); 36 | textBox.AllowDecimalSeparator = AllowDecimalSeparator; 37 | textBox.AllowNegativeSign = AllowNegativeSign; 38 | return textBox; 39 | } 40 | 41 | protected override void DoApplyChanges(TreeNodeAdv node, Control editor) 42 | { 43 | SetValue(node, (editor as NumericTextBox).DecimalValue); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/NodeEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree.NodeControls 6 | { 7 | public class NodeEventArgs : EventArgs 8 | { 9 | private TreeNodeAdv _node; 10 | public TreeNodeAdv Node 11 | { 12 | get { return _node; } 13 | } 14 | 15 | public NodeEventArgs(TreeNodeAdv node) 16 | { 17 | _node = node; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/NodeIntegerTextBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.ComponentModel; 5 | using System.Windows.Forms; 6 | 7 | namespace Aga.Controls.Tree.NodeControls 8 | { 9 | 10 | public class NodeIntegerTextBox : NodeTextBox 11 | { 12 | private bool _allowNegativeSign = true; 13 | [DefaultValue(true)] 14 | public bool AllowNegativeSign 15 | { 16 | get { return _allowNegativeSign; } 17 | set { _allowNegativeSign = value; } 18 | } 19 | 20 | public NodeIntegerTextBox() 21 | { 22 | } 23 | 24 | protected override TextBox CreateTextBox() 25 | { 26 | NumericTextBox textBox = new NumericTextBox(); 27 | textBox.AllowDecimalSeparator = false; 28 | textBox.AllowNegativeSign = AllowNegativeSign; 29 | return textBox; 30 | } 31 | 32 | protected override void DoApplyChanges(TreeNodeAdv node, Control editor) 33 | { 34 | SetValue(node, (editor as NumericTextBox).IntValue); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/NodeControls/NodeStateIcon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Drawing; 5 | using Aga.Controls.Properties; 6 | 7 | namespace Aga.Controls.Tree.NodeControls 8 | { 9 | public class NodeStateIcon: NodeIcon 10 | { 11 | private Image _leaf; 12 | private Image _opened; 13 | private Image _closed; 14 | 15 | public NodeStateIcon() 16 | { 17 | _leaf = MakeTransparent(Resources.Leaf); 18 | _opened = MakeTransparent(Resources.Folder); 19 | _closed = MakeTransparent(Resources.FolderClosed); 20 | } 21 | 22 | private static Image MakeTransparent(Bitmap bitmap) 23 | { 24 | bitmap.MakeTransparent(bitmap.GetPixel(0,0)); 25 | return bitmap; 26 | } 27 | 28 | protected override Image GetIcon(TreeNodeAdv node) 29 | { 30 | Image icon = base.GetIcon(node); 31 | if (icon != null) 32 | return icon; 33 | else if (node.IsLeaf) 34 | return _leaf; 35 | else if (node.CanExpand && node.IsExpanded) 36 | return _opened; 37 | else 38 | return _closed; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/SortedTreeModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Collections; 5 | 6 | namespace Aga.Controls.Tree 7 | { 8 | public class SortedTreeModel: TreeModelBase 9 | { 10 | private ITreeModel _innerModel; 11 | public ITreeModel InnerModel 12 | { 13 | get { return _innerModel; } 14 | } 15 | 16 | private IComparer _comparer; 17 | public IComparer Comparer 18 | { 19 | get { return _comparer; } 20 | set 21 | { 22 | _comparer = value; 23 | OnStructureChanged(new TreePathEventArgs(TreePath.Empty)); 24 | } 25 | } 26 | 27 | public SortedTreeModel(ITreeModel innerModel) 28 | { 29 | _innerModel = innerModel; 30 | _innerModel.NodesChanged += new EventHandler(_innerModel_NodesChanged); 31 | _innerModel.NodesInserted += new EventHandler(_innerModel_NodesInserted); 32 | _innerModel.NodesRemoved += new EventHandler(_innerModel_NodesRemoved); 33 | _innerModel.StructureChanged += new EventHandler(_innerModel_StructureChanged); 34 | } 35 | 36 | void _innerModel_StructureChanged(object sender, TreePathEventArgs e) 37 | { 38 | OnStructureChanged(e); 39 | } 40 | 41 | void _innerModel_NodesRemoved(object sender, TreeModelEventArgs e) 42 | { 43 | OnStructureChanged(new TreePathEventArgs(e.Path)); 44 | } 45 | 46 | void _innerModel_NodesInserted(object sender, TreeModelEventArgs e) 47 | { 48 | OnStructureChanged(new TreePathEventArgs(e.Path)); 49 | } 50 | 51 | void _innerModel_NodesChanged(object sender, TreeModelEventArgs e) 52 | { 53 | OnStructureChanged(new TreePathEventArgs(e.Path)); 54 | } 55 | 56 | public override IEnumerable GetChildren(TreePath treePath) 57 | { 58 | if (Comparer != null) 59 | { 60 | ArrayList list = new ArrayList(); 61 | IEnumerable res = InnerModel.GetChildren(treePath); 62 | if (res != null) 63 | { 64 | foreach (object obj in res) 65 | list.Add(obj); 66 | list.Sort(Comparer); 67 | return list; 68 | } 69 | else 70 | return null; 71 | } 72 | else 73 | return InnerModel.GetChildren(treePath); 74 | } 75 | 76 | public override bool IsLeaf(TreePath treePath) 77 | { 78 | return InnerModel.IsLeaf(treePath); 79 | } 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreeColumnEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public class TreeColumnEventArgs: EventArgs 8 | { 9 | private TreeColumn _column; 10 | public TreeColumn Column 11 | { 12 | get { return _column; } 13 | } 14 | 15 | public TreeColumnEventArgs(TreeColumn column) 16 | { 17 | _column = column; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreeListAdapter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | /// 8 | /// Converts IEnumerable interface to ITreeModel. 9 | /// Allows to display a plain list in the TreeView 10 | /// 11 | public class TreeListAdapter : ITreeModel 12 | { 13 | private System.Collections.IEnumerable _list; 14 | 15 | public TreeListAdapter(System.Collections.IEnumerable list) 16 | { 17 | _list = list; 18 | } 19 | 20 | #region ITreeModel Members 21 | 22 | public System.Collections.IEnumerable GetChildren(TreePath treePath) 23 | { 24 | if (treePath.IsEmpty()) 25 | return _list; 26 | else 27 | return null; 28 | } 29 | 30 | public bool IsLeaf(TreePath treePath) 31 | { 32 | return true; 33 | } 34 | 35 | public event EventHandler NodesChanged; 36 | public void OnNodesChanged(TreeModelEventArgs args) 37 | { 38 | if (NodesChanged != null) 39 | NodesChanged(this, args); 40 | } 41 | 42 | public event EventHandler StructureChanged; 43 | public void OnStructureChanged(TreePathEventArgs args) 44 | { 45 | if (StructureChanged != null) 46 | StructureChanged(this, args); 47 | } 48 | 49 | public event EventHandler NodesInserted; 50 | public void OnNodeInserted(TreeModelEventArgs args) 51 | { 52 | if (NodesInserted != null) 53 | NodesInserted(this, args); 54 | } 55 | 56 | public event EventHandler NodesRemoved; 57 | public void OnNodeRemoved(TreeModelEventArgs args) 58 | { 59 | if (NodesRemoved != null) 60 | NodesRemoved(this, args); 61 | } 62 | 63 | #endregion 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreeModelBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public abstract class TreeModelBase: ITreeModel 8 | { 9 | public abstract System.Collections.IEnumerable GetChildren(TreePath treePath); 10 | public abstract bool IsLeaf(TreePath treePath); 11 | 12 | 13 | public event EventHandler NodesChanged; 14 | protected void OnNodesChanged(TreeModelEventArgs args) 15 | { 16 | if (NodesChanged != null) 17 | NodesChanged(this, args); 18 | } 19 | 20 | public event EventHandler StructureChanged; 21 | protected void OnStructureChanged(TreePathEventArgs args) 22 | { 23 | if (StructureChanged != null) 24 | StructureChanged(this, args); 25 | } 26 | 27 | public event EventHandler NodesInserted; 28 | protected void OnNodesInserted(TreeModelEventArgs args) 29 | { 30 | if (NodesInserted != null) 31 | NodesInserted(this, args); 32 | } 33 | 34 | public event EventHandler NodesRemoved; 35 | protected void OnNodesRemoved(TreeModelEventArgs args) 36 | { 37 | if (NodesRemoved != null) 38 | NodesRemoved(this, args); 39 | } 40 | 41 | public virtual void Refresh() 42 | { 43 | OnStructureChanged(new TreePathEventArgs(TreePath.Empty)); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreeModelEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public class TreeModelEventArgs: TreePathEventArgs 8 | { 9 | private object[] _children; 10 | public object[] Children 11 | { 12 | get { return _children; } 13 | } 14 | 15 | private int[] _indices; 16 | public int[] Indices 17 | { 18 | get { return _indices; } 19 | } 20 | 21 | /// 22 | /// 23 | /// 24 | /// Path to a parent node 25 | /// Child nodes 26 | public TreeModelEventArgs(TreePath parent, object[] children) 27 | : this(parent, null, children) 28 | { 29 | } 30 | 31 | /// 32 | /// 33 | /// 34 | /// Path to a parent node 35 | /// Indices of children in parent nodes collection 36 | /// Child nodes 37 | public TreeModelEventArgs(TreePath parent, int[] indices, object[] children) 38 | : base(parent) 39 | { 40 | if (children == null) 41 | throw new ArgumentNullException(); 42 | 43 | if (indices != null && indices.Length != children.Length) 44 | throw new ArgumentException("indices and children arrays must have the same length"); 45 | 46 | _indices = indices; 47 | _children = children; 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreeNodeAdvMouseEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using System.Drawing; 6 | using Aga.Controls.Tree.NodeControls; 7 | 8 | namespace Aga.Controls.Tree 9 | { 10 | public class TreeNodeAdvMouseEventArgs : MouseEventArgs 11 | { 12 | private TreeNodeAdv _node; 13 | public TreeNodeAdv Node 14 | { 15 | get { return _node; } 16 | internal set { _node = value; } 17 | } 18 | 19 | private NodeControl _control; 20 | public NodeControl Control 21 | { 22 | get { return _control; } 23 | internal set { _control = value; } 24 | } 25 | 26 | private Point _viewLocation; 27 | public Point ViewLocation 28 | { 29 | get { return _viewLocation; } 30 | internal set { _viewLocation = value; } 31 | } 32 | 33 | private Keys _modifierKeys; 34 | public Keys ModifierKeys 35 | { 36 | get { return _modifierKeys; } 37 | internal set { _modifierKeys = value; } 38 | } 39 | 40 | private bool _handled; 41 | public bool Handled 42 | { 43 | get { return _handled; } 44 | set { _handled = value; } 45 | } 46 | 47 | private Rectangle _controlBounds; 48 | public Rectangle ControlBounds 49 | { 50 | get { return _controlBounds; } 51 | internal set { _controlBounds = value; } 52 | } 53 | 54 | public TreeNodeAdvMouseEventArgs(MouseEventArgs args) 55 | : base(args.Button, args.Clicks, args.X, args.Y, args.Delta) 56 | { 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreePath.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | using System.Collections.ObjectModel; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public class TreePath 8 | { 9 | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes")] 10 | public static readonly TreePath Empty = new TreePath(); 11 | 12 | private object[] _path; 13 | public object[] FullPath 14 | { 15 | get { return _path; } 16 | } 17 | 18 | public object LastNode 19 | { 20 | get 21 | { 22 | if (_path.Length > 0) 23 | return _path[_path.Length - 1]; 24 | else 25 | return null; 26 | } 27 | } 28 | 29 | public object FirstNode 30 | { 31 | get 32 | { 33 | if (_path.Length > 0) 34 | return _path[0]; 35 | else 36 | return null; 37 | } 38 | } 39 | 40 | public TreePath() 41 | { 42 | _path = new object[0]; 43 | } 44 | 45 | public TreePath(object node) 46 | { 47 | _path = new object[] { node }; 48 | } 49 | 50 | public TreePath(object[] path) 51 | { 52 | _path = path; 53 | } 54 | 55 | public TreePath(TreePath parent, object node) 56 | { 57 | _path = new object[parent.FullPath.Length + 1]; 58 | for (int i = 0; i < _path.Length - 1; i++) 59 | _path[i] = parent.FullPath[i]; 60 | _path[_path.Length - 1] = node; 61 | } 62 | 63 | public bool IsEmpty() 64 | { 65 | return (_path.Length == 0); 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreePathEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public class TreePathEventArgs : EventArgs 8 | { 9 | private TreePath _path; 10 | public TreePath Path 11 | { 12 | get { return _path; } 13 | } 14 | 15 | public TreePathEventArgs() 16 | { 17 | _path = new TreePath(); 18 | } 19 | 20 | public TreePathEventArgs(TreePath path) 21 | { 22 | if (path == null) 23 | throw new ArgumentNullException(); 24 | 25 | _path = path; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreeViewAdvCancelEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public class TreeViewAdvCancelEventArgs : TreeViewAdvEventArgs 8 | { 9 | private bool _cancel; 10 | 11 | public bool Cancel 12 | { 13 | get { return _cancel; } 14 | set { _cancel = value; } 15 | } 16 | 17 | public TreeViewAdvCancelEventArgs(TreeNodeAdv node) 18 | : base(node) 19 | { 20 | } 21 | 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreeViewAdvEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Aga.Controls.Tree 6 | { 7 | public class TreeViewAdvEventArgs : EventArgs 8 | { 9 | private TreeNodeAdv _node; 10 | 11 | public TreeNodeAdv Node 12 | { 13 | get { return _node; } 14 | } 15 | 16 | public TreeViewAdvEventArgs(TreeNodeAdv node) 17 | { 18 | _node = node; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/Tree/TreeViewRowDrawEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | using System.Windows.Forms; 5 | using System.Drawing; 6 | 7 | namespace Aga.Controls.Tree 8 | { 9 | public class TreeViewRowDrawEventArgs: PaintEventArgs 10 | { 11 | TreeNodeAdv _node; 12 | DrawContext _context; 13 | int _row; 14 | Rectangle _rowRect; 15 | 16 | public TreeViewRowDrawEventArgs(Graphics graphics, Rectangle clipRectangle, TreeNodeAdv node, DrawContext context, int row, Rectangle rowRect) 17 | : base(graphics, clipRectangle) 18 | { 19 | _node = node; 20 | _context = context; 21 | _row = row; 22 | _rowRect = rowRect; 23 | } 24 | 25 | public TreeNodeAdv Node 26 | { 27 | get { return _node; } 28 | } 29 | 30 | public DrawContext Context 31 | { 32 | get { return _context; } 33 | } 34 | 35 | public int Row 36 | { 37 | get { return _row; } 38 | } 39 | 40 | public Rectangle RowRect 41 | { 42 | get { return _rowRect; } 43 | } 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/Aga.Controls/license.txt: -------------------------------------------------------------------------------- 1 | The BSD License 2 | 3 | Copyright (c) 2009, Andrey Gliznetsov (a.gliznetsov@gmail.com) 4 | 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, are permitted provided 8 | that the following conditions are met 9 | 10 | - Redistributions of source code must retain the above copyright notice, this list of conditions 11 | and the following disclaimer. 12 | - Redistributions in binary form must reproduce the above copyright notice, this list of conditions 13 | and the following disclaimer in the documentation andor other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16 | AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 18 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 19 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 20 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 22 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot.WindowsForms.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/OxyPlot.WindowsForms.dll -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/External/OxyPlot.dll -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/GlobalAssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | //----------------------------------------------------------------------- 27 | 28 | using System.Reflection; 29 | 30 | [assembly: AssemblyConfiguration("")] 31 | [assembly: AssemblyProduct("OxyPlot")] 32 | [assembly: AssemblyCompany("OxyPlot")] 33 | [assembly: AssemblyCopyright("Copyright (C) OxyPlot 2012.")] 34 | [assembly: AssemblyTrademark("")] 35 | [assembly: AssemblyCulture("")] 36 | 37 | [assembly: AssemblyVersion("2013.1.1.1")] 38 | [assembly: AssemblyFileVersion("2013.1.1.1")] 39 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot.WindowsForms/HashSet.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace OxyPlot.WindowsForms { 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | public class HashSet { 8 | 9 | private readonly Dictionary set = new Dictionary(); 10 | 11 | public bool Add(T value) { 12 | if (set.ContainsKey(value)) 13 | return true; 14 | 15 | set.Add(value, null); 16 | return false; 17 | } 18 | 19 | public bool Contains(T value) { 20 | return set.ContainsKey(value); 21 | } 22 | 23 | public void Clear() { 24 | set.Clear(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot.WindowsForms/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | 28 | namespace OxyPlot.WindowsForms 29 | { 30 | /// 31 | /// The OxyPlot.WindowsForms namespace contains controls for Windows Forms and a bitmap exporter. 32 | /// 33 | [System.Runtime.CompilerServices.CompilerGenerated] 34 | internal class NamespaceDoc 35 | { 36 | } 37 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot.WindowsForms/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------- 2 | // 3 | // http://oxyplot.codeplex.com, license: MIT 4 | // 5 | //----------------------------------------------------------------------- 6 | 7 | using System.Reflection; 8 | 9 | [assembly: AssemblyTitle("OxyPlot for Windows Forms")] 10 | [assembly: AssemblyDescription("OxyPlot controls for Windows Forms.")] -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OxyPlot", "OxyPlot\OxyPlot.csproj", "{BCC43E58-E473-403E-A84D-63FEDC723040}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OxyPlot.WindowsForms", "OxyPlot.WindowsForms\OxyPlot.WindowsForms.csproj", "{D4554296-094E-4CAC-8EAE-44EB250666C6}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {BCC43E58-E473-403E-A84D-63FEDC723040}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {BCC43E58-E473-403E-A84D-63FEDC723040}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {BCC43E58-E473-403E-A84D-63FEDC723040}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {BCC43E58-E473-403E-A84D-63FEDC723040}.Release|Any CPU.Build.0 = Release|Any CPU 18 | {D4554296-094E-4CAC-8EAE-44EB250666C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {D4554296-094E-4CAC-8EAE-44EB250666C6}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {D4554296-094E-4CAC-8EAE-44EB250666C6}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {D4554296-094E-4CAC-8EAE-44EB250666C6}.Release|Any CPU.Build.0 = Release|Any CPU 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Annotations/AnnotationLayer.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // The annotation layer. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Annotations 31 | { 32 | /// 33 | /// Specifies the layer for an . 34 | /// 35 | public enum AnnotationLayer 36 | { 37 | /// 38 | /// Render the annotation below the gridlines of the axes. 39 | /// 40 | BelowAxes, 41 | 42 | /// 43 | /// Render the annotation below the series. 44 | /// 45 | BelowSeries, 46 | 47 | /// 48 | /// Render the annotation above the series. 49 | /// 50 | AboveSeries 51 | } 52 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Annotations/TextualAnnotation.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Provides an abstract base class for annotations that contains text. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | 31 | namespace OxyPlot.Annotations 32 | { 33 | /// 34 | /// Provides an abstract base class for annotations that contains text. 35 | /// 36 | public abstract class TextualAnnotation : Annotation 37 | { 38 | /// 39 | /// Gets or sets the annotation text. 40 | /// 41 | /// 42 | /// The text. 43 | /// 44 | public string Text { get; set; } 45 | } 46 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Axes/AxisChangeTypes.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Change types of the Axis.AxisChanged event. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Axes 31 | { 32 | /// 33 | /// Specifies change types for the event. 34 | /// 35 | public enum AxisChangeTypes 36 | { 37 | /// 38 | /// The axis was zoomed by the user. 39 | /// 40 | Zoom, 41 | 42 | /// 43 | /// The axis was panned by the user. 44 | /// 45 | Pan, 46 | 47 | /// 48 | /// The axis zoom/pan was reset by the user. 49 | /// 50 | Reset 51 | } 52 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Axes/AxisLayer.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Axis layer position. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Axes 31 | { 32 | /// 33 | /// Specifies the layer position of an . 34 | /// 35 | public enum AxisLayer 36 | { 37 | /// 38 | /// Below all series. 39 | /// 40 | BelowSeries, 41 | 42 | /// 43 | /// Above all series. 44 | /// 45 | AboveSeries 46 | } 47 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Axes/AxisPosition.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Axis positions. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Axes 31 | { 32 | /// 33 | /// Specifies the position of an . 34 | /// 35 | public enum AxisPosition 36 | { 37 | /// 38 | /// No position. 39 | /// 40 | None, 41 | 42 | /// 43 | /// Left of the plot area. 44 | /// 45 | Left, 46 | 47 | /// 48 | /// Right of the plot area. 49 | /// 50 | Right, 51 | 52 | /// 53 | /// Top of the plot area. 54 | /// 55 | Top, 56 | 57 | /// 58 | /// Bottom of the plot area. 59 | /// 60 | Bottom 61 | } 62 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Axes/TickStyle.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Tick styles. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Axes 31 | { 32 | /// 33 | /// Specifies the style of axis ticks. 34 | /// 35 | public enum TickStyle 36 | { 37 | /// 38 | /// The ticks are rendered crossing the axis line. 39 | /// 40 | Crossing, 41 | 42 | /// 43 | /// The ticks are rendered inside of the plot area. 44 | /// 45 | Inside, 46 | 47 | /// 48 | /// The ticks are rendered Outside the plot area. 49 | /// 50 | Outside, 51 | 52 | /// 53 | /// The ticks are not rendered. 54 | /// 55 | None 56 | } 57 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/CodeGenerator/ICodeGenerating.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Provides functionality to generate c# code of an object. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot 31 | { 32 | /// 33 | /// Provides functionality to generate C# code of an object. 34 | /// 35 | public interface ICodeGenerating 36 | { 37 | /// 38 | /// Returns c# code that generates this instance. 39 | /// 40 | /// 41 | /// C# code. 42 | /// 43 | string ToCode(); 44 | } 45 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/FontWeights.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Static font weights. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot 31 | { 32 | /// 33 | /// Provides a set of static predefined font weight values. 34 | /// 35 | public static class FontWeights 36 | { 37 | /// 38 | /// Specifies a bold font weight. 39 | /// 40 | public const double Bold = 700; 41 | 42 | /// 43 | /// Specifies a normal font weight. 44 | /// 45 | public const double Normal = 400; 46 | 47 | } 48 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/HorizontalAlignment.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Horizontal text alignment. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot 31 | { 32 | /// 33 | /// Specifies the horizontal alignment. 34 | /// 35 | public enum HorizontalAlignment 36 | { 37 | /// 38 | /// Aligned to the left. 39 | /// 40 | Left = -1, 41 | 42 | /// 43 | /// Aligned in the center. 44 | /// 45 | Center = 0, 46 | 47 | /// 48 | /// Aligned to the right. 49 | /// 50 | Right = 1 51 | } 52 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/IDataPoint.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // DataPoint interface. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot 31 | { 32 | /// 33 | /// Defines a point. 34 | /// 35 | public interface IDataPoint 36 | { 37 | /// 38 | /// Gets or sets the x-coordinate. 39 | /// 40 | /// The x-coordinate. 41 | double X { get; set; } 42 | 43 | /// 44 | /// Gets or sets the y-coordinate. 45 | /// 46 | /// The y-coordinate. 47 | double Y { get; set; } 48 | } 49 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/IDataPointProvider.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Provides functionality to create data points for items in an . 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot 31 | { 32 | /// 33 | /// Provides functionality to create data points. 34 | /// 35 | public interface IDataPointProvider 36 | { 37 | /// 38 | /// Gets the data point. 39 | /// 40 | /// 41 | /// The data point. 42 | /// 43 | DataPoint GetDataPoint(); 44 | } 45 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/OxyPenLineJoin.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Pen line join. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot 31 | { 32 | /// 33 | /// Specifies how to join line segments. 34 | /// 35 | public enum OxyPenLineJoin 36 | { 37 | /// 38 | /// Line joins use regular angular vertices. 39 | /// 40 | Miter, 41 | 42 | /// 43 | /// Line joins use rounded vertices. 44 | /// 45 | Round, 46 | 47 | /// 48 | /// Line joins use beveled vertices. 49 | /// 50 | Bevel 51 | } 52 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/Pen.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | namespace OxyPlot 28 | { 29 | public class Pen 30 | { 31 | public Pen(Color c, double th, LineStyle ls) 32 | { 33 | Color = c; 34 | Thickness = th; 35 | DashArray = LineStyleHelper.GetDashArray(ls); 36 | } 37 | 38 | public Color Color { get; set; } 39 | public double Thickness { get; set; } 40 | public double[] DashArray { get; set; } 41 | } 42 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/Point.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | namespace OxyPlot 28 | { 29 | public struct Point 30 | { 31 | internal double x; 32 | 33 | internal double y; 34 | 35 | public Point(double x, double y) 36 | { 37 | this.x = x; 38 | this.y = y; 39 | } 40 | 41 | public double X 42 | { 43 | get { return x; } 44 | set { x = value; } 45 | } 46 | 47 | public double Y 48 | { 49 | get { return y; } 50 | set { y = value; } 51 | } 52 | 53 | public override string ToString() 54 | { 55 | return x + " " + y; 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/Rectangle.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | namespace OxyPlot 28 | { 29 | public struct Rectangle 30 | { 31 | public double Top { get; set; } 32 | public double Bottom { get; set; } 33 | public double Left { get; set; } 34 | public double Right { get; set; } 35 | } 36 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/Size.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | namespace OxyPlot 28 | { 29 | public struct Size 30 | { 31 | public double Width { get; set; } 32 | public double Height { get; set; } 33 | 34 | public static Size Empty = new Size(0,0); 35 | 36 | public Size(double width, double height) 37 | : this() 38 | { 39 | this.Width = width; 40 | this.Height = height; 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/StreamExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace OxyPlot 2 | { 3 | using System.IO; 4 | 5 | /// 6 | /// Implements extension methods. 7 | /// 8 | public static class StreamExtensions 9 | { 10 | /// 11 | /// Copies to the specified stream. 12 | /// 13 | /// The input stream. 14 | /// The output stream. 15 | public static void CopyTo(this Stream input, Stream output) 16 | { 17 | var buffer = new byte[32768]; 18 | int read; 19 | while ((read = input.Read(buffer, 0, buffer.Length)) > 0) 20 | { 21 | output.Write(buffer, 0, read); 22 | } 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Foundation/VerticalAlignment.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Vertical text alignment. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot 31 | { 32 | /// 33 | /// Specifies the vertical alignment. 34 | /// 35 | public enum VerticalAlignment 36 | { 37 | /// 38 | /// Aligned at the top. 39 | /// 40 | Top = -1, 41 | 42 | /// 43 | /// Aligned in the middle. 44 | /// 45 | Middle = 0, 46 | 47 | /// 48 | /// Aligned at the bottom. 49 | /// 50 | Bottom = 1 51 | } 52 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/LibraryDoc.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | 28 | namespace OxyPlot 29 | { 30 | /// 31 | /// The OxyPlot solution provides plotting functionality on many platforms. 32 | /// 33 | [System.Runtime.CompilerServices.CompilerGenerated] 34 | internal class LibraryDoc 35 | { 36 | } 37 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/MouseActions/MouseAction.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | namespace OxyPlot 28 | { 29 | public abstract class MouseAction : IMouseAction 30 | { 31 | protected IPlotControl pc; 32 | 33 | protected MouseAction(IPlotControl pc) 34 | { 35 | this.pc = pc; 36 | } 37 | 38 | public virtual void OnMouseDown(ScreenPoint pt, OxyMouseButton button, int clickCount, bool control, bool shift, bool alt) 39 | { 40 | } 41 | 42 | public virtual void OnMouseMove(ScreenPoint pt, bool control, bool shift, bool alt) 43 | { 44 | } 45 | 46 | public virtual void OnMouseUp() 47 | { 48 | } 49 | 50 | public virtual void OnMouseWheel(ScreenPoint pt, double delta, bool control, bool shift, bool alt) 51 | { 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | 28 | namespace OxyPlot 29 | { 30 | /// 31 | /// The OxyPlot namespace contains the platform independent classes of the library. 32 | /// 33 | [System.Runtime.CompilerServices.CompilerGenerated] 34 | internal class NamespaceDoc 35 | { 36 | } 37 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // http://oxyplot.codeplex.com, license: MIT 4 | // 5 | // -------------------------------------------------------------------------------------------------------------------- 6 | 7 | using System.Reflection; 8 | 9 | [assembly: AssemblyTitle("OxyPlot")] 10 | [assembly: AssemblyDescription("OxyPlot core library")] -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Reporting/NamespaceDoc.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | 28 | namespace OxyPlot.Reporting 29 | { 30 | using System.Runtime.CompilerServices; 31 | 32 | /// 33 | /// The OxyPlot.Reporting namespace contains a simple report model. 34 | /// 35 | [CompilerGenerated] 36 | internal class NamespaceDoc 37 | { 38 | } 39 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Reporting/Report/Drawing.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Drawing currently only supports SVG format. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Reporting 31 | { 32 | /// 33 | /// Drawing currently only supports SVG format. 34 | /// 35 | public class Drawing : Figure 36 | { 37 | public enum DrawingFormat { Svg } 38 | public DrawingFormat Format { get; set; } 39 | public string Content { get; set; } 40 | 41 | public override void WriteContent(IReportWriter w) 42 | { 43 | w.WriteDrawing(this); 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Reporting/Report/Image.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Represents an image report item. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Reporting 31 | { 32 | /// 33 | /// Represents an image report item. 34 | /// 35 | public class Image : Figure 36 | { 37 | /// 38 | /// Gets or sets Source. 39 | /// 40 | public string Source { get; set; } 41 | 42 | /// 43 | /// The write content. 44 | /// 45 | /// 46 | /// The w. 47 | /// 48 | public override void WriteContent(IReportWriter w) 49 | { 50 | w.WriteImage(this); 51 | } 52 | 53 | } 54 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Reporting/Report/Paragraph.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Represents a paragraph. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Reporting 31 | { 32 | /// 33 | /// Represents a paragraph. 34 | /// 35 | public class Paragraph : ReportItem 36 | { 37 | /// 38 | /// Gets or sets Text. 39 | /// 40 | public string Text { get; set; } 41 | 42 | /// 43 | /// The write content. 44 | /// 45 | /// 46 | /// The w. 47 | /// 48 | public override void WriteContent(IReportWriter w) 49 | { 50 | w.WriteParagraph(this); 51 | } 52 | 53 | } 54 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Reporting/Report/Plot.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // -------------------------------------------------------------------------------------------------------------------- 27 | namespace OxyPlot.Reporting 28 | { 29 | public class Plot : Figure 30 | { 31 | public PlotModel PlotModel { get; set; } 32 | public double Width { get; set; } 33 | public double Height { get; set; } 34 | 35 | public override void WriteContent(IReportWriter w) 36 | { 37 | w.WritePlot(this); 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Reporting/Report/ReportSection.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Represents a report section. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Reporting 31 | { 32 | /// 33 | /// Represents a report section. 34 | /// 35 | public class ReportSection : ReportItem 36 | { 37 | } 38 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Series/BarSeries/IStackableSeries.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Specifies a series that can be stacked. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Series 31 | { 32 | /// 33 | /// Defines properties for stacked series. 34 | /// 35 | public interface IStackableSeries 36 | { 37 | /// 38 | /// Gets a value indicating whether this series is stacked. 39 | /// 40 | bool IsStacked { get; } 41 | 42 | /// 43 | /// Gets the stack group. 44 | /// 45 | /// 46 | /// The stack group. 47 | /// 48 | string StackGroup { get; } 49 | } 50 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Series/BarSeries/LabelPlacement.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Placement of the labels. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Series 31 | { 32 | /// 33 | /// Placement of the labels. 34 | /// 35 | public enum LabelPlacement 36 | { 37 | /// 38 | /// Placed outside the bar. 39 | /// 40 | Outside, 41 | 42 | /// 43 | /// Placed inside the bar. 44 | /// 45 | Inside, 46 | 47 | /// 48 | /// Placed inside in the middle/center of the bar. 49 | /// 50 | Middle, 51 | 52 | /// 53 | /// Placed inside at the base of the bar. 54 | /// 55 | Base 56 | } 57 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/OxyPlot/OxyPlot/Series/LineLegendPosition.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // 3 | // The MIT License (MIT) 4 | // 5 | // Copyright (c) 2012 Oystein Bjorke 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a 8 | // copy of this software and associated documentation files (the 9 | // "Software"), to deal in the Software without restriction, including 10 | // without limitation the rights to use, copy, modify, merge, publish, 11 | // distribute, sublicense, and/or sell copies of the Software, and to 12 | // permit persons to whom the Software is furnished to do so, subject to 13 | // the following conditions: 14 | // 15 | // The above copyright notice and this permission notice shall be included 16 | // in all copies or substantial portions of the Software. 17 | // 18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 21 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 22 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25 | // 26 | // 27 | // Specifies the position of legends rendered on a line series. 28 | // 29 | // -------------------------------------------------------------------------------------------------------------------- 30 | namespace OxyPlot.Series 31 | { 32 | /// 33 | /// Specifies the position of legends rendered on a . 34 | /// 35 | public enum LineLegendPosition 36 | { 37 | /// 38 | /// Do not render legend on the line. 39 | /// 40 | None, 41 | 42 | /// 43 | /// Render legend at the start of the line. 44 | /// 45 | Start, 46 | 47 | /// 48 | /// Render legend at the end of the line. 49 | /// 50 | End 51 | } 52 | } -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/WinRing0/COPYRIGHT.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2007-2009 OpenLibSys.org. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions 5 | are met: 6 | 1. Redistributions of source code must retain the above copyright 7 | notice, this list of conditions and the following disclaimer. 8 | 2. Redistributions in binary form must reproduce the above copyright 9 | notice, this list of conditions and the following disclaimer in the 10 | documentation and/or other materials provided with the distribution. 11 | 12 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 13 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 14 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 15 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 16 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 17 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 18 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 19 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 20 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 21 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 22 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/WinRing0/MAKEFILE: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/WinRing0/OpenLibSys.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define VER_FILETYPE VFT_DRV 5 | #define VER_FILESUBTYPE VFT2_DRV_SYSTEM 6 | 7 | #define VER_FILEDESCRIPTION_STR "WinRing0" 8 | #define VER_INTERNALNAME_STR "WinRing0.sys" 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // 12 | // Version 13 | // 14 | 15 | VS_VERSION_INFO VERSIONINFO 16 | FILEVERSION 1, 2, 0, 5 17 | PRODUCTVERSION 1, 2, 0, 5 18 | FILEFLAGSMASK 0x3fL 19 | FILEFLAGS 0x0L 20 | FILEOS 0x40004L 21 | FILETYPE 0x2L 22 | FILESUBTYPE 0x0L 23 | BEGIN 24 | BLOCK "StringFileInfo" 25 | BEGIN 26 | BLOCK "041104b0" 27 | BEGIN 28 | VALUE "Comments", "The modified BSD license\0" 29 | VALUE "CompanyName", "OpenLibSys.org\0" 30 | VALUE "FileDescription", "WinRing0\0" 31 | VALUE "FileVersion", "1.2.0.5\0" 32 | VALUE "InternalName", "WinRing0.sys\0" 33 | VALUE "LegalCopyright", "Copyright (C) 2007-2008 OpenLibSys.org. All rights reserved.\0" 34 | VALUE "OriginalFilename", "WinRing0.sys\0" 35 | VALUE "ProductName", "WinRing0\0" 36 | VALUE "ProductVersion", "1.2.0.5\0" 37 | END 38 | END 39 | BLOCK "VarFileInfo" 40 | BEGIN 41 | VALUE "Translation", 0x411, 1200 42 | END 43 | END 44 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/External/WinRing0/SOURCES: -------------------------------------------------------------------------------- 1 | TARGETNAME=WinRing0 2 | TARGETPATH=lib 3 | TARGETTYPE=DRIVER 4 | 5 | INCLUDES=..\ 6 | 7 | SOURCES=OpenLibSys.c OpenLibSys.rc 8 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/GUI/AboutBox.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using System.ComponentModel; 14 | using System.Diagnostics; 15 | using System.Drawing; 16 | using System.Windows.Forms; 17 | 18 | namespace OpenHardwareMonitor.GUI { 19 | public partial class AboutBox : Form { 20 | public AboutBox() { 21 | InitializeComponent(); 22 | this.Font = SystemFonts.MessageBoxFont; 23 | this.label3.Text = "Version " + 24 | System.Windows.Forms.Application.ProductVersion; 25 | 26 | projectLinkLabel.Links.Remove(projectLinkLabel.Links[0]); 27 | projectLinkLabel.Links.Add(0, projectLinkLabel.Text.Length, 28 | "http://openhardwaremonitor.org"); 29 | 30 | licenseLinkLabel.Links.Remove(licenseLinkLabel.Links[0]); 31 | licenseLinkLabel.Links.Add(0, licenseLinkLabel.Text.Length, 32 | "License.html"); 33 | } 34 | 35 | private void linkLabel_LinkClicked(object sender, 36 | LinkLabelLinkClickedEventArgs e) { 37 | try { 38 | Process.Start(new ProcessStartInfo(e.Link.LinkData.ToString())); 39 | } catch { } 40 | } 41 | 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/GUI/NotifyIconAdv.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/GUI/NotifyIconAdv.cs -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/GUI/PortForm.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2012 Prince Samuel 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using System.ComponentModel; 14 | using System.Drawing; 15 | using System.Text; 16 | using System.Windows.Forms; 17 | using System.Net; 18 | using System.Net.Sockets; 19 | using System.Diagnostics; 20 | 21 | namespace OpenHardwareMonitor.GUI { 22 | public partial class PortForm : Form { 23 | private MainForm parent; 24 | private string localIP; 25 | public PortForm(MainForm m) { 26 | InitializeComponent(); 27 | parent = m; 28 | 29 | localIP = getLocalIP(); 30 | } 31 | 32 | private void portTextBox_TextChanged(object sender, EventArgs e) { 33 | 34 | } 35 | 36 | private string getLocalIP() { 37 | IPHostEntry host; 38 | string localIP = "?"; 39 | host = Dns.GetHostEntry(Dns.GetHostName()); 40 | foreach (IPAddress ip in host.AddressList) { 41 | if (ip.AddressFamily == AddressFamily.InterNetwork) { 42 | localIP = ip.ToString(); 43 | } 44 | } 45 | return localIP; 46 | } 47 | 48 | private void portNumericUpDn_ValueChanged(object sender, EventArgs e) { 49 | string url = "http://" + localIP + ":" + portNumericUpDn.Value + "/"; 50 | webServerLinkLabel.Text = url; 51 | webServerLinkLabel.Links.Remove(webServerLinkLabel.Links[0]); 52 | webServerLinkLabel.Links.Add(0, webServerLinkLabel.Text.Length, url); 53 | } 54 | 55 | private void portOKButton_Click(object sender, EventArgs e) { 56 | parent.Server.ListenerPort = (int)portNumericUpDn.Value; 57 | this.Close(); 58 | } 59 | 60 | private void portCancelButton_Click(object sender, EventArgs e) { 61 | this.Close(); 62 | } 63 | 64 | private void PortForm_Load(object sender, EventArgs e) { 65 | portNumericUpDn.Value = parent.Server.ListenerPort; 66 | portNumericUpDn_ValueChanged(null, null); 67 | } 68 | 69 | private void webServerLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { 70 | try { 71 | Process.Start(new ProcessStartInfo(e.Link.LinkData.ToString())); 72 | } catch { } 73 | } 74 | 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/GUI/UnitManager.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2012 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.GUI { 15 | 16 | public enum TemperatureUnit { 17 | Celsius = 0, 18 | Fahrenheit = 1 19 | } 20 | 21 | public class UnitManager { 22 | 23 | private PersistentSettings settings; 24 | private TemperatureUnit temperatureUnit; 25 | 26 | public UnitManager(PersistentSettings settings) { 27 | this.settings = settings; 28 | this.temperatureUnit = (TemperatureUnit)settings.GetValue("TemperatureUnit", 29 | (int)TemperatureUnit.Celsius); 30 | } 31 | 32 | public TemperatureUnit TemperatureUnit { 33 | get { return temperatureUnit; } 34 | set { 35 | this.temperatureUnit = value; 36 | this.settings.SetValue("TemperatureUnit", (int)temperatureUnit); 37 | } 38 | } 39 | 40 | public static float? CelsiusToFahrenheit(float? valueInCelsius) { 41 | return valueInCelsius * 1.8f + 32; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/GUI/UpdateVisitor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using OpenHardwareMonitor.Hardware; 14 | 15 | namespace OpenHardwareMonitor.GUI { 16 | public class UpdateVisitor : IVisitor { 17 | public void VisitComputer(IComputer computer) { 18 | computer.Traverse(this); 19 | } 20 | 21 | public void VisitHardware(IHardware hardware) { 22 | hardware.Update(); 23 | foreach (IHardware subHardware in hardware.SubHardware) 24 | subHardware.Accept(this); 25 | } 26 | 27 | public void VisitSensor(ISensor sensor) { } 28 | 29 | public void VisitParameter(IParameter parameter) { } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/GUI/UserOption.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using System.Windows.Forms; 14 | using OpenHardwareMonitor.Utilities; 15 | 16 | namespace OpenHardwareMonitor.GUI { 17 | public class UserOption { 18 | private string name; 19 | private bool value; 20 | private MenuItem menuItem; 21 | private event EventHandler changed; 22 | private PersistentSettings settings; 23 | 24 | public UserOption(string name, bool value, 25 | MenuItem menuItem, PersistentSettings settings) { 26 | 27 | this.settings = settings; 28 | this.name = name; 29 | if (name != null) 30 | this.value = settings.GetValue(name, value); 31 | else 32 | this.value = value; 33 | this.menuItem = menuItem; 34 | this.menuItem.Checked = this.value; 35 | this.menuItem.Click += new EventHandler(menuItem_Click); 36 | } 37 | 38 | private void menuItem_Click(object sender, EventArgs e) { 39 | this.Value = !this.Value; 40 | } 41 | 42 | public bool Value { 43 | get { return value; } 44 | set { 45 | if (this.value != value) { 46 | this.value = value; 47 | if (this.name != null) 48 | settings.SetValue(name, value); 49 | this.menuItem.Checked = value; 50 | if (changed != null) 51 | changed(this, null); 52 | } 53 | } 54 | } 55 | 56 | public event EventHandler Changed { 57 | add { 58 | changed += value; 59 | if (changed != null) 60 | changed(this, null); 61 | } 62 | remove { 63 | changed -= value; 64 | } 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/GUI/UserRadioGroup.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2011 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using System.Windows.Forms; 14 | using OpenHardwareMonitor.Utilities; 15 | 16 | namespace OpenHardwareMonitor.GUI { 17 | public class UserRadioGroup { 18 | private string name; 19 | private int value; 20 | private MenuItem[] menuItems; 21 | private event EventHandler changed; 22 | private PersistentSettings settings; 23 | 24 | public UserRadioGroup(string name, int value, 25 | MenuItem[] menuItems, PersistentSettings settings) { 26 | this.settings = settings; 27 | this.name = name; 28 | if (name != null) 29 | this.value = settings.GetValue(name, value); 30 | else 31 | this.value = value; 32 | this.menuItems = menuItems; 33 | this.value = Math.Max(Math.Min(this.value, menuItems.Length - 1), 0); 34 | 35 | for (int i = 0; i < this.menuItems.Length; i++) { 36 | this.menuItems[i].Checked = i == this.value; 37 | int index = i; 38 | this.menuItems[i].Click += delegate(object sender, EventArgs e) { 39 | this.Value = index; 40 | }; 41 | } 42 | } 43 | 44 | public int Value { 45 | get { return value; } 46 | set { 47 | if (this.value != value) { 48 | this.value = value; 49 | if (this.name != null) 50 | settings.SetValue(name, value); 51 | for (int i = 0; i < this.menuItems.Length; i++) 52 | this.menuItems[i].Checked = i == value; 53 | if (changed != null) 54 | changed(this, null); 55 | } 56 | } 57 | } 58 | 59 | public event EventHandler Changed { 60 | add { 61 | changed += value; 62 | if (changed != null) 63 | changed(this, null); 64 | } 65 | remove { 66 | changed -= value; 67 | } 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/ATI/ATIGroup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Hardware/ATI/ATIGroup.cs -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/CPU/AMDCPU.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware.CPU { 12 | 13 | internal abstract class AMDCPU : GenericCPU { 14 | 15 | private const byte PCI_BUS = 0; 16 | private const byte PCI_BASE_DEVICE = 0x18; 17 | private const byte DEVICE_VENDOR_ID_REGISTER = 0; 18 | private const ushort AMD_VENDOR_ID = 0x1022; 19 | 20 | public AMDCPU(int processorIndex, CPUID[][] cpuid, ISettings settings) 21 | : base(processorIndex, cpuid, settings) { } 22 | 23 | protected uint GetPciAddress(byte function, ushort deviceId) { 24 | 25 | // assemble the pci address 26 | uint address = Ring0.GetPciAddress(PCI_BUS, 27 | (byte)(PCI_BASE_DEVICE + processorIndex), function); 28 | 29 | // verify that we have the correct bus, device and function 30 | uint deviceVendor; 31 | if (!Ring0.ReadPciConfig( 32 | address, DEVICE_VENDOR_ID_REGISTER, out deviceVendor)) 33 | return Ring0.InvalidPciAddress; 34 | 35 | if (deviceVendor != (deviceId << 16 | AMD_VENDOR_ID)) 36 | return Ring0.InvalidPciAddress; 37 | 38 | return address; 39 | } 40 | 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/HDD/DriveAttributeValue.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2011-2012 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using System.Runtime.InteropServices; 14 | 15 | namespace OpenHardwareMonitor.Hardware.HDD { 16 | 17 | [StructLayout(LayoutKind.Sequential, Pack = 1)] 18 | internal struct DriveAttributeValue { 19 | public byte Identifier; 20 | public short StatusFlags; 21 | public byte AttrValue; 22 | public byte WorstValue; 23 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)] 24 | public byte[] RawValue; 25 | public byte Reserved; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/HDD/DriveThresholdValue.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2011-2012 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using System.Runtime.InteropServices; 14 | namespace OpenHardwareMonitor.Hardware.HDD { 15 | 16 | [StructLayout(LayoutKind.Sequential, Pack = 1)] 17 | internal struct DriveThresholdValue { 18 | public byte Identifier; 19 | public byte Threshold; 20 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)] 21 | public byte[] Unknown; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/HDD/HarddriveGroup.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2011 Michael Möller 8 | Copyright (C) 2010 Paul Werelds 9 | Copyright (C) 2011 Roland Reinl 10 | 11 | */ 12 | 13 | using System; 14 | using System.Collections.Generic; 15 | using System.Globalization; 16 | using System.Text; 17 | 18 | namespace OpenHardwareMonitor.Hardware.HDD { 19 | internal class HarddriveGroup : IGroup { 20 | 21 | private const int MAX_DRIVES = 32; 22 | 23 | private readonly List hardware = 24 | new List(); 25 | 26 | public HarddriveGroup(ISettings settings) { 27 | int p = (int)Environment.OSVersion.Platform; 28 | if (p == 4 || p == 128) return; 29 | 30 | ISmart smart = new WindowsSmart(); 31 | 32 | for (int drive = 0; drive < MAX_DRIVES; drive++) { 33 | AbstractHarddrive instance = 34 | AbstractHarddrive.CreateInstance(smart, drive, settings); 35 | if (instance != null) { 36 | this.hardware.Add(instance); 37 | } 38 | } 39 | } 40 | 41 | public IHardware[] Hardware { 42 | get { 43 | return hardware.ToArray(); 44 | } 45 | } 46 | 47 | public string GetReport() { 48 | return null; 49 | } 50 | 51 | public void Close() { 52 | foreach (AbstractHarddrive hdd in hardware) 53 | hdd.Close(); 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/HDD/ISmart.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2011-2012 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | 14 | 15 | namespace OpenHardwareMonitor.Hardware.HDD { 16 | 17 | internal interface ISmart { 18 | 19 | IntPtr OpenDrive(int driveNumber); 20 | 21 | bool EnableSmart(IntPtr handle, int driveNumber); 22 | 23 | DriveAttributeValue[] ReadSmartData(IntPtr handle, int driveNumber); 24 | 25 | DriveThresholdValue[] ReadSmartThresholds(IntPtr handle, int driveNumber); 26 | 27 | bool ReadNameAndFirmwareRevision(IntPtr handle, int driveNumber, 28 | out string name, out string firmwareRevision); 29 | 30 | void CloseHandle(IntPtr handle); 31 | 32 | IntPtr InvalidHandle { get; } 33 | 34 | string[] GetLogicalDrives(int driveIndex); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/HDD/NamePrefixAttribute.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2011 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.Hardware.HDD { 15 | 16 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] 17 | internal class NamePrefixAttribute : Attribute { 18 | 19 | public NamePrefixAttribute(string namePrefix) { 20 | Prefix = namePrefix; 21 | } 22 | 23 | public string Prefix { get; private set; } 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/HDD/RequireSmartAttribute.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2011 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.Hardware.HDD { 15 | 16 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] 17 | internal class RequireSmartAttribute : Attribute { 18 | 19 | public RequireSmartAttribute(byte attributeId) { 20 | AttributeId = attributeId; 21 | } 22 | 23 | public byte AttributeId { get; private set; } 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/HDD/SSDPlextor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2011-2012 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware.HDD { 12 | using System.Collections.Generic; 13 | using OpenHardwareMonitor.Collections; 14 | 15 | [NamePrefix("PLEXTOR")] 16 | internal class SSDPlextor : AbstractHarddrive { 17 | 18 | private static readonly IEnumerable smartAttributes = 19 | new List { 20 | new SmartAttribute(0x09, SmartNames.PowerOnHours, RawToInt), 21 | new SmartAttribute(0x0C, SmartNames.PowerCycleCount, RawToInt), 22 | new SmartAttribute(0xF1, SmartNames.HostWrites, RawToGb, SensorType.Data, 23 | 0, SmartNames.HostWrites), 24 | new SmartAttribute(0xF2, SmartNames.HostReads, RawToGb, SensorType.Data, 25 | 1, SmartNames.HostReads), 26 | }; 27 | 28 | public SSDPlextor(ISmart smart, string name, string firmwareRevision, 29 | int index, ISettings settings) 30 | : base(smart, name, firmwareRevision, index, smartAttributes, settings) {} 31 | 32 | private static float RawToGb(byte[] rawvalue, byte value, 33 | IReadOnlyArray parameters) 34 | { 35 | return RawToInt(rawvalue, value, parameters) / 32; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/HexStringArray.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2011 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.Hardware { 15 | internal static class HexStringArray { 16 | 17 | public static byte Read(string s, ushort address) { 18 | string[] lines = s.Split(new[] { '\r', '\n' }, 19 | StringSplitOptions.RemoveEmptyEntries); 20 | 21 | foreach (string line in lines) { 22 | string[] array = line.Split(new[] { ' ', '\t' }, 23 | StringSplitOptions.RemoveEmptyEntries); 24 | if (array.Length == 0) 25 | continue; 26 | if (Convert.ToInt32(array[0], 16) == (address & 0xFFF0)) 27 | return Convert.ToByte(array[(address & 0x0F) + 1], 16); 28 | } 29 | 30 | throw new ArgumentException(); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/IComputer.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware { 12 | 13 | public delegate void HardwareEventHandler(IHardware hardware); 14 | 15 | public interface IComputer : IElement { 16 | 17 | IHardware[] Hardware { get; } 18 | 19 | bool MainboardEnabled { get; } 20 | bool CPUEnabled { get; } 21 | bool RAMEnabled { get; } 22 | bool GPUEnabled { get; } 23 | bool FanControllerEnabled { get; } 24 | bool HDDEnabled { get; } 25 | 26 | 27 | string GetReport(); 28 | 29 | event HardwareEventHandler HardwareAdded; 30 | event HardwareEventHandler HardwareRemoved; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/IControl.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2010-2014 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware { 12 | 13 | public enum ControlMode { 14 | Undefined, 15 | Software, 16 | Default 17 | } 18 | 19 | public interface IControl { 20 | 21 | Identifier Identifier { get; } 22 | 23 | ControlMode ControlMode { get; } 24 | 25 | float SoftwareValue { get; } 26 | 27 | void SetDefault(); 28 | 29 | float MinSoftwareValue { get; } 30 | float MaxSoftwareValue { get; } 31 | 32 | void SetSoftware(float value); 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/IElement.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware { 12 | 13 | public interface IElement { 14 | // accept visitor on this element 15 | void Accept(IVisitor visitor); 16 | 17 | // call accept(visitor) on all child elements (called only from visitors) 18 | void Traverse(IVisitor visitor); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/IGroup.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware { 12 | 13 | internal interface IGroup { 14 | 15 | IHardware[] Hardware { get; } 16 | 17 | string GetReport(); 18 | 19 | void Close(); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/IHardware.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2011 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware { 12 | 13 | public delegate void SensorEventHandler(ISensor sensor); 14 | 15 | public enum HardwareType { 16 | Mainboard, 17 | SuperIO, 18 | CPU, 19 | RAM, 20 | GpuNvidia, 21 | GpuAti, 22 | TBalancer, 23 | Heatmaster, 24 | HDD 25 | } 26 | 27 | public interface IHardware : IElement { 28 | 29 | string Name { get; set; } 30 | Identifier Identifier { get; } 31 | 32 | HardwareType HardwareType { get; } 33 | 34 | string GetReport(); 35 | 36 | void Update(); 37 | 38 | IHardware[] SubHardware { get; } 39 | 40 | IHardware Parent { get; } 41 | 42 | ISensor[] Sensors { get; } 43 | 44 | event SensorEventHandler SensorAdded; 45 | event SensorEventHandler SensorRemoved; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/IOControlCode.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2010 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Runtime.InteropServices; 13 | 14 | namespace OpenHardwareMonitor.Hardware { 15 | 16 | [StructLayout(LayoutKind.Sequential, Pack = 1)] 17 | internal struct IOControlCode { 18 | private uint code; 19 | 20 | public IOControlCode(uint deviceType, uint function, Access access) : 21 | this(deviceType, function, Method.Buffered, access) { } 22 | 23 | public IOControlCode(uint deviceType, uint function, Method method, 24 | Access access) 25 | { 26 | code = (deviceType << 16) | 27 | ((uint)access << 14) | (function << 2) | (uint)method; 28 | } 29 | 30 | public enum Method : uint { 31 | Buffered = 0, 32 | InDirect = 1, 33 | OutDirect = 2, 34 | Neither = 3 35 | } 36 | 37 | public enum Access : uint { 38 | Any = 0, 39 | Read = 1, 40 | Write = 2 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/IParameter.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware { 12 | 13 | public interface IParameter : IElement { 14 | 15 | ISensor Sensor { get; } 16 | Identifier Identifier { get; } 17 | 18 | string Name { get; } 19 | string Description { get; } 20 | float Value { get; set; } 21 | float DefaultValue { get; } 22 | bool IsDefault { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/ISensor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2012 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | using OpenHardwareMonitor.Collections; 14 | 15 | namespace OpenHardwareMonitor.Hardware { 16 | 17 | public enum SensorType { 18 | Voltage, // V 19 | Clock, // MHz 20 | Temperature, // °C 21 | Load, // % 22 | Fan, // RPM 23 | Flow, // L/h 24 | Control, // % 25 | Level, // % 26 | Factor, // 1 27 | Power, // W 28 | Data, // GB = 2^30 Bytes 29 | SmallData, // MB = 2^20 Bytes 30 | } 31 | 32 | public struct SensorValue { 33 | private readonly float value; 34 | private readonly DateTime time; 35 | 36 | public SensorValue(float value, DateTime time) { 37 | this.value = value; 38 | this.time = time; 39 | } 40 | 41 | public float Value { get { return value; } } 42 | public DateTime Time { get { return time; } } 43 | } 44 | 45 | public interface ISensor : IElement { 46 | 47 | IHardware Hardware { get; } 48 | 49 | SensorType SensorType { get; } 50 | Identifier Identifier { get; } 51 | 52 | string Name { get; set; } 53 | int Index { get; } 54 | 55 | bool IsDefaultHidden { get; } 56 | 57 | IReadOnlyArray Parameters { get; } 58 | 59 | float? Value { get; } 60 | float? Min { get; } 61 | float? Max { get; } 62 | 63 | void ResetMin(); 64 | void ResetMax(); 65 | 66 | IEnumerable Values { get; } 67 | 68 | IControl Control { get; } 69 | } 70 | 71 | } 72 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/ISettings.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware { 12 | public interface ISettings { 13 | 14 | bool Contains(string name); 15 | 16 | void SetValue(string name, string value); 17 | 18 | string GetValue(string name, string value); 19 | 20 | void Remove(string name); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/IVisitor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware { 12 | 13 | public interface IVisitor { 14 | void VisitComputer(IComputer computer); 15 | void VisitHardware(IHardware hardware); 16 | void VisitSensor(ISensor sensor); 17 | void VisitParameter(IParameter parameter); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/LPC/ISuperIO.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2011 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware.LPC { 12 | internal interface ISuperIO { 13 | 14 | Chip Chip { get; } 15 | 16 | // get voltage, temperature, fan and control channel values 17 | float?[] Voltages { get; } 18 | float?[] Temperatures { get; } 19 | float?[] Fans { get; } 20 | float?[] Controls { get; } 21 | 22 | // set control value, null = auto 23 | void SetControl(int index, byte? value); 24 | 25 | // read and write GPIO 26 | byte? ReadGPIO(int index); 27 | void WriteGPIO(int index, byte value); 28 | 29 | string GetReport(); 30 | 31 | void Update(); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/Mainboard/MainboardGroup.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware.Mainboard { 12 | internal class MainboardGroup : IGroup { 13 | 14 | private readonly Mainboard[] mainboards; 15 | 16 | public MainboardGroup(SMBIOS smbios, ISettings settings) { 17 | mainboards = new Mainboard[1]; 18 | mainboards[0] = new Mainboard(smbios, settings); 19 | } 20 | 21 | public void Close() { 22 | foreach (Mainboard mainboard in mainboards) 23 | mainboard.Close(); 24 | } 25 | 26 | public string GetReport() { 27 | return null; 28 | } 29 | 30 | public IHardware[] Hardware { 31 | get { return mainboards; } 32 | 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/Mainboard/Manufacturer.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware.Mainboard { 12 | 13 | internal enum Manufacturer { 14 | Alienware, 15 | Apple, 16 | ASRock, 17 | ASUS, 18 | Dell, 19 | DFI, 20 | ECS, 21 | EPoX, 22 | EVGA, 23 | FIC, 24 | Fujitsu, 25 | Gigabyte, 26 | HP, 27 | IBM, 28 | Intel, 29 | Lenovo, 30 | MSI, 31 | Shuttle, 32 | Supermicro, 33 | Toshiba, 34 | XFX, 35 | Unknown 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/Mainboard/Model.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2012 Michael Möller 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.Hardware.Mainboard { 12 | 13 | internal enum Model { 14 | // ASRock 15 | _880GMH_USB3, 16 | AOD790GX_128M, 17 | P55_Deluxe, 18 | 19 | // ASUS 20 | Crosshair_III_Formula, 21 | M2N_SLI_DELUXE, 22 | M4A79XTD_EVO, 23 | P5W_DH_Deluxe, 24 | P6T, 25 | P6X58D_E, 26 | P8P67, 27 | P8P67_EVO, 28 | P8P67_PRO, 29 | P8P67_M_PRO, 30 | P8Z77_V, 31 | P9X79, 32 | Rampage_Extreme, 33 | Rampage_II_GENE, 34 | 35 | // DFI 36 | LP_BI_P45_T2RS_Elite, 37 | LP_DK_P55_T3eH9, 38 | 39 | // ECS 40 | A890GXM_A, 41 | 42 | // EVGA 43 | X58_SLI_Classified, 44 | 45 | // Gigabyte 46 | _965P_S3, 47 | EP45_DS3R, 48 | EP45_UD3R, 49 | EX58_EXTREME, 50 | EX58_UD3R, 51 | G41M_Combo, 52 | G41MT_S2, 53 | G41MT_S2P, 54 | GA_970A_UD3, 55 | GA_MA770T_UD3, 56 | GA_MA770T_UD3P, 57 | GA_MA785GM_US2H, 58 | GA_MA785GMT_UD2H, 59 | GA_MA78LM_S2H, 60 | GA_MA790X_UD3P, 61 | H55_USB3, 62 | H55N_USB3, 63 | H61M_DS2_REV_1_2, 64 | H61M_USB3_B3_REV_2_0, 65 | H67A_UD3H_B3, 66 | H67A_USB3_B3, 67 | P35_DS3, 68 | P35_DS3L, 69 | P55_UD4, 70 | P55A_UD3, 71 | P55M_UD4, 72 | P67A_UD3_B3, 73 | P67A_UD3R_B3, 74 | P67A_UD4_B3, 75 | P8Z68_V_PRO, 76 | X38_DS5, 77 | X58A_UD3R, 78 | Z68A_D3H_B3, 79 | Z68AP_D3, 80 | Z68X_UD3H_B3, 81 | Z68X_UD7_B3, 82 | 83 | // Shuttle 84 | FH67, 85 | 86 | // Unknown 87 | Unknown 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/OperatingSystem.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2012 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Diagnostics; 13 | using System.Runtime.InteropServices; 14 | 15 | namespace OpenHardwareMonitor.Hardware { 16 | internal static class OperatingSystem { 17 | 18 | public static bool Is64BitOperatingSystem() { 19 | if (IntPtr.Size == 8) 20 | return true; 21 | 22 | try { 23 | bool wow64Process; 24 | bool result = IsWow64Process( 25 | Process.GetCurrentProcess().Handle, out wow64Process); 26 | 27 | return result && wow64Process; 28 | } catch (EntryPointNotFoundException) { 29 | return false; 30 | } 31 | } 32 | 33 | [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] 34 | [return: MarshalAs(UnmanagedType.Bool)] 35 | private static extern bool IsWow64Process(IntPtr hProcess, 36 | out bool wow64Process); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/PInvokeDelegateFactory.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Hardware/PInvokeDelegateFactory.cs -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/RAM/RAMGroup.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2012-2013 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | 13 | namespace OpenHardwareMonitor.Hardware.RAM { 14 | internal class RAMGroup : IGroup { 15 | 16 | private Hardware[] hardware; 17 | 18 | public RAMGroup(SMBIOS smbios, ISettings settings) { 19 | 20 | // No implementation for RAM on Unix systems 21 | int p = (int)Environment.OSVersion.Platform; 22 | if ((p == 4) || (p == 128)) { 23 | hardware = new Hardware[0]; 24 | return; 25 | } 26 | 27 | hardware = new Hardware[] { new GenericRAM("Generic Memory", settings) }; 28 | } 29 | 30 | public string GetReport() { 31 | return null; 32 | } 33 | 34 | public IHardware[] Hardware { 35 | get { 36 | return hardware; 37 | } 38 | } 39 | 40 | public void Close() { 41 | foreach (Hardware ram in hardware) 42 | ram.Close(); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/SensorVisitor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Collections.Generic; 13 | 14 | namespace OpenHardwareMonitor.Hardware { 15 | 16 | public class SensorVisitor : IVisitor { 17 | private readonly SensorEventHandler handler; 18 | 19 | public SensorVisitor(SensorEventHandler handler) { 20 | if (handler == null) 21 | throw new ArgumentNullException("handler"); 22 | this.handler = handler; 23 | } 24 | 25 | public void VisitComputer(IComputer computer) { 26 | if (computer == null) 27 | throw new ArgumentNullException("computer"); 28 | computer.Traverse(this); 29 | } 30 | 31 | public void VisitHardware(IHardware hardware) { 32 | if (hardware == null) 33 | throw new ArgumentNullException("hardware"); 34 | hardware.Traverse(this); 35 | } 36 | 37 | public void VisitSensor(ISensor sensor) { 38 | handler(sensor); 39 | } 40 | 41 | public void VisitParameter(IParameter parameter) { } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/TBalancer/TBalancerGroup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Hardware/TBalancer/TBalancerGroup.cs -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/ThreadAffinity.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2010-2014 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Runtime.InteropServices; 13 | 14 | namespace OpenHardwareMonitor.Hardware { 15 | 16 | internal static class ThreadAffinity { 17 | 18 | public static ulong Set(ulong mask) { 19 | if (mask == 0) 20 | return 0; 21 | 22 | int p = (int)Environment.OSVersion.Platform; 23 | if ((p == 4) || (p == 128)) { // Unix 24 | ulong result = 0; 25 | if (NativeMethods.sched_getaffinity(0, (IntPtr)Marshal.SizeOf(result), 26 | ref result) != 0) 27 | return 0; 28 | if (NativeMethods.sched_setaffinity(0, (IntPtr)Marshal.SizeOf(mask), 29 | ref mask) != 0) 30 | return 0; 31 | return result; 32 | } else { // Windows 33 | UIntPtr uIntPtrMask; 34 | try { 35 | uIntPtrMask = (UIntPtr)mask; 36 | } catch (OverflowException) { 37 | throw new ArgumentOutOfRangeException("mask"); 38 | } 39 | return (ulong)NativeMethods.SetThreadAffinityMask( 40 | NativeMethods.GetCurrentThread(), uIntPtrMask); 41 | } 42 | } 43 | 44 | private static class NativeMethods { 45 | private const string KERNEL = "kernel32.dll"; 46 | 47 | [DllImport(KERNEL, CallingConvention = CallingConvention.Winapi)] 48 | public static extern UIntPtr 49 | SetThreadAffinityMask(IntPtr handle, UIntPtr mask); 50 | 51 | [DllImport(KERNEL, CallingConvention = CallingConvention.Winapi)] 52 | public static extern IntPtr GetCurrentThread(); 53 | 54 | private const string LIBC = "libc"; 55 | 56 | [DllImport(LIBC)] 57 | public static extern int sched_getaffinity(int pid, IntPtr maskSize, 58 | ref ulong mask); 59 | 60 | [DllImport(LIBC)] 61 | public static extern int sched_setaffinity(int pid, IntPtr maskSize, 62 | ref ulong mask); 63 | } 64 | } 65 | } 66 | 67 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/WinRing0.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Hardware/WinRing0.sys -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Hardware/WinRing0x64.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Hardware/WinRing0x64.sys -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/OpenHardwareMonitor.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHardwareMonitorLib", "OpenHardwareMonitorLib.csproj", "{B0397530-545A-471D-BB74-027AE456DF1A}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHardwareMonitor", "OpenHardwareMonitor.csproj", "{F5E0C1F7-9E9B-46F2-AC88-8C9C1C923880}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {B0397530-545A-471D-BB74-027AE456DF1A} = {B0397530-545A-471D-BB74-027AE456DF1A} 9 | EndProjectSection 10 | EndProject 11 | Global 12 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 13 | Debug|Any CPU = Debug|Any CPU 14 | Release|Any CPU = Release|Any CPU 15 | EndGlobalSection 16 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 17 | {B0397530-545A-471D-BB74-027AE456DF1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 18 | {B0397530-545A-471D-BB74-027AE456DF1A}.Debug|Any CPU.Build.0 = Debug|Any CPU 19 | {B0397530-545A-471D-BB74-027AE456DF1A}.Release|Any CPU.ActiveCfg = Release|Any CPU 20 | {B0397530-545A-471D-BB74-027AE456DF1A}.Release|Any CPU.Build.0 = Release|Any CPU 21 | {F5E0C1F7-9E9B-46F2-AC88-8C9C1C923880}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 22 | {F5E0C1F7-9E9B-46F2-AC88-8C9C1C923880}.Debug|Any CPU.Build.0 = Debug|Any CPU 23 | {F5E0C1F7-9E9B-46F2-AC88-8C9C1C923880}.Release|Any CPU.ActiveCfg = Release|Any CPU 24 | {F5E0C1F7-9E9B-46F2-AC88-8C9C1C923880}.Release|Any CPU.Build.0 = Release|Any CPU 25 | EndGlobalSection 26 | GlobalSection(SolutionProperties) = preSolution 27 | HideSolutionNode = FALSE 28 | EndGlobalSection 29 | GlobalSection(MonoDevelopProperties) = preSolution 30 | StartupItem = OpenHardwareMonitor.csproj 31 | Policies = $0 32 | $0.DotNetNamingPolicy = $1 33 | $1.DirectoryNamespaceAssociation = None 34 | $1.ResourceNamePolicy = FileFormatDefault 35 | $0.TextStylePolicy = $2 36 | $2.FileWidth = 120 37 | $2.TabWidth = 2 38 | $2.NoTabsAfterNonTabs = True 39 | $2.inheritsSet = VisualStudio 40 | $2.inheritsScope = text/plain 41 | $2.scope = text/plain 42 | $0.TextStylePolicy = $3 43 | $3.inheritsSet = null 44 | $3.scope = text/x-csharp 45 | $0.CSharpFormattingPolicy = $4 46 | $4.inheritsSet = Mono 47 | $4.inheritsScope = text/x-csharp 48 | $4.scope = text/x-csharp 49 | EndGlobalSection 50 | EndGlobal 51 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2017 Michael Möller 8 | 9 | */ 10 | 11 | using System; 12 | using System.Reflection; 13 | using System.Runtime.CompilerServices; 14 | using System.Runtime.InteropServices; 15 | 16 | [assembly: AssemblyTitle("Open Hardware Monitor Library. Originally created by Michael Möller. Forked and modified by Invise Labs.")] 17 | [assembly: AssemblyDescription("Open Hardware Monitor Library. Originally created by Michael Möller. Forked and modified by Invise Labs.")] 18 | [assembly: AssemblyConfiguration("")] 19 | [assembly: AssemblyCompany("Invise Labs")] 20 | [assembly: AssemblyProduct("Open Hardware Monitor Library")] 21 | [assembly: AssemblyCopyright("Copyright © Invise Labs")] 22 | [assembly: AssemblyTrademark("")] 23 | [assembly: AssemblyCulture("")] 24 | 25 | [assembly: ComVisible(false)] 26 | [assembly: AssemblyVersion("0.8.0.8")] 27 | [assembly: AssemblyFileVersion("0.8.0.8")] 28 | 29 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_75_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_glass_75_ffffff_1x400.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-bg_inset-soft_95_fef1ec_1x100.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/css/custom-theme/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/jquery.treeTable.css: -------------------------------------------------------------------------------- 1 | /* jQuery treeTable stylesheet 2 | * 3 | * This file contains styles that are used to display the tree table. Each tree 4 | * table is assigned the +treeTable+ class. 5 | * ========================================================================= */ 6 | 7 | /* jquery.treeTable.collapsible 8 | * ------------------------------------------------------------------------- */ 9 | .treeTable tr td .expander { 10 | background-position: left center; 11 | background-repeat: no-repeat; 12 | cursor: pointer; 13 | padding: 0; 14 | zoom: 1; /* IE7 Hack */ 15 | } 16 | 17 | .treeTable tr.collapsed td .expander { 18 | background-image: url(../images/toggle-expand-dark.png); 19 | } 20 | 21 | .treeTable tr.expanded td .expander { 22 | background-image: url(../images/toggle-collapse-dark.png); 23 | } 24 | 25 | /* jquery.treeTable.sortable 26 | * ------------------------------------------------------------------------- */ 27 | .treeTable tr.selected, .treeTable tr.accept { 28 | background-color: #3875d7; 29 | color: #fff; 30 | } 31 | 32 | .treeTable tr.collapsed.selected td .expander, .treeTable tr.collapsed.accept td .expander { 33 | background-image: url(../images/toggle-expand-light.png); 34 | } 35 | 36 | .treeTable tr.expanded.selected td .expander, .treeTable tr.expanded.accept td .expander { 37 | background-image: url(../images/toggle-collapse-light.png); 38 | } 39 | 40 | .treeTable .ui-draggable-dragging { 41 | color: #000; 42 | z-index: 1; 43 | } 44 | 45 | /* Layout helper taken from jQuery UI. This way I don't have to require the 46 | * full jQuery UI CSS to be loaded. */ 47 | .ui-helper-hidden { display: none; } 48 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/css/ohm_web.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-size: 62.5%; 3 | } 4 | 5 | table 6 | { 7 | border-collapse:collapse; 8 | } 9 | 10 | table, tr 11 | { 12 | border: 1px solid #F0F0F0; 13 | } 14 | 15 | td 16 | { 17 | padding-right:10px; 18 | } 19 | 20 | /* Site 21 | -------------------------------- */ 22 | 23 | body { 24 | font-family: "Trebuchet MS", "Helvetica", "Arial", "Verdana", "sans-serif"; 25 | } 26 | 27 | div.header { 28 | padding:12px; 29 | font-family: "Trebuchet MS", "Arial", "Helvetica", "Verdana", "sans-serif"; 30 | } 31 | 32 | div.main { 33 | clear:both; 34 | padding:12px; 35 | font-family: "Trebuchet MS", "Arial", "Helvetica", "Verdana", "sans-serif"; 36 | /*font-size: 1.3em;*/ 37 | /*line-height: 1.4em;*/ 38 | } 39 | 40 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/images/toggle-collapse-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/images/toggle-collapse-dark.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/images/toggle-collapse-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/images/toggle-collapse-light.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/images/toggle-expand-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/images/toggle-expand-dark.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/images/toggle-expand-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/images/toggle-expand-light.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/Web/images/transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/Web/images/transparent.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | true 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/ati.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/ati.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/barback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/barback.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/barblue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/barblue.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/bigng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/bigng.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/chip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/chip.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/clock.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/computer.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/control.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/cpu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/cpu.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/data.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/factor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/factor.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/fan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/fan.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/flow.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/gadget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/gadget.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/gadget.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/gadget.xcf -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/hdd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/hdd.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/icon.ico -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/icon.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/icon.xcf -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/level.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/load.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/mainboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/mainboard.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/nvidia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/nvidia.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/power.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/power.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/ram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/ram.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/smallicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/smallicon.ico -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/temperature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/temperature.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Resources/voltage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Resources/voltage.png -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/Utilities/EmbeddedResources.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/Utilities/EmbeddedResources.cs -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/WMI/Hardware.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Paul Werelds 8 | 9 | */ 10 | 11 | 12 | using System.Management.Instrumentation; 13 | using OpenHardwareMonitor.Hardware; 14 | 15 | namespace OpenHardwareMonitor.WMI { 16 | [InstrumentationClass(InstrumentationType.Instance)] 17 | public class Hardware : IWmiObject { 18 | #region WMI Exposed 19 | 20 | public string HardwareType { get; private set; } 21 | public string Identifier { get; private set; } 22 | public string Name { get; private set; } 23 | public string Parent { get; private set; } 24 | 25 | #endregion 26 | 27 | public Hardware(IHardware hardware) { 28 | Name = hardware.Name; 29 | Identifier = hardware.Identifier.ToString(); 30 | HardwareType = hardware.HardwareType.ToString(); 31 | Parent = (hardware.Parent != null) 32 | ? hardware.Parent.Identifier.ToString() 33 | : ""; 34 | } 35 | 36 | public void Update() { } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/WMI/IWmiObject.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Paul Werelds 8 | 9 | */ 10 | 11 | namespace OpenHardwareMonitor.WMI { 12 | interface IWmiObject { 13 | // Both of these get exposed to WMI 14 | string Name { get; } 15 | string Identifier { get; } 16 | 17 | // Not exposed. 18 | void Update(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/WMI/Sensor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | This Source Code Form is subject to the terms of the Mozilla Public 4 | License, v. 2.0. If a copy of the MPL was not distributed with this 5 | file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | Copyright (C) 2009-2010 Paul Werelds 8 | 9 | */ 10 | 11 | using System.Management.Instrumentation; 12 | using OpenHardwareMonitor.Hardware; 13 | 14 | namespace OpenHardwareMonitor.WMI { 15 | [InstrumentationClass(InstrumentationType.Instance)] 16 | public class Sensor : IWmiObject { 17 | private ISensor sensor; 18 | 19 | #region WMI Exposed 20 | 21 | public string SensorType { get; private set; } 22 | public string Identifier { get; private set; } 23 | public string Parent { get; private set; } 24 | public string Name { get; private set; } 25 | public float Value { get; private set; } 26 | public float Min { get; private set; } 27 | public float Max { get; private set; } 28 | public int Index { get; private set; } 29 | 30 | #endregion 31 | 32 | public Sensor(ISensor sensor) { 33 | Name = sensor.Name; 34 | Index = sensor.Index; 35 | 36 | SensorType = sensor.SensorType.ToString(); 37 | Identifier = sensor.Identifier.ToString(); 38 | Parent = sensor.Hardware.Identifier.ToString(); 39 | 40 | this.sensor = sensor; 41 | } 42 | 43 | public void Update() { 44 | Value = (sensor.Value != null) ? (float)sensor.Value : 0; 45 | 46 | if (sensor.Min != null) 47 | Min = (float)sensor.Min; 48 | 49 | if (sensor.Max != null) 50 | Max = (float)sensor.Max; 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /OpenHardwareMonitorLib/WMI/WmiProvider.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/OpenHardwareMonitorLib/WMI/WmiProvider.cs -------------------------------------------------------------------------------- /Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("TempProber (Alpha Build)")] 9 | [assembly: AssemblyDescription("TempProber command line tool requires Open Hardware Monitor Library.")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Invise Labs")] 12 | [assembly: AssemblyProduct("TempProber (Alpha Build)")] 13 | [assembly: AssemblyCopyright("Copyright © 2018 Invise Labs")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6693080e-3f2b-4f05-aa54-fcd43d34b108")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("0.3.0.1")] 36 | [assembly: AssemblyFileVersion("0.3.0.1")] 37 | -------------------------------------------------------------------------------- /READY/HOW-TO.txt: -------------------------------------------------------------------------------- 1 | 1. Upload TempProber.exe and ohm.dll to your server. 2 | --> Don't worry about bandwidth, even if you have 2k RMM connected agents, that's only 2k downloads and then all workstations have the file. 3 | 2. Modify TempProberPayload.cmd with your direct URLs to the two files you uploaded. Double-check to make sure the URLs are correct and you didn't miss anything. Try visiting the urls in a web browser. 4 | 3. Make sure the script works locally. Create an empty folder and place the payload script inside it. NO OTHER FILES. Open Admin CMD and cd to that directory. Execute the script. It should dl the files, place them in the IT folder, and then output temps. If you get an output of temps, you're ready to upload to your dashbaord and test. 5 | --> If you did not get an output on temps in command prompt, you screwed up somehow. Start over. 6 | 4. Deploy to several workstations as a test before deploying to all agents on your dashboard. We've tested this extensively, but don't take my word, test a small group before pushing to the masses. -------------------------------------------------------------------------------- /READY/TempProber.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/READY/TempProber.exe -------------------------------------------------------------------------------- /READY/TempProberPayload.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | if exist "C:\IT\TempProber.exe" ( 3 | cd "C:\IT" 4 | TempProber.exe 5 | ) else ( 6 | powershell -Command "(New-Object Net.WebClient).DownloadFile('https://YOURSERVER.NET/dl/TempProber/TempProber.exe', 'TempProber.exe')" 7 | 8 | powershell -Command "(New-Object Net.WebClient).DownloadFile('https://YOURSERVER.NET/dl/TempProber/ohm.dll', 'ohm.dll')" 9 | 10 | md "C:\IT" > null 11 | move TempProber.exe "C:\IT\TempProber.exe" /y > null 12 | move ohm.dll "C:\IT\ohm.dll" /y > null 13 | cd "C:\IT" 14 | TempProber.exe 15 | ) -------------------------------------------------------------------------------- /READY/ohm.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MikeLierman/TempProber/d89ad4fd48d49c2263ab07daab677b2955e38514/READY/ohm.dll -------------------------------------------------------------------------------- /TempProber.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27004.2009 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TempProber", "TempProber.csproj", "{6693080E-3F2B-4F05-AA54-FCD43D34B108}" 7 | ProjectSection(ProjectDependencies) = postProject 8 | {B0397530-545A-471D-BB74-027AE456DF1A} = {B0397530-545A-471D-BB74-027AE456DF1A} 9 | EndProjectSection 10 | EndProject 11 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenHardwareMonitorLib", "OpenHardwareMonitorLib\OpenHardwareMonitorLib.csproj", "{B0397530-545A-471D-BB74-027AE456DF1A}" 12 | EndProject 13 | Global 14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 15 | Debug|Any CPU = Debug|Any CPU 16 | Release|Any CPU = Release|Any CPU 17 | EndGlobalSection 18 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 19 | {6693080E-3F2B-4F05-AA54-FCD43D34B108}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 20 | {6693080E-3F2B-4F05-AA54-FCD43D34B108}.Debug|Any CPU.Build.0 = Debug|Any CPU 21 | {6693080E-3F2B-4F05-AA54-FCD43D34B108}.Release|Any CPU.ActiveCfg = Release|Any CPU 22 | {6693080E-3F2B-4F05-AA54-FCD43D34B108}.Release|Any CPU.Build.0 = Release|Any CPU 23 | {B0397530-545A-471D-BB74-027AE456DF1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 24 | {B0397530-545A-471D-BB74-027AE456DF1A}.Debug|Any CPU.Build.0 = Debug|Any CPU 25 | {B0397530-545A-471D-BB74-027AE456DF1A}.Release|Any CPU.ActiveCfg = Release|Any CPU 26 | {B0397530-545A-471D-BB74-027AE456DF1A}.Release|Any CPU.Build.0 = Release|Any CPU 27 | EndGlobalSection 28 | GlobalSection(SolutionProperties) = preSolution 29 | HideSolutionNode = FALSE 30 | EndGlobalSection 31 | GlobalSection(ExtensibilityGlobals) = postSolution 32 | SolutionGuid = {0BDF1A71-9F90-45D5-B29F-DCDCED4BE0F0} 33 | EndGlobalSection 34 | EndGlobal 35 | --------------------------------------------------------------------------------