From 47b80df78cbb4fc0e0951557777189341e718904 Mon Sep 17 00:00:00 2001 From: Stefan Hirschmann Date: Mon, 30 Mar 2015 17:32:51 +0200 Subject: [PATCH] Add plugin which reads temperature(s) from files --- NoteBookFanControl.sln | 191 ++++++++++++++++++ .../FSTemperatureMonitor.cs | 113 +++++++++++ .../Properties/AssemblyInfo.cs | 36 ++++ ...agWare.Plugins.FSTemperatureMonitor.csproj | 66 ++++++ ...gWare.Plugins.FSTemperatureMonitor.sources | 1 + 5 files changed, 407 insertions(+) create mode 100644 StagWare.Plugins.FSTemperatureMonitor/FSTemperatureMonitor.cs create mode 100644 StagWare.Plugins.FSTemperatureMonitor/Properties/AssemblyInfo.cs create mode 100644 StagWare.Plugins.FSTemperatureMonitor/StagWare.Plugins.FSTemperatureMonitor.csproj create mode 100644 StagWare.Plugins.FSTemperatureMonitor/StagWare.Plugins.FSTemperatureMonitor.sources diff --git a/NoteBookFanControl.sln b/NoteBookFanControl.sln index 75e20b1..5265b12 100644 --- a/NoteBookFanControl.sln +++ b/NoteBookFanControl.sln @@ -49,107 +49,297 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NbfcCli", "Core\NbfcCli\Nbf {15B3E0D2-6217-493A-A690-158C497F5318} = {15B3E0D2-6217-493A-A690-158C497F5318} EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StagWare.Plugins.FSTemperatureMonitor", "StagWare.Plugins.FSTemperatureMonitor\StagWare.Plugins.FSTemperatureMonitor.csproj", "{11380AFB-D406-4F4E-B260-2C892CD067B4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms ReleaseLinux|Any CPU = ReleaseLinux|Any CPU + ReleaseLinux|Mixed Platforms = ReleaseLinux|Mixed Platforms ReleaseWindows|Any CPU = ReleaseWindows|Any CPU + ReleaseWindows|Mixed Platforms = ReleaseWindows|Mixed Platforms EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.Debug|Any CPU.Build.0 = Debug|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.Release|Any CPU.ActiveCfg = Release|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.Release|Any CPU.Build.0 = Release|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.Release|Mixed Platforms.Build.0 = Release|Any CPU {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {12084B38-C1A2-414C-80A7-B8D02D6F5B84}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.Debug|Any CPU.Build.0 = Debug|Any CPU + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.Release|Any CPU.ActiveCfg = Release|Any CPU + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.Release|Any CPU.Build.0 = Release|Any CPU + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.Release|Mixed Platforms.Build.0 = Release|x86 {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|Any CPU {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.ReleaseLinux|Any CPU.Build.0 = ReleaseLinux|Any CPU + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.ReleaseLinux|Mixed Platforms.ActiveCfg = ReleaseLinux|x86 + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.ReleaseLinux|Mixed Platforms.Build.0 = ReleaseLinux|x86 {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.ReleaseWindows|Mixed Platforms.ActiveCfg = ReleaseLinux|x86 + {820ABB59-7F86-4D7F-89C9-8F7DA013D992}.ReleaseWindows|Mixed Platforms.Build.0 = ReleaseLinux|x86 {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.Release|Any CPU.Build.0 = Release|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.Release|Mixed Platforms.Build.0 = Release|Any CPU {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {EB60FFBC-51F9-42F7-B22B-2200C3F0CB64}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {15B3E0D2-6217-493A-A690-158C497F5318}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {15B3E0D2-6217-493A-A690-158C497F5318}.Debug|Any CPU.Build.0 = Debug|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.Release|Any CPU.ActiveCfg = Release|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.Release|Any CPU.Build.0 = Release|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.Release|Mixed Platforms.Build.0 = Release|Any CPU {15B3E0D2-6217-493A-A690-158C497F5318}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {15B3E0D2-6217-493A-A690-158C497F5318}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {15B3E0D2-6217-493A-A690-158C497F5318}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {15B3E0D2-6217-493A-A690-158C497F5318}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {15B3E0D2-6217-493A-A690-158C497F5318}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.Release|Any CPU.Build.0 = Release|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.Release|Mixed Platforms.Build.0 = Release|Any CPU {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {A2E2E628-7BDA-4072-83DE-B28DE7EA85A9}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.Release|Any CPU.Build.0 = Release|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.Release|Mixed Platforms.Build.0 = Release|Any CPU {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {DF818D02-6FBC-44E1-88FA-0D62BD73CA95}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.Debug|Any CPU.ActiveCfg = Debug|x86 {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.Debug|Any CPU.Build.0 = Debug|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.Release|Any CPU.ActiveCfg = Release|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.Release|Mixed Platforms.Build.0 = Release|x86 {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.ReleaseLinux|Any CPU.ActiveCfg = Release|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.ReleaseLinux|Mixed Platforms.Build.0 = Release|x86 {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.ReleaseWindows|Any CPU.ActiveCfg = Release|x86 {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.ReleaseWindows|Any CPU.Build.0 = Release|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|x86 + {D709446B-7DEC-4F18-B2A2-638A2EF8AAA6}.ReleaseWindows|Mixed Platforms.Build.0 = Release|x86 {088065D5-99ED-4A8B-9301-3666C5B88718}.Debug|Any CPU.ActiveCfg = Debug|x86 {088065D5-99ED-4A8B-9301-3666C5B88718}.Debug|Any CPU.Build.0 = Debug|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.Release|Any CPU.ActiveCfg = Release|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.Release|Mixed Platforms.Build.0 = Release|x86 {088065D5-99ED-4A8B-9301-3666C5B88718}.ReleaseLinux|Any CPU.ActiveCfg = Release|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.ReleaseLinux|Mixed Platforms.Build.0 = Release|x86 {088065D5-99ED-4A8B-9301-3666C5B88718}.ReleaseWindows|Any CPU.ActiveCfg = Release|x86 {088065D5-99ED-4A8B-9301-3666C5B88718}.ReleaseWindows|Any CPU.Build.0 = Release|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|x86 + {088065D5-99ED-4A8B-9301-3666C5B88718}.ReleaseWindows|Mixed Platforms.Build.0 = Release|x86 {B0397530-545A-471D-BB74-027AE456DF1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B0397530-545A-471D-BB74-027AE456DF1A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.Release|Any CPU.Build.0 = Release|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.Release|Mixed Platforms.Build.0 = Release|Any CPU {B0397530-545A-471D-BB74-027AE456DF1A}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {B0397530-545A-471D-BB74-027AE456DF1A}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {B0397530-545A-471D-BB74-027AE456DF1A}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {B0397530-545A-471D-BB74-027AE456DF1A}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {B0397530-545A-471D-BB74-027AE456DF1A}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.Debug|Any CPU.ActiveCfg = Debug|x86 {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.Debug|Any CPU.Build.0 = Debug|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.Release|Any CPU.ActiveCfg = Release|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.Release|Mixed Platforms.Build.0 = Release|x86 {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.ReleaseLinux|Any CPU.ActiveCfg = Release|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.ReleaseLinux|Mixed Platforms.Build.0 = Release|x86 {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.ReleaseWindows|Any CPU.ActiveCfg = Release|x86 {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.ReleaseWindows|Any CPU.Build.0 = Release|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|x86 + {98EE4668-8F55-43B7-B2F9-A8C4B0DAFA79}.ReleaseWindows|Mixed Platforms.Build.0 = Release|x86 {1D5D7C81-802F-46E0-913F-8519F157BC3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1D5D7C81-802F-46E0-913F-8519F157BC3C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.Release|Any CPU.Build.0 = Release|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.Release|Mixed Platforms.Build.0 = Release|Any CPU {1D5D7C81-802F-46E0-913F-8519F157BC3C}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {1D5D7C81-802F-46E0-913F-8519F157BC3C}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {1D5D7C81-802F-46E0-913F-8519F157BC3C}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {1D5D7C81-802F-46E0-913F-8519F157BC3C}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {1D5D7C81-802F-46E0-913F-8519F157BC3C}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.Release|Any CPU.Build.0 = Release|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.Release|Mixed Platforms.Build.0 = Release|Any CPU {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {B45BBD0F-9345-4EC8-B70D-8369659DA3B4}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.Release|Any CPU.Build.0 = Release|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.Release|Mixed Platforms.Build.0 = Release|Any CPU {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {6C6F4E15-FC36-4298-A7E9-83CD854BDFDB}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.Release|Any CPU.Build.0 = Release|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.Release|Mixed Platforms.Build.0 = Release|Any CPU {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|Any CPU {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.ReleaseLinux|Any CPU.Build.0 = ReleaseLinux|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.ReleaseLinux|Mixed Platforms.ActiveCfg = ReleaseLinux|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.ReleaseLinux|Mixed Platforms.Build.0 = ReleaseLinux|Any CPU {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {0F5B3D05-7615-4E74-84E6-4F00FAD0413C}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.Debug|Any CPU.Build.0 = Debug|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.Release|Any CPU.ActiveCfg = Release|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.Release|Any CPU.Build.0 = Release|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.Release|Mixed Platforms.Build.0 = Release|Any CPU {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {66BAE497-003D-4F8A-B26E-DE5FA3361D38}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {281A8541-1845-44DF-BBB9-3E0934C753A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {281A8541-1845-44DF-BBB9-3E0934C753A3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.Release|Any CPU.Build.0 = Release|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.Release|Mixed Platforms.Build.0 = Release|Any CPU {281A8541-1845-44DF-BBB9-3E0934C753A3}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|Any CPU {281A8541-1845-44DF-BBB9-3E0934C753A3}.ReleaseLinux|Any CPU.Build.0 = ReleaseLinux|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.ReleaseLinux|Mixed Platforms.ActiveCfg = ReleaseLinux|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.ReleaseLinux|Mixed Platforms.Build.0 = ReleaseLinux|Any CPU {281A8541-1845-44DF-BBB9-3E0934C753A3}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {281A8541-1845-44DF-BBB9-3E0934C753A3}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {281A8541-1845-44DF-BBB9-3E0934C753A3}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.Release|Any CPU.Build.0 = Release|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.Release|Mixed Platforms.Build.0 = Release|Any CPU {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.ReleaseLinux|Any CPU.ActiveCfg = ReleaseLinux|Any CPU {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.ReleaseLinux|Any CPU.Build.0 = ReleaseLinux|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.ReleaseLinux|Mixed Platforms.ActiveCfg = ReleaseLinux|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.ReleaseLinux|Mixed Platforms.Build.0 = ReleaseLinux|Any CPU {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {60A11809-E19B-46A2-8E91-BF6ADA47BBC6}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.Release|Any CPU.Build.0 = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.ReleaseLinux|Any CPU.ActiveCfg = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.ReleaseLinux|Any CPU.Build.0 = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.ReleaseLinux|Mixed Platforms.ActiveCfg = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.ReleaseLinux|Mixed Platforms.Build.0 = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.ReleaseWindows|Any CPU.ActiveCfg = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.ReleaseWindows|Any CPU.Build.0 = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.ReleaseWindows|Mixed Platforms.ActiveCfg = Release|Any CPU + {11380AFB-D406-4F4E-B260-2C892CD067B4}.ReleaseWindows|Mixed Platforms.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -174,5 +364,6 @@ Global {0F5B3D05-7615-4E74-84E6-4F00FAD0413C} = {0288F2E8-672E-49DA-9B93-86CEE224D996} {66BAE497-003D-4F8A-B26E-DE5FA3361D38} = {0288F2E8-672E-49DA-9B93-86CEE224D996} {281A8541-1845-44DF-BBB9-3E0934C753A3} = {0288F2E8-672E-49DA-9B93-86CEE224D996} + {11380AFB-D406-4F4E-B260-2C892CD067B4} = {0288F2E8-672E-49DA-9B93-86CEE224D996} EndGlobalSection EndGlobal diff --git a/StagWare.Plugins.FSTemperatureMonitor/FSTemperatureMonitor.cs b/StagWare.Plugins.FSTemperatureMonitor/FSTemperatureMonitor.cs new file mode 100644 index 0000000..edf9312 --- /dev/null +++ b/StagWare.Plugins.FSTemperatureMonitor/FSTemperatureMonitor.cs @@ -0,0 +1,113 @@ +using StagWare.FanControl.Plugins; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.IO; +using System.Reflection; +using System.Threading; + +namespace StagWare.Plugins.Generic +{ + [Export(typeof(ITemperatureMonitor))] + [FanControlPluginMetadata( + "StagWare.Plugins.FSTemperatureMonitor", + SupportedPlatforms.Windows | SupportedPlatforms.Unix, + SupportedCpuArchitectures.x86 | SupportedCpuArchitectures.x64)] + public class FSTemperatureMonitor : ITemperatureMonitor + { + #region Constants + + const string SourcesFileName = "StagWare.Plugins.FSTemperatureMonitor.sources"; + + #endregion + + #region Private Fields + + private string[] sourceFilePaths; + + #endregion + + #region ITemperatureMonitor implementation + + public bool IsInitialized + { + get; + private set; + } + + public string TemperatureSourceDisplayName { get; private set; } + + public void Initialize() + { + if (!this.IsInitialized) + { + string sourcesFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + sourcesFile = Path.Combine(sourcesFile, SourcesFileName); + var paths = new List(); + + foreach (string src in File.ReadAllLines(sourcesFile)) + { + if (File.Exists(src)) + { + GetTemperature(src); + paths.Add(src); + } + } + + this.sourceFilePaths = paths.ToArray(); + this.IsInitialized = true; + } + } + + public double GetTemperature() + { + double temp = 0; + + foreach (string path in this.sourceFilePaths) + { + temp += GetTemperature(path); + } + + return temp / this.sourceFilePaths.Length; + } + + public void Dispose() + { + } + + #endregion + + #region Private Methods + + private static double GetTemperature(string sourceFilePath) + { + double? temp = null; + IOException lastException = null; + + for (int i = 0; i < 3; i++) + { + try + { + temp = double.Parse(File.ReadAllText(sourceFilePath)) / 1000.0; + break; + } + catch (IOException e) + { + lastException = e; + } + + Thread.Sleep(50); + } + + if (!temp.HasValue) + { + throw lastException; + } + else + { + return temp.Value; + } + } + + #endregion + } +} diff --git a/StagWare.Plugins.FSTemperatureMonitor/Properties/AssemblyInfo.cs b/StagWare.Plugins.FSTemperatureMonitor/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..a392b18 --- /dev/null +++ b/StagWare.Plugins.FSTemperatureMonitor/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("StagWare.Plugins.FSTemperatureMonitor")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("StagWare")] +[assembly: AssemblyProduct("StagWare.Plugins.FSTemperatureMonitor")] +[assembly: AssemblyCopyright("Copyright © 2015 Stefan Hirschmann")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("41f261e4-7256-480a-ae5e-3ebdf75742ab")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/StagWare.Plugins.FSTemperatureMonitor/StagWare.Plugins.FSTemperatureMonitor.csproj b/StagWare.Plugins.FSTemperatureMonitor/StagWare.Plugins.FSTemperatureMonitor.csproj new file mode 100644 index 0000000..b6c238b --- /dev/null +++ b/StagWare.Plugins.FSTemperatureMonitor/StagWare.Plugins.FSTemperatureMonitor.csproj @@ -0,0 +1,66 @@ + + + + + Debug + AnyCPU + {11380AFB-D406-4F4E-B260-2C892CD067B4} + Library + Properties + StagWare.Plugins.FSTemperatureMonitor + StagWare.Plugins.FSTemperatureMonitor + v4.0 + 512 + Client + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + {12084b38-c1a2-414c-80a7-b8d02d6f5b84} + StagWare.FanControl + + + + + PreserveNewest + + + + + \ No newline at end of file diff --git a/StagWare.Plugins.FSTemperatureMonitor/StagWare.Plugins.FSTemperatureMonitor.sources b/StagWare.Plugins.FSTemperatureMonitor/StagWare.Plugins.FSTemperatureMonitor.sources new file mode 100644 index 0000000..11cc0a9 --- /dev/null +++ b/StagWare.Plugins.FSTemperatureMonitor/StagWare.Plugins.FSTemperatureMonitor.sources @@ -0,0 +1 @@ +/sys/devices/platform/coretemp.0/hwmon/hwmon0/temp1_input \ No newline at end of file