mirror of
https://github.com/zlgopen/awtk.git
synced 2025-05-09 03:51:08 +08:00
add data_writer_write_all
This commit is contained in:
parent
ba8ed1d979
commit
b2e8464bc8
@ -2,6 +2,7 @@
|
||||
|
||||
2021/10/13
|
||||
* 增加函数str\_append\_n\_chars
|
||||
* 增加函数data\_writer\_write\_all
|
||||
|
||||
2021/10/12
|
||||
* 修复透明渐变窗口动画影响到顶层悬浮窗口的问题(感谢智明提供补丁)
|
||||
|
@ -60,3 +60,14 @@ ret_t data_writer_clear(const char* url) {
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int32_t data_writer_write_all(const char* url, const void* data, uint32_t size) {
|
||||
int32_t s = 0;
|
||||
data_writer_t* writer = data_writer_factory_create_writer(data_writer_factory(), url);
|
||||
return_value_if_fail(writer != NULL, NULL);
|
||||
|
||||
s = data_writer_write(writer, 0, data, size);
|
||||
data_writer_destroy(writer);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
@ -103,6 +103,18 @@ ret_t data_writer_destroy(data_writer_t* writer);
|
||||
*/
|
||||
ret_t data_writer_clear(const char* url);
|
||||
|
||||
/**
|
||||
* @method data_writer_write_all
|
||||
* 写入全部数据。
|
||||
*
|
||||
* @param {const char*} url URL。
|
||||
* @param {const void*} data 数据缓冲区。
|
||||
* @param {uint32_t} size 数据长度。
|
||||
*
|
||||
* @return {int32_t} 返回实际写入数据的长度。
|
||||
*/
|
||||
int32_t data_writer_write_all(const char* url, const void* data, uint32_t size);
|
||||
|
||||
#define DATA_WRITER(writer) ((data_writer_t*)(writer))
|
||||
|
||||
END_C_DECLS
|
||||
|
@ -34,3 +34,20 @@ TEST(DataWriterWbuffer, wbuffer) {
|
||||
data_writer_factory_destroy(f);
|
||||
wbuffer_deinit(&wb);
|
||||
}
|
||||
|
||||
TEST(DataWriterWbuffer, write_all) {
|
||||
wbuffer_t wb;
|
||||
char url[MAX_PATH + 1];
|
||||
data_writer_factory_t* f = data_writer_factory_create();
|
||||
|
||||
wbuffer_init_extendable(&wb);
|
||||
data_writer_wbuffer_build_url(&wb, url);
|
||||
|
||||
ASSERT_EQ(data_writer_factory_register(f, "wbuffer", data_writer_wbuffer_create), RET_OK);
|
||||
ASSERT_EQ(data_writer_write_all(url, "hello world", 11u), 11);
|
||||
ASSERT_EQ(wb.cursor, 11u);
|
||||
ASSERT_EQ(memcmp(wb.data, "hello world", 11), 0);
|
||||
|
||||
data_writer_factory_destroy(f);
|
||||
wbuffer_deinit(&wb);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user