From 947c78887e791596d4a5ec2d1079f8b1a049628b Mon Sep 17 00:00:00 2001 From: takeshi_hoshina Date: Tue, 27 Oct 2020 11:16:21 +0900 Subject: basesystem 0.1 --- .../include/native_service/ns_util_directory.h | 160 +++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 nsframework/framework_unified/client/include/native_service/ns_util_directory.h (limited to 'nsframework/framework_unified/client/include/native_service/ns_util_directory.h') diff --git a/nsframework/framework_unified/client/include/native_service/ns_util_directory.h b/nsframework/framework_unified/client/include/native_service/ns_util_directory.h new file mode 100644 index 00000000..945275c0 --- /dev/null +++ b/nsframework/framework_unified/client/include/native_service/ns_util_directory.h @@ -0,0 +1,160 @@ +/** + * @file ns_util_directory.h + * @brief \~english This file contains declaration of ns_util_directory. + * + */ +/* + * @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. + */ + +////////////////////////////////////////////////////////////////////////////////////////////////// +/// \brief This file contains utility functions to handle file and folder operations. +/// +/// +/// +////////////////////////////////////////////////////////////////////////////////////////////////// + + + +#ifndef NS_NS_UTILITYCENTER_INC_NS_UTIL_DIRECTORY_H_ // NOLINT (build/header_guard) +#define NS_NS_UTILITYCENTER_INC_NS_UTIL_DIRECTORY_H_ + +#include +#include +#include + +/** @addtogroup BaseSystem + * @{ + */ +/** @addtogroup native_service + * @ingroup BaseSystem + * @{ + */ +/** @addtogroup framework_unified + * @ingroup native_service + * @{ + */ +/** @addtogroup utility + * @ingroup framework_unified + * @{ + */ + +/** + * \~english an abbreviation for std::vector + */ +typedef std::vector< std::string > TFileList; + +/** + * \~english a abbreviation for std::vector::iterator + */ +typedef TFileList::iterator TFileListIterator; + +#ifdef __cplusplus +extern "C" { +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NS_UtilityCenter +/// \~english @par Brief +/// Get the name of files existing in a specific directory +/// \~english @param [in] f_pc_path +/// PCSTR - the directory path +/// \~english @param [out] f_pv_tfile_list +/// TFileList - store the name of the files in the specific directory +/// \~english @retval eFrameworkunifiedStatusOK : Success +/// \~english @retval eFrameworkunifiedStatusInvldParam : Invalid Param +/// \~english @retval eFrameworkunifiedStatusNullPointer : NULL Pointer +/// \~english @retval eFrameworkunifiedStatusFail : Abnormal Error +/// +/// \~english @par Prerequisite +/// - None +/// \~english @par Change of internal state +/// - None +/// \~english @par Conditions of processing failure +/// - The pointer f_pv_tfile_list or f_pc_path is NULL. [eFrameworkunifiedStatusInvldParam] +/// - Failed to open the directory f_pc_path. [eFrameworkunifiedStatusFail] +/// - Failed to new a buffer for inner using. [eFrameworkunifiedStatusNullPointer] +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync Only +/// \~english @par Detail +/// The function gets all the name of the file locating at the directory f_pc_path and stores \n +/// them in f_pv_tfile_list. +/// \~english @see +//////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus GetFileList(TFileList * f_pv_tfile_list, PCSTR f_pc_path); + +//////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NS_UtilityCenter +/// \~english @par Brief +/// Check whether the directory is existing or not. +/// \~english @param [in] f_c_dir_path +/// std::string - the directory to be checked +/// \~english @retval TRUE: the directory is existing. +/// FALSE: the directory is not existing. +/// \~english @par Prerequisite +/// - None +/// \~english @par Change of internal state +/// - None +/// \~english @par Conditions of processing failure +/// - None +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync Only +/// \~english @par Detail +/// The function checks whether the directory is existing or not. +/// \~english @see +//////////////////////////////////////////////////////////////////////////////////////////////// +BOOL DoesDirecotryExist(std::string f_c_dir_path); + +//////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NS_UtilityCenter +/// \~english @par Brief +/// Create the directory f_c_dir_path. +/// \~english @param [in] f_c_dir_path +/// std::string - the directory to be created +/// \~english @retval eFrameworkunifiedStatusOK : Success +/// \~english @retval eFrameworkunifiedStatusFail : Abnormal Error +/// +/// \~english @par Prerequisite +/// - None +/// \~english @par Change of internal state +/// - None +/// \~english @par Conditions of processing failure +/// - The input param f_c_dir_path is empty. [eFrameworkunifiedStatusFail] +/// - Faild to create(mkdir) the direcory. [eFrameworkunifiedStatusFail] +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync Only +/// \~english @par Detail +/// The function creates the directory f_c_dir_path. +/// \~english @see +//////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus CreateDirectory(std::string f_c_dir_path); + + +#ifdef __cplusplus +} +#endif + +#endif // NS_NS_UTILITYCENTER_INC_NS_UTIL_DIRECTORY_H_ NOLINT (build/header_guard) + +/** @}*/ // end of utility +/** @}*/ // end of framework_unified +/** @}*/ // end of native_service +/** @}*/ // end of BaseSystem -- cgit 1.2.3-korg