KiCad PCB EDA Suite
Loading...
Searching...
No Matches
windows/drivers.cpp
Go to the documentation of this file.
1/*
2* This program source code file is part of KiCad, a free EDA CAD application.
3*
4* Copyright (C) 2023 KiCad Developers, see AUTHORS.txt for contributors.
5*
6* This program is free software: you can redistribute it and/or modify it
7* under the terms of the GNU General Public License as published by the
8* Free Software Foundation, either version 3 of the License, or (at your
9* option) any later version.
10*
11* This program is distributed in the hope that it will be useful, but
12* WITHOUT ANY WARRANTY; without even the implied warranty of
13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14* General Public License for more details.
15*
16* You should have received a copy of the GNU General Public License along
17* with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
21#include <kiplatform/drivers.h>
22
23#include <wx/string.h>
24#include <wx/msw/registry.h>
25
26#define MIN_WIN_VERSION "10.7.2"
27
29{
30 const wxString versionValName = wxT( "Version" );
31 wxRegKey smKey( wxRegKey::HKLM, wxT( "Software\\3Dconnexion\\3DxSoftware" ) );
32
33 if( !smKey.Exists() )
34 return false;
35
36 if( !smKey.HasValue( versionValName ) )
37 return false;
38
39 wxString versionStr;
40 if( !smKey.QueryValue( versionValName, versionStr ) )
41 return false;
42
43 return !versionStr.empty()
44 && compareVersionStrings( MIN_WIN_VERSION, versionStr.ToStdString() );
45}
bool Valid3DConnexionDriverVersion()
Get the driver version for a given driver name.
bool compareVersionStrings(const std::string &aVersionStr1, const std::string &aVersionStr2)
Compare two version strings of the form "major.minor.patch.build".
#define MIN_WIN_VERSION