diff --git a/docs/changes.md b/docs/changes.md index 76540ef58f..59257678e9 100644 --- a/docs/changes.md +++ b/docs/changes.md @@ -2,6 +2,7 @@ 2024/01/12 * 实现 conf\_doc\_foreach 函数(感谢林福提供补丁) + * 实现 data\_reader\_can\_read 函数(感谢林福提供补丁) 2024/01/11 * 增加一个编译参数类型用于None的情况下识别编译传参类型以及修复app和awtk编译模式不同的问题(感谢智明提供补丁) diff --git a/src/tkc/data_reader.c b/src/tkc/data_reader.c index 5bedae3db8..a0befca320 100644 --- a/src/tkc/data_reader.c +++ b/src/tkc/data_reader.c @@ -66,3 +66,16 @@ void* data_reader_read_all(const char* url, uint32_t* size) { return data; } + +bool_t data_reader_can_read(const char* url) { + bool_t can = FALSE; + data_reader_t* reader = data_reader_factory_create_reader(data_reader_factory(), url); + if (!reader) { + return FALSE; + } + if (data_reader_get_size(reader) > 0) { + can = TRUE; + } + data_reader_destroy(reader); + return can; +} \ No newline at end of file diff --git a/src/tkc/data_reader.h b/src/tkc/data_reader.h index e59a967e4f..2a64462df5 100644 --- a/src/tkc/data_reader.h +++ b/src/tkc/data_reader.h @@ -93,6 +93,16 @@ ret_t data_reader_destroy(data_reader_t* reader); */ void* data_reader_read_all(const char* url, uint32_t* size); +/** + * @method data_reader_can_read + * 查询 url 中是否有数据。 + * + * @param {const char*} url URL。 + * + * @return {bool_t} 返回 bool_t 值。 + */ +bool_t data_reader_can_read(const char* url); + #define DATA_READER(reader) ((data_reader_t*)(reader)) END_C_DECLS