From 7b5931685caf55b7b974cb759e5018dbcf1a75c9 Mon Sep 17 00:00:00 2001
From: open-license-manager <rillf@maildrop.cc>
Date: 周一, 04 8月 2014 06:01:22 +0800
Subject: [PATCH] windows

---
 src/library/api/datatypes.h        |    2 
 src/library/base/EventRegistry.cpp |   18 +++++----
 src/library/LicenseReader.cpp      |   32 ++++++++--------
 CMakeLists.txt                     |   14 ++++---
 src/library/base/StringUtils.cpp   |    4 ++
 5 files changed, 39 insertions(+), 31 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cf99d3d..46a4e1f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,7 +12,7 @@
 SET(CMAKE_DISABLE_SOURCE_CHANGES OFF)
 SET(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
 
-project (license++ C CXX)
+
 SET(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "CMake verbose" FORCE)
 
 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
@@ -24,7 +24,7 @@
 		SET(CMAKE_EXE_LINKER_FLAGS "/machine:X64 /INCREMENTAL:NO" CACHE STRING "Linker flags")
 	endif(CMAKE_CL_64)
 	SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib ) #${CMAKE_FIND_LIBRARY_SUFFIXES}
-	set_property(DIRECTORY PROPERTY COMPILE_DEFINITIONS_DEBUG _CRT_SECURE_NO_WARNINGS)
+	add_definitions("/D_CRT_SECURE_NO_WARNINGS")
 else(WIN32)
     SET(PLATFORM_LIBS "m")
     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe -fmessage-length=0 -std=c++11 -Wall -Wuninitialized -fPIC") 
@@ -37,6 +37,8 @@
 		SET(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Install path prefix" FORCE)
 	ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
 endif(WIN32)
+
+project (license++ C CXX)
 
 if(CMAKE_SIZEOF_VOID_P EQUAL 8)
   SET(HAVE_64BIT_SIZE_T 1)
@@ -58,12 +60,12 @@
 #include_directories(${Boost_INCLUDE_DIRS})
 #link_directories ( ${Boost_LIBRARY_DIRS} )
 
-#find a static version of openssl crypto library
-find_package(OpenSSL REQUIRED)
-include_directories(${OPENSSL_INCLUDE_DIR})
-list(APPEND EXTERNAL_LIBS ${OPENSSL_CRYPTO_LIBRARY})
 
 if(NOT WIN32)	
+	#find a static version of openssl crypto library
+	find_package(OpenSSL REQUIRED)
+	include_directories(${OPENSSL_INCLUDE_DIR})
+	list(APPEND EXTERNAL_LIBS ${OPENSSL_CRYPTO_LIBRARY})
 	FIND_PACKAGE(Dbus REQUIRED)
 	include_directories(${DBUS_INCLUDE_DIR})
 	include_directories(${DBUS_ARCH_INCLUDE_DIR})
diff --git a/src/library/LicenseReader.cpp b/src/library/LicenseReader.cpp
index 05762c4..f9f7531 100644
--- a/src/library/LicenseReader.cpp
+++ b/src/library/LicenseReader.cpp
@@ -52,17 +52,17 @@
 	bool sigVerified = OsFunctions::verifySignature(printForSign().c_str(),
 			license_signature.c_str());
 	if (sigVerified) {
-		er.addEvent(LICENSE_VERIFIED, INFO);
+		er.addEvent(LICENSE_VERIFIED, SVRT_INFO);
 	} else {
-		er.addEvent(LICENSE_CORRUPTED, SEVERITY_ERROR);
+		er.addEvent(LICENSE_CORRUPTED, SVRT_ERROR);
 	}
 	if (has_expiry) {
 		time_t now = time(NULL);
 		if (expires_on() < now) {
-			er.addEvent(PRODUCT_EXPIRED, SEVERITY_ERROR, "");
+			er.addEvent(PRODUCT_EXPIRED, SVRT_ERROR, "");
 		}
 		if (valid_from() > now) {
-			er.addEvent(PRODUCT_EXPIRED, SEVERITY_ERROR);
+			er.addEvent(PRODUCT_EXPIRED, SVRT_ERROR);
 		}
 	}
 	if (has_client_sig) {
@@ -70,7 +70,7 @@
 		strncpy(str_code, client_signature.c_str(), sizeof(str_code));
 		EVENT_TYPE event = validate_pc_signature(str_code);
 		if (event != LICENSE_OK) {
-			er.addEvent(event, SEVERITY_ERROR);
+			er.addEvent(event, SVRT_ERROR);
 		}
 	}
 	return er;
@@ -114,7 +114,7 @@
 		ini.Reset();
 		SI_Error rc = ini.LoadFile((*it).c_str());
 		if (rc < 0) {
-			result.addEvent(FILE_FORMAT_NOT_RECOGNIZED, SEVERITY_WARN, *it);
+			result.addEvent(FILE_FORMAT_NOT_RECOGNIZED, SVRT_WARN, *it);
 			continue;
 		} else {
 			loadAtLeastOneFile = true;
@@ -122,7 +122,7 @@
 		const char* productNamePtr = product.c_str();
 		int sectionSize = ini.GetSectionSize(productNamePtr);
 		if (sectionSize <= 0) {
-			result.addEvent(PRODUCT_NOT_LICENSED, SEVERITY_WARN, *it);
+			result.addEvent(PRODUCT_NOT_LICENSED, SVRT_WARN, *it);
 			continue;
 		} else {
 			atLeastOneProductLicensed = true;
@@ -162,7 +162,7 @@
 			licenseInfoOut.push_back(licInfo);
 			atLeastOneLicenseComplete = true;
 		} else {
-			result.addEvent(LICENSE_MALFORMED, SEVERITY_WARN, *it);
+			result.addEvent(LICENSE_MALFORMED, SVRT_WARN, *it);
 		}
 	}
 	if (!loadAtLeastOneFile) {
@@ -193,11 +193,11 @@
 				for (auto it = existing_pos.begin(); it != existing_pos.end();
 						++it) {
 					diskFiles.push_back(*it);
-					eventRegistry.addEvent(LICENSE_FILE_FOUND, INFO, *it);
+					eventRegistry.addEvent(LICENSE_FILE_FOUND, SVRT_INFO, *it);
 				}
 			}
 		} else {
-			eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, SEVERITY_WARN,
+			eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, SVRT_WARN,
 					varName);
 		}
 	}
@@ -223,19 +223,19 @@
 					for (auto it = existing_pos.begin();
 							it != existing_pos.end(); ++it) {
 						diskFiles.push_back(*it);
-						eventRegistry.addEvent(LICENSE_FILE_FOUND, INFO, *it);
+						eventRegistry.addEvent(LICENSE_FILE_FOUND, SVRT_INFO, *it);
 					}
 				} else {
 					eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND,
-							SEVERITY_WARN, env_var_value);
+							SVRT_WARN, env_var_value);
 				}
 			} else {
 				eventRegistry.addEvent(ENVIRONMENT_VARIABLE_NOT_DEFINED,
-						SEVERITY_WARN);
+						SVRT_WARN);
 			}
 		} else {
 			eventRegistry.addEvent(ENVIRONMENT_VARIABLE_NOT_DEFINED,
-					SEVERITY_WARN);
+					SVRT_WARN);
 		}
 	}
 	return licenseFileFoundWithEnvVariable;
@@ -252,9 +252,9 @@
 		if (f.good()) {
 			foundNearModule = true;
 			diskFiles.push_back(temptativeLicense);
-			eventRegistry.addEvent(LICENSE_FILE_FOUND, INFO, temptativeLicense);
+			eventRegistry.addEvent(LICENSE_FILE_FOUND, SVRT_INFO, temptativeLicense);
 		} else {
-			eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, SEVERITY_WARN,
+			eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, SVRT_WARN,
 					temptativeLicense);
 		}
 		f.close();
diff --git a/src/library/api/datatypes.h b/src/library/api/datatypes.h
index 0326fb4..b49a06e 100644
--- a/src/library/api/datatypes.h
+++ b/src/library/api/datatypes.h
@@ -49,7 +49,7 @@
 } LICENSE_TYPE;
 
 typedef enum {
-	INFO, SEVERITY_WARN, SEVERITY_ERROR
+	SVRT_INFO, SVRT_WARN, SVRT_ERROR
 } SEVERITY;
 
 typedef struct {
diff --git a/src/library/base/EventRegistry.cpp b/src/library/base/EventRegistry.cpp
index 12a7ab2..beefa29 100644
--- a/src/library/base/EventRegistry.cpp
+++ b/src/library/base/EventRegistry.cpp
@@ -10,6 +10,8 @@
 #include <string.h>
 #include <algorithm>
 
+using namespace std;
+
 namespace license {
 EventRegistry::EventRegistry() {
 }
@@ -33,7 +35,7 @@
 
 void EventRegistry::turnLastEventIntoError() {
 	if (logs.size() > 0) {
-		logs.back().severity = SEVERITY_ERROR;
+		logs.back().severity = SVRT_ERROR;
 	}
 }
 
@@ -41,7 +43,7 @@
 	bool eventFound = false;
 	for (auto it = logs.begin(); it != logs.end(); ++it) {
 		if (it->event_type == event) {
-			it->severity = SEVERITY_ERROR;
+			it->severity = SVRT_ERROR;
 			eventFound = true;
 		}
 	}
@@ -56,7 +58,7 @@
 	auto it = logs.end();
 	do {
 		--it;
-		if (it->severity == SEVERITY_ERROR) {
+		if (it->severity == SVRT_ERROR) {
 			result = &(*it);
 			break;
 		}
@@ -68,7 +70,7 @@
 bool EventRegistry::isGood() const {
 	bool isGood = true;
 	for (auto it = logs.begin(); it != logs.end(); ++it) {
-		if (it->severity == SEVERITY_ERROR) {
+		if (it->severity == SVRT_ERROR) {
 			isGood = false;
 			break;
 		}
@@ -77,7 +79,7 @@
 }
 
 void EventRegistry::addError(EVENT_TYPE event) {
-	addEvent(event, SEVERITY_ERROR);
+	addEvent(event, SVRT_ERROR);
 }
 
 void EventRegistry::addEvent(EVENT_TYPE event, SEVERITY severity) {
@@ -102,8 +104,8 @@
 bool EventRegistry::turnErrosIntoWarnings() {
 	bool eventFound = false;
 	for (auto it = logs.begin(); it != logs.end(); ++it) {
-		if (it->severity == SEVERITY_ERROR) {
-			it->severity = SEVERITY_WARN;
+		if (it->severity == SVRT_ERROR) {
+			it->severity = SVRT_WARN;
 			eventFound = true;
 		}
 	}
@@ -111,7 +113,7 @@
 }
 
 void EventRegistry::exportLastEvents(AuditEvent* auditEvents, int nlogs) {
-	int sizeToCopy = std::min(nlogs, (int) logs.size());
+	int sizeToCopy = min(nlogs, (int) logs.size());
 	std::copy(logs.begin(), logs.begin() + sizeToCopy, auditEvents);
 }
 }
diff --git a/src/library/base/StringUtils.cpp b/src/library/base/StringUtils.cpp
index 14b9bc6..33e055a 100644
--- a/src/library/base/StringUtils.cpp
+++ b/src/library/base/StringUtils.cpp
@@ -12,6 +12,10 @@
 #include <cstring>
 #include <algorithm>
 
+#ifdef WIN32
+#include <time.h> //mktime under windows
+#endif
+
 namespace license {
 using namespace std;
 

--
Gitblit v1.9.1