gcontini
2019-10-19 8bbef2865455754425a84b86680a89bff8aa7691
src/library/locate/EnvironmentVarData.cpp
@@ -6,6 +6,18 @@
 */
#include "EnvironmentVarData.hpp"
#include <build_properties.h>
#include <cstdlib>
#include <regex>
#include <string>
#include <vector>
#include "../api/datatypes.h"
#include "../base/base64.h"
#include "../base/EventRegistry.h"
#include "../base/StringUtils.h"
namespace license {
namespace locate {
@@ -18,15 +30,37 @@
EnvironmentVarData::~EnvironmentVarData() {
}
const vector<string> EnvironmentVarData::licenseLocations(
      EventRegistry &eventRegistry) const {
const vector<string> EnvironmentVarData::license_locations(
      EventRegistry &eventRegistry) {
   vector<string> diskFiles;
   char *env_var_value = getenv(LICENSE_DATA_ENV_VAR);
   if (env_var_value != nullptr && env_var_value[0] != '\0') {
      eventRegistry.addEvent(LICENSE_SPECIFIED, LICENSE_LOCATION_ENV_VAR);
      FILE_FORMAT licenseFormat = identify_format(env_var_value);
      if (licenseFormat == UNKNOWN) {
         eventRegistry.addEvent(LICENSE_MALFORMED, LICENSE_LOCATION_ENV_VAR);
      } else {
         diskFiles.push_back(LICENSE_LOCATION_ENV_VAR);
         isBase64 = (licenseFormat == BASE64);
      }
   } else {
      eventRegistry.addEvent(ENVIRONMENT_VARIABLE_NOT_DEFINED,
      LICENSE_LOCATION_ENV_VAR);
   }
   return diskFiles;
}
const std::string EnvironmentVarData::retrieveLicense(const std::string &licenseLocation) const{
   return "";
const std::string EnvironmentVarData::retrieve_license_content(
      const std::string &licenseLocation) const {
   string tmpVal = getenv(LICENSE_LOCATION_ENV_VAR);
   if (isBase64) {
      int flen = 0;
      unsigned char *raw = unbase64(tmpVal.c_str(), tmpVal.length(), &flen);
      string str = string(reinterpret_cast<char*>(raw));
      free(raw);
      return str;
   }
   return tmpVal;
}
}