Sync translations with Transifex
[TortoiseGit.git] / src / Utils / SysInfo.h
blobae5aca80c6863a7413b04c529c590ae92d8bdfe3
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2008 - TortoiseSVN
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #pragma once
22 /**
23 * \ingroup Utils
24 * This singleton class handles system information
26 class SysInfo
28 private:
29 SysInfo(void);
30 ~SysInfo(void);
31 public:
32 static const SysInfo& Instance();
34 DWORD GetFullVersion() const {return MAKEWORD(inf.dwMinorVersion, inf.dwMajorVersion);}
35 bool IsXP() const {return (GetFullVersion() < 0x0600);} // cover Win5.1 and 5.2 alike
36 bool IsVista() const {return (GetFullVersion() == 0x0600);}
37 bool IsVistaOrLater() const {return (GetFullVersion() >= 0x0600);}
38 bool IsWin7() const {return (GetFullVersion() == 0x0601);}
39 bool IsWin7OrLater() const {return (GetFullVersion() >= 0x0601);}
40 private:
41 OSVERSIONINFOEX inf;