PageRenderTime 28ms CodeModel.GetById 20ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/win32/shellext/SysInfo.h

https://bitbucket.org/tortoisehg/hgtk/
C++ Header | 42 lines | 17 code | 7 blank | 18 comment | 2 complexity | 1ffc20ecc3836db74b8c77a7a49080c8 MD5 | raw file
 1// TortoiseSVN - a Windows shell extension for easy version control
 2
 3// Copyright (C) 2008 - TortoiseSVN
 4
 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.
 9
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.
14
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.
18//
19#pragma once
20
21
22/**
23 * \ingroup Utils
24 * This singleton class handles system information
25 */
26class SysInfo
27{
28private:
29    SysInfo(void);
30    ~SysInfo(void);
31public:
32    static const SysInfo& Instance();
33    
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);}
40private:
41    OSVERSIONINFOEX     inf;
42};