46 lines
1.1 KiB
C
46 lines
1.1 KiB
C
|
/*
|
||
|
* Copyright (c) 2020, Armink, <armink.ztl@gmail.com>
|
||
|
*
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* @file
|
||
|
* @brief basic KV samples.
|
||
|
*
|
||
|
* basic Key-Value Database KV feature samples
|
||
|
*/
|
||
|
|
||
|
#include <flashdb.h>
|
||
|
|
||
|
#ifdef FDB_USING_KVDB
|
||
|
|
||
|
#define FDB_LOG_TAG "[sample][kvdb][basic]"
|
||
|
|
||
|
void kvdb_basic_sample(fdb_kvdb_t kvdb)
|
||
|
{
|
||
|
struct fdb_blob blob;
|
||
|
int boot_count = 0;
|
||
|
|
||
|
{ /* GET the KV value */
|
||
|
/* get the "boot_count" KV value */
|
||
|
fdb_kv_get_blob(kvdb, "boot_count", fdb_blob_make(&blob, &boot_count, sizeof(boot_count)));
|
||
|
/* the blob.saved.len is more than 0 when get the value successful */
|
||
|
if (blob.saved.len > 0) {
|
||
|
FDB_INFO("get the 'boot_count' value is %d\n", boot_count);
|
||
|
} else {
|
||
|
FDB_INFO("get the 'boot_count' failed\n");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
{ /* CHANGE the KV value */
|
||
|
/* increase the boot count */
|
||
|
boot_count ++;
|
||
|
/* change the "boot_count" KV's value */
|
||
|
fdb_kv_set_blob(kvdb, "boot_count", fdb_blob_make(&blob, &boot_count, sizeof(boot_count)));
|
||
|
FDB_INFO("set the 'boot_count' value to %d\n", boot_count);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif /* FDB_USING_KVDB */
|