diff options
author | Arnon Gilboa <agilboa@redhat.com> | 2013-03-18 12:54:04 +0200 |
---|---|---|
committer | Arnon Gilboa <agilboa@redhat.com> | 2013-03-18 12:54:04 +0200 |
commit | 877e52386e6a98ec5c5bd54af13a984b571674ea (patch) | |
tree | b705e816f50e9505e9897f51d97b5cf2ccd13fbb | |
parent | 9b05b948fce1db343d6d57425194e72d2c850760 (diff) |
vdservice: extract supported_system_version() to vdcommon
rhbz #919451 preparation
-rw-r--r-- | common/vdcommon.cpp | 36 | ||||
-rw-r--r-- | common/vdcommon.h | 8 | ||||
-rw-r--r-- | vdservice/vdservice.cpp | 24 | ||||
-rw-r--r-- | vdservice/vdservice.vcproj | 4 |
4 files changed, 48 insertions, 24 deletions
diff --git a/common/vdcommon.cpp b/common/vdcommon.cpp new file mode 100644 index 0000000..4dc50b4 --- /dev/null +++ b/common/vdcommon.cpp @@ -0,0 +1,36 @@ +/* + Copyright (C) 2013 Red Hat, Inc. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "vdcommon.h" + +int supported_system_version() +{ + OSVERSIONINFOEX osvi; + + ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); + if (!GetVersionEx((OSVERSIONINFO*)&osvi)) { + vd_printf("GetVersionEx() failed: %lu", GetLastError()); + return 0; + } + if (osvi.dwMajorVersion == 5 && (osvi.dwMinorVersion == 1 || osvi.dwMinorVersion == 2)) { + return SYS_VER_WIN_XP_CLASS; + } else if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion >= 0 && osvi.dwMinorVersion <= 2) { + return SYS_VER_WIN_7_CLASS; + } + return 0; +} diff --git a/common/vdcommon.h b/common/vdcommon.h index 605153d..177721c 100644 --- a/common/vdcommon.h +++ b/common/vdcommon.h @@ -51,5 +51,13 @@ typedef CRITICAL_SECTION mutex_t; #define _ftime_s(timeb) _ftime(timeb) #endif +enum SystemVersion { + SYS_VER_UNSUPPORTED, + SYS_VER_WIN_XP_CLASS, // also Server 2003/R2 + SYS_VER_WIN_7_CLASS, // also Windows 8, Server 2012, Server 2008/R2 & Vista +}; + +int supported_system_version(); + #endif diff --git a/vdservice/vdservice.cpp b/vdservice/vdservice.cpp index 90a3b26..9134c4b 100644 --- a/vdservice/vdservice.cpp +++ b/vdservice/vdservice.cpp @@ -119,30 +119,6 @@ VDService* VDService::get() return (VDService*)_singleton; } -enum SystemVersion { - SYS_VER_UNSUPPORTED, - SYS_VER_WIN_XP_CLASS, // also Server 2003/R2 - SYS_VER_WIN_7_CLASS, // also Windows 8, Server 2012, Server 2008/R2 & Vista -}; - -int supported_system_version() -{ - OSVERSIONINFOEX osvi; - - ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); - osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - if (!GetVersionEx((OSVERSIONINFO*)&osvi)) { - vd_printf("GetVersionEx() failed: %lu", GetLastError()); - return 0; - } - if (osvi.dwMajorVersion == 5 && (osvi.dwMinorVersion == 1 || osvi.dwMinorVersion == 2)) { - return SYS_VER_WIN_XP_CLASS; - } else if (osvi.dwMajorVersion == 6 && osvi.dwMinorVersion >= 0 && osvi.dwMinorVersion <= 2) { - return SYS_VER_WIN_7_CLASS; - } - return 0; -} - VDService::VDService() : _status_handle (0) , _events (NULL) diff --git a/vdservice/vdservice.vcproj b/vdservice/vdservice.vcproj index 45af4c5..736f425 100644 --- a/vdservice/vdservice.vcproj +++ b/vdservice/vdservice.vcproj @@ -363,6 +363,10 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
+ RelativePath="..\common\vdcommon.cpp"
+ >
+ </File>
+ <File
RelativePath="..\common\vdlog.cpp"
>
</File>
|