diff options
Diffstat (limited to 'src/util.cpp')
-rw-r--r-- | src/util.cpp | 55 |
1 files changed, 24 insertions, 31 deletions
diff --git a/src/util.cpp b/src/util.cpp index 0591d55..7d000b8 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1,6 +1,5 @@ /* * Copyright (c) 2017 TOYOTA MOTOR CORPORATION - * Copyright (c) 2018 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,11 +16,11 @@ #include "util.hpp" +#include <sstream> #include <time.h> #include <stdio.h> #include <stdarg.h> #include <stdlib.h> -#include <fstream> #include <unistd.h> @@ -31,7 +30,7 @@ void rectangle::fit(unsigned long to_width, unsigned long to_height) { // fit rect within (to_width x to_height) - if (to_width <= (unsigned long)width()) { + if (to_width <= width()) { // scale to fit with set_bottom(top() + (static_cast<long>(to_width) * height() / width()) - 1); set_right(left() + to_width - 1); @@ -143,38 +142,32 @@ void _DUMP(enum LOG_LEVEL level, const char *log, ...) free(message); } -std::string get_file_path(const char *file_name, const char *root_path) +std::vector<std::string> parseString(std::string str, char delimiter) { - char const *default_base_path = root_path; - std::string path(""); - - if(!file_name) { - return path; - } - - if (!default_base_path) { - default_base_path = getenv("AFM_APP_INSTALL_DIR"); - if (!default_base_path) { - HMI_ERROR("AFM_APP_INSTALL_DIR is not defined"); + // Parse string by delimiter + std::vector<std::string> vct; + std::stringstream ss{str}; + std::string buf; + while (std::getline(ss, buf, delimiter)) + { + if (!buf.empty()) + { + // Delete space and push back to vector + vct.push_back(deleteSpace(buf)); } } - if (default_base_path) { - path = default_base_path; - path.append("/etc/"); - path.append(file_name); - } + return vct; +} - // Check for over-ride in /etc/xdg/windowmanager - std::string override_path("/etc/xdg/windowmanager/"); - override_path.append(file_name); - std::ifstream i(override_path); - if (i.good()) { - path = override_path; +std::string deleteSpace(std::string str) +{ + std::string ret = str; + size_t pos; + while ((pos = ret.find_first_of(" ")) != std::string::npos) + { + ret.erase(pos, 1); } - i.close(); - - HMI_INFO("Using %s", path.c_str()); - return path; + return ret; } void ChangeAreaReq::dump() @@ -192,4 +185,4 @@ void ChangeAreaReq::dump() DUMP("update change app : %s, area:%s", req.first.c_str(), req.second.c_str()); } DUMP("======== dump end ========="); -} +}
\ No newline at end of file |