Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Utils Native Lite
提交
6c25c949
U
Utils Native Lite
项目概览
OpenHarmony
/
Utils Native Lite
8 个月 前同步成功
通知
2
Star
19
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
Utils Native Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6c25c949
编写于
9月 25, 2020
作者:
O
openharmony_ci
提交者:
Gitee
9月 25, 2020
浏览文件
操作
浏览文件
下载
差异文件
!35 公共基础库功能扩展
Merge pull request !35 from liubb/master
上级
53230a08
39de2e74
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
89 addition
and
1 deletion
+89
-1
js/builtin/CMakeLists.txt
js/builtin/CMakeLists.txt
+53
-0
js/builtin/filekit/src/nativeapi_fs_impl.c
js/builtin/filekit/src/nativeapi_fs_impl.c
+20
-1
js/builtin/kvstorekit/src/nativeapi_kv_impl.c
js/builtin/kvstorekit/src/nativeapi_kv_impl.c
+16
-0
未找到文件。
js/builtin/CMakeLists.txt
0 → 100644
浏览文件 @
6c25c949
# Copyright (c) 2020 Huawei Device Co., Ltd.
# 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.
cmake_minimum_required
(
VERSION 3.1.0
)
project
(
nativeapi_storage LANGUAGES CXX
)
set
(
CMAKE_CXX_STANDARD 11
)
set
(
CMAKE_CXX_STANDARD_REQUIRED ON
)
set
(
CMAKE_INCLUDE_CURRENT_DIR ON
)
set
(
JSFWK_INTERFACES_PATH
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../../../../foundation/ace/interfaces/innerkits/builtin"
)
set
(
PARAM_INTERFACES_PATH
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../../../../base/startup/interfaces/kits/syspara_lite"
)
set
(
SECUREC_INTERFACES_PATH
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../../../../third_party/bounds_checking_function/include"
)
set
(
ABILITY_INTERFACES_PATH
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../../../../foundation/aafwk/interfaces/kits/ability_lite"
)
set
(
UI_INTERFACES_PATH
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../../../../../foundation/graphic/lite"
)
# header files
include_directories
(
${
PARAM_INTERFACES_PATH
}
${
SECUREC_INTERFACES_PATH
}
${
ABILITY_INTERFACES_PATH
}
${
CMAKE_CURRENT_SOURCE_DIR
}
/common/include
${
CMAKE_CURRENT_SOURCE_DIR
}
/deviceinfokit/include
${
CMAKE_CURRENT_SOURCE_DIR
}
/filekit/include
${
CMAKE_CURRENT_SOURCE_DIR
}
/kvstorekit/include
)
# source files
aux_source_directory
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/common/src COMMON
)
aux_source_directory
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/deviceinfokit/src DEVICEINFO
)
aux_source_directory
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/filekit/src FILEKIT
)
aux_source_directory
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/kvstorekit/src KVSTOREKIT
)
add_library
(
utils_jsapi STATIC
${
COMMON
}
${
DEVICEINFO
}
${
FILEKIT
}
${
KVSTOREKIT
}
)
target_link_libraries
(
utils_jsapi jsfwk ui
)
target_include_directories
(
utils_jsapi PUBLIC
${
ABILITY_INTERFACES_PATH
}
${
PARAM_INTERFACES_PATH
}
)
\ No newline at end of file
js/builtin/filekit/src/nativeapi_fs_impl.c
浏览文件 @
6c25c949
...
...
@@ -24,6 +24,9 @@
#include <sys/types.h>
#include <unistd.h>
#include "nativeapi_config.h"
#if (defined _WIN32 || defined _WIN64)
#include "shlwapi.h"
#endif
#define BUFFER_SIZE 512
...
...
@@ -44,9 +47,16 @@ static bool IsValidPath(const char* path)
static
int
GetRealPath
(
const
char
*
originPath
,
char
*
trustPath
,
size_t
tPathLen
)
{
#if (defined _WIN32 || defined _WIN64)
if
(
PathCanonicalize
(
originPath
,
trustPath
)
==
true
)
{
return
NATIVE_SUCCESS
;
}
#else
if
(
realpath
(
originPath
,
trustPath
)
!=
NULL
)
{
return
NATIVE_SUCCESS
;
}
#endif
if
(
errno
==
ENOENT
)
{
if
(
strncpy_s
(
trustPath
,
tPathLen
,
originPath
,
strlen
(
originPath
))
==
EOK
)
{
return
NATIVE_SUCCESS
;
...
...
@@ -124,7 +134,11 @@ static int MakeParent(const char* path, char* firstPath, size_t fPathLen, int* d
free
(
fullPath
);
return
ERROR_CODE_PARAM
;
}
#if (defined _WIN32 || defined _WIN64)
ret
=
mkdir
(
fullPath
);
#else
ret
=
mkdir
(
fullPath
,
S_IRUSR
|
S_IWUSR
|
S_IXUSR
);
#endif
if
((
ret
==
NATIVE_SUCCESS
)
&&
(
*
dirNum
==
1
))
{
if
((
strcpy_s
(
firstPath
,
fPathLen
,
fullPath
)
!=
EOK
))
{
free
(
fullPath
);
...
...
@@ -435,7 +449,12 @@ int CreateDirImpl(const char* fileName, bool recursive)
return
MkdirRecursive
(
fileName
);
}
if
(
mkdir
(
fileName
,
S_IRUSR
|
S_IWUSR
|
S_IXUSR
)
!=
NATIVE_SUCCESS
)
{
#if (defined _WIN32 || defined _WIN64)
int
ret
=
mkdir
(
fileName
);
#else
int
ret
=
mkdir
(
fileName
,
S_IRUSR
|
S_IWUSR
|
S_IXUSR
);
#endif
if
(
ret
!=
NATIVE_SUCCESS
)
{
return
(
-
errno
);
}
return
NATIVE_SUCCESS
;
...
...
js/builtin/kvstorekit/src/nativeapi_kv_impl.c
浏览文件 @
6c25c949
...
...
@@ -24,6 +24,9 @@
#include <sys/types.h>
#include <unistd.h>
#include "nativeapi_config.h"
#if (defined _WIN32 || defined _WIN64)
#include "shlwapi.h"
#endif
static
char
g_kvFolder
[
FILE_NAME_MAX_LEN
+
1
]
=
{
0
};
...
...
@@ -55,9 +58,16 @@ static int GetKvFolder(const char* dataPath)
static
int
GetRealPath
(
const
char
*
originPath
,
char
*
trustPath
,
size_t
tPathLen
)
{
#if (defined _WIN32 || defined _WIN64)
if
(
PathCanonicalize
(
originPath
,
trustPath
)
==
true
)
{
return
NATIVE_SUCCESS
;
}
#else
if
(
realpath
(
originPath
,
trustPath
)
!=
NULL
)
{
return
NATIVE_SUCCESS
;
}
#endif
if
(
errno
==
ENOENT
)
{
if
(
strncpy_s
(
trustPath
,
tPathLen
,
originPath
,
strlen
(
originPath
))
==
EOK
)
{
return
NATIVE_SUCCESS
;
...
...
@@ -75,9 +85,15 @@ int InitKv(const char* dataPath)
if
(
access
(
g_kvFolder
,
F_OK
)
==
F_OK
)
{
return
NATIVE_SUCCESS
;
}
#if (defined _WIN32 || defined _WIN64)
if
(
mkdir
(
g_kvFolder
)
!=
0
)
{
return
ERROR_CODE_GENERAL
;
}
#else
if
(
mkdir
(
g_kvFolder
,
S_IRUSR
|
S_IWUSR
|
S_IXUSR
)
!=
0
)
{
return
ERROR_CODE_GENERAL
;
}
#endif
return
NATIVE_SUCCESS
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录