From 17cf21bcf8a2e29d2cbcf0a313474d2a4ee44f5d Mon Sep 17 00:00:00 2001 From: Tadao Tanikawa Date: Fri, 20 Nov 2020 23:36:23 +0900 Subject: Re-organized sub-directory by category Since all the sub-directories were placed in the first level, created sub-directories, "hal", "module", and "service" for classification and relocated each component. Signed-off-by: Tadao Tanikawa Change-Id: Ifdf743ac0d1893bd8e445455cf0d2c199a011d5c --- .../logger_service/server/include/ss_logger_util.h | 127 +++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100755 service/system/logger_service/server/include/ss_logger_util.h (limited to 'service/system/logger_service/server/include/ss_logger_util.h') diff --git a/service/system/logger_service/server/include/ss_logger_util.h b/service/system/logger_service/server/include/ss_logger_util.h new file mode 100755 index 0000000..a49e022 --- /dev/null +++ b/service/system/logger_service/server/include/ss_logger_util.h @@ -0,0 +1,127 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup tag_SS_LoggerService +/// \brief Provide support for SS Logger module utility functions. +/// +/////////////////////////////////////////////////////////////////////////////// +#ifndef LOGGER_SERVICE_SERVER_INCLUDE_SS_LOGGER_UTIL_H_ +#define LOGGER_SERVICE_SERVER_INCLUDE_SS_LOGGER_UTIL_H_ + +/////////////////////////////////////////////////////////////////////////////// +// INCLUDES +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include +#include +#include +#include "ss_logger_error_event_cfg.h" +#include "loggerservicedebug_loggerservicelog.h" +#include "ss_logger_cfg.h" +/////////////////////////////////////////////////////////////////////////////// +// DEFINE +/////////////////////////////////////////////////////////////////////////////// +// If you changed BUF_MAX_SIZE, To contact the secure team. +// Because There is impact for decrypt tool. +#define BUF_MAX_SIZE (1024*8) +#define USB_PATH_SIZE 64 +#ifdef RELEASE_BUILD +#define DEV_ENC_EXTENSION ".enc1" +#define REL_ENC_EXTENSION ".enc2" +#define ALIGNMENT_SIZE 4 +#endif // RELEASE_BUILD +#define LOGGER_TMP_FN "__LOGGER.tmp" + +/////////////////////////////////////////////////////////////////////////////// +// CONFIGURATION CLASS DEFINITION +/////////////////////////////////////////////////////////////////////////////// +typedef enum _ELoggerserviceLogType { + eLoggerservicelogTypeNormal, + eLoggerservicelogTypeAbnormal, + eLoggerservicelogTypeGrpRelaunch, + eLoggerservicelogTypeOther, +} ELOGGERSERVICELOGTYPE; + +class CLoggerUtil { + public: + CLoggerUtil(void); + + ~CLoggerUtil(void); + + EFrameworkunifiedStatus Initialize(CLoggerCfg *f_pLoggerCfg); + + EFrameworkunifiedStatus checkDestinationAvailable(TLoggerErrorEvent &f_eventNtfData); // NOLINT (runtime/references) + std::string getDestination(TLoggerErrorEvent &f_eventNtfData); // NOLINT (runtime/references) + EFrameworkunifiedStatus getFilePathAndName(HANDLE f_hApp, + TLoggerErrorEvent &f_eventNtfData, // NOLINT (runtime/references) + uint32_t f_time, std::string &f_pathAndName); // NOLINT (runtime/references) + void SetMilage(UI_32 f_milage); + + EFrameworkunifiedStatus getEmmcNaviLogParams(uint32_t f_time, + EPWR_SHUTDOWN_TRIGGER_TYPE errorType, + std::string &f_pathAndName, UI_32 &f_logMax); // NOLINT (runtime/references) + + EFrameworkunifiedStatus deleteOldLog(std::string log_path, + std::vector &l_vector, // NOLINT (runtime/references) + std::string &f_archive_destination, UI_32 max_num); // NOLINT (runtime/references) + EFrameworkunifiedStatus deleteOldEmmcLog(std::string &f_archive_destination, // NOLINT (runtime/references) + EErrorEventType type); + static EFrameworkunifiedStatus forceDeleteOldLog(std::string f_archive_destination, + size_t f_req_size); + static size_t deleteRequestLogs(std::string f_emmcpath, ELOGGERSERVICELOGTYPE f_reqtype, + size_t f_reqsize, ELOGGERSERVICELOGTYPE f_deltype); + static EFrameworkunifiedStatus CopyFile(std::string f_source, std::string f_destination); + static EFrameworkunifiedStatus CopyUntyped(std::string f_source, + std::string f_destination); + static EFrameworkunifiedStatus CopyDirectory(std::string f_source, + std::string f_destination); + + static EFrameworkunifiedStatus MoveFile(std::string f_source, std::string f_destination); + static EFrameworkunifiedStatus MoveUntyped(std::string f_source, + std::string f_destination); + static EFrameworkunifiedStatus MoveDirectory(std::string f_source, + std::string f_destination); + + static ELOGGERSERVICELOGTYPE QueryLoggerservicelogType(std::string f_logname); + static void SyncDir(std::string f_dir_path); +#ifdef RELEASE_BUILD + static EFrameworkunifiedStatus PathCheckAndCopyFile(std::string f_source, + std::string f_destination); +#endif // RELEASE_BUILD + void SetUsbMountPath(std::string usbpath); + + private: + std::string GetUserInvokedFilename(HANDLE f_hApp, uint32_t f_time); + std::string GetEmmcFilename(uint32_t f_time); + std::string GetEmmcErrorFilename(uint32_t f_time); + std::string GetEmmcNaviLogFilename(uint32_t f_time); + std::string GetTimeString(uint32_t f_time); + + EFrameworkunifiedStatus getNaviLogFilePathAndName(std::string &f_prefix, uint32_t f_time, // NOLINT (runtime/references) + std::string &f_pathAndName); // NOLINT (runtime/references) + + CLoggerCfg *m_pCfg; + UI_32 m_Milage; + UI_32 m_bootCount; + static char m_usbpath[USB_PATH_SIZE]; +}; + +#endif // LOGGER_SERVICE_SERVER_INCLUDE_SS_LOGGER_UTIL_H_ + -- cgit 1.2.3-korg