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