• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 #include "nvs_handle_locked.hpp"
15 
16 namespace nvs {
17 
NVSHandleLocked(NVSHandleSimple * handle)18 NVSHandleLocked::NVSHandleLocked(NVSHandleSimple *handle) : handle(handle) {
19     Lock::init();
20 }
21 
~NVSHandleLocked()22 NVSHandleLocked::~NVSHandleLocked() {
23     Lock lock;
24     delete handle;
25 }
26 
set_string(const char * key,const char * str)27 esp_err_t NVSHandleLocked::set_string(const char *key, const char* str) {
28     Lock lock;
29     return handle->set_string(key, str);
30 }
31 
set_blob(const char * key,const void * blob,size_t len)32 esp_err_t NVSHandleLocked::set_blob(const char *key, const void* blob, size_t len) {
33     Lock lock;
34     return handle->set_blob(key, blob, len);
35 }
36 
get_string(const char * key,char * out_str,size_t len)37 esp_err_t NVSHandleLocked::get_string(const char *key, char* out_str, size_t len) {
38     Lock lock;
39     return handle->get_string(key, out_str, len);
40 }
41 
get_blob(const char * key,void * out_blob,size_t len)42 esp_err_t NVSHandleLocked::get_blob(const char *key, void* out_blob, size_t len) {
43     Lock lock;
44     return handle->get_blob(key, out_blob, len);
45 }
46 
get_item_size(ItemType datatype,const char * key,size_t & size)47 esp_err_t NVSHandleLocked::get_item_size(ItemType datatype, const char *key, size_t &size) {
48     Lock lock;
49     return handle->get_item_size(datatype, key, size);
50 }
51 
erase_item(const char * key)52 esp_err_t NVSHandleLocked::erase_item(const char* key) {
53     Lock lock;
54     return handle->erase_item(key);
55 }
56 
erase_all()57 esp_err_t NVSHandleLocked::erase_all() {
58     Lock lock;
59     return handle->erase_all();
60 }
61 
commit()62 esp_err_t NVSHandleLocked::commit() {
63     Lock lock;
64     return handle->commit();
65 }
66 
get_used_entry_count(size_t & usedEntries)67 esp_err_t NVSHandleLocked::get_used_entry_count(size_t& usedEntries) {
68     Lock lock;
69     return handle->get_used_entry_count(usedEntries);
70 }
71 
set_typed_item(ItemType datatype,const char * key,const void * data,size_t dataSize)72 esp_err_t NVSHandleLocked::set_typed_item(ItemType datatype, const char *key, const void* data, size_t dataSize) {
73     Lock lock;
74     return handle->set_typed_item(datatype, key, data, dataSize);
75 }
76 
get_typed_item(ItemType datatype,const char * key,void * data,size_t dataSize)77 esp_err_t NVSHandleLocked::get_typed_item(ItemType datatype, const char *key, void* data, size_t dataSize) {
78     Lock lock;
79     return handle->get_typed_item(datatype, key, data, dataSize);
80 }
81 
82 } // namespace nvs
83