File Manager / inc / utils /
model-utils.h
- /*
- * Copyright 2014 - 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * 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.
- *
- */
- #ifndef MODEL_UTILS_H_
- #define MODEL_UTILS_H_
- #include "utils/app-types.h"
- #define DIR_MODE S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH
- /**
- * @brief Check wheather filepath is right
- * @param[in] fullpath Full path of checked file/folder
- * @param[in] is_dir Flag if checked file path is dir
- * @return Error code. RESULT_TYPE_OK if file path is correct
- * RESULT_TYPE_INVALID_PATH if file path is invalid
- */
- int model_utils_is_path_valid(const char *fullpath, Eina_Bool is_dir);
- /**
- * @brief Check if file exists
- * @param[in] filepath Path to file
- * @return EINA_TRUE if file exists
- * EINA_FALSE if file does not exist
- */
- Eina_Bool model_utils_is_file_exists(const char *filepath);
- /**
- * @brief Check if file is a directory
- * @param[in] filepath Path to file
- * @return EINA_TRUE if file exist and is a directory
- * EINA_FALSE if file does not exist
- */
- Eina_Bool model_utils_file_is_dir(const char *filepath);
- /**
- * @brief Get the directory where file reside
- * @param[in] filepath Path to file
- * @return The directory name
- */
- char* model_utils_get_dir_name(const char *filepath);
- /**
- * @brief Get file category by file path
- * @param[in] filepath Path to file
- * @param[out] category Type of file category
- * @return Error code. RESULT_TYPE_OK if file path is correct
- * RESULT_TYPE_INVALID_PATH if file path is invalid
- * RESULT_TYPE_FAIL if failed to get file type
- */
- int model_utils_get_file_category(const char *filepath, file_type *category);
- /**
- * @brief Get icon resource name for file type
- * @param[in] ftype File type
- * @return resource name of the icon
- */
- const char *model_utils_get_default_icon_name(file_type ftype);
- /**
- * @brief Get type of storage
- * @param[in] fullpath Full path to file/dir
- * @return type of storage where file/dir is located
- */
- storage_type model_utils_get_storage_type(const char *fullpath);
- /**
- * @brief Get "public" path to file/dir (hide real device file path)
- * @param[in] original_path Real full path to file/dir
- * @return public file path to file/dir
- */
- char *model_utils_get_public_file_path(const char *original_path);
- /**
- * @brief Check if path is a root path of storage
- * @param[in] fullpath Path to check
- * @return Storage type. Result will be STORAGE_TYPE_NONE if checked path is not a root
- */
- storage_type model_utils_is_root_path(const char *fullpath);
- /**
- * @brief Launch service to view file content
- * @param[in] file_info File info
- * @return Error code. RESULT_TYPE_OK if operation success
- */
- int model_utils_launch_file(const node_info *file_info);
- /**
- * @brief Reads directory and fills two lists with node_info structures
- * @param[in] dir_path Path to the directory to read
- * @param[in/out] dir_list List to append node_info of the sub directories
- * @param[in/out] file_list List to append node_info of files
- * @return Error code. RESULT_TYPE_OK if operation success
- */
- int model_utils_read_dir(const char *dir_path, Eina_List **dir_list, Eina_List **file_list);
- char *model_utils_get_phone_path(void);
- #endif /* MODEL_UTILS_H_ */