summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnon Gilboa <agilboa@redhat.com>2013-03-18 12:54:04 +0200
committerArnon Gilboa <agilboa@redhat.com>2013-03-18 12:54:04 +0200
commit877e52386e6a98ec5c5bd54af13a984b571674ea (patch)
treeb705e816f50e9505e9897f51d97b5cf2ccd13fbb
parent9b05b948fce1db343d6d57425194e72d2c850760 (diff)
vdservice: extract supported_system_version() to vdcommon
rhbz #919451 preparation
-rw-r--r--common/vdcommon.cpp36
-rw-r--r--common/vdcommon.h8
-rw-r--r--vdservice/vdservice.cpp24
-rw-r--r--vdservice/vdservice.vcproj4
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>