From 497745ad31c90545b288e2845049e0ce474bcbe2 Mon Sep 17 00:00:00 2001
From: gcontini <1121667+gcontini@users.noreply.github.com>
Date: 周六, 19 10月 2019 10:10:45 +0800
Subject: [PATCH] Merge branch 'feature/code_review_and_refactor' into develop

---
 src/library/locate/ApplicationFolder.cpp |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/src/library/locate/ApplicationFolder.cpp b/src/library/locate/ApplicationFolder.cpp
new file mode 100644
index 0000000..b1fb0e3
--- /dev/null
+++ b/src/library/locate/ApplicationFolder.cpp
@@ -0,0 +1,56 @@
+/*
+ * ApplicationFolder.cpp
+ *
+ *  Created on: Oct 12, 2019
+ *      Author: Gabriele Contini
+ */
+#include <fstream>
+#include <sstream>
+#include <string>
+
+#include <build_properties.h>
+
+#include "../base/logger.h"
+#include "../api/datatypes.h"
+#include "../base/base.h"
+#include "../base/EventRegistry.h"
+#include "../base/FileUtils.hpp"
+#include "../os/os.h"
+#include "ApplicationFolder.hpp"
+#include <iostream>
+
+namespace license {
+namespace locate {
+using namespace std;
+
+ApplicationFolder::ApplicationFolder() :
+		LocatorStrategy("ApplicationFolder") {
+}
+
+ApplicationFolder::~ApplicationFolder() {
+}
+
+const vector<string> ApplicationFolder::license_locations(
+		EventRegistry &eventRegistry) {
+	vector<string> diskFiles;
+	char fname[MAX_PATH] = { 0 };
+	const FUNCTION_RETURN fret = getModuleName(fname);
+	if (fret == FUNC_RET_OK) {
+		const string module_name = remove_extension(fname);
+		const string temptativeLicense = string(module_name) + ".lic";
+		ifstream f(temptativeLicense.c_str());
+		if (f.good()) {
+			diskFiles.push_back(temptativeLicense);
+			eventRegistry.addEvent(LICENSE_FOUND, temptativeLicense.c_str());
+		} else {
+			eventRegistry.addEvent(LICENSE_FILE_NOT_FOUND, temptativeLicense.c_str());
+		}
+		f.close();
+	} else {
+		LOG_WARN("Error determining module name.");
+	}
+	return diskFiles;
+}
+
+}
+} /* namespace license */

--
Gitblit v1.9.1