1 /*
2 * Copyright (C) 2015-2021 Alibaba Group Holding Limited
3 */
4
5 #include "aos/kv.h"
6 #if AOS_COMP_CLI
7 #include "aos/cli.h"
8 #endif
9
10 /*
11 kv_init has been called in aos_components_init, but can called repeatedly.
12 #ifdef AOS_COMP_KV
13 kv_init();
14 #endif
15 */
16
kv_comp_example(int argc,char ** argv)17 static void kv_comp_example(int argc, char **argv)
18 {
19 (void)argc;
20 (void)argv;
21 char *key = "test_kv_key";
22 char *set_value = "test_kv_value";
23 int set_len = strlen(set_value);
24 char get_value[32] = {0};
25 int get_len = 32;
26 int ret = -1;
27
28 ret = aos_kv_set(key, set_value, set_len, 1);
29 if(ret){
30 printf("kv comp test fail! aos_kv_set ret:%d\r\n", ret);
31 return;
32 }
33
34 ret = aos_kv_get(key, get_value, &get_len);
35 if(ret){
36 printf("kv comp test fail! aos_kv_get ret:%d\r\n", ret);
37 return;
38 }
39
40 if(get_len != set_len){
41 printf("kv comp test fail! get_len != set_len, get_len:%d\r\n", get_len);
42 return;
43 }
44
45 if(strcmp(get_value, set_value)){
46 printf("kv comp test fail! get value not right! get_value:%s\r\n", get_value);
47 return;
48 }
49
50 printf("kv comp test success!\r\n");
51 return;
52 }
53
54 #if AOS_COMP_CLI
55 /* reg args: fun, cmd, description*/
56 ALIOS_CLI_CMD_REGISTER(kv_comp_example, kv_example, kv component base example)
57 #endif
58