3 * Copyright (c) 2021 Project CHIP Authors
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
24 #include <core/CHIPPersistentStorageDelegate.h>
26 class PythonPersistentStorageDelegate;
28 typedef void (*GetKeyValueFunct)(const uint8_t * key, uint8_t * value, uint16_t * size);
29 typedef void (*SetKeyValueFunct)(const uint8_t * key, const uint8_t * value);
30 typedef void (*DeleteKeyValueFunct)(const uint8_t * key);
33 namespace Controller {
35 class PythonPersistentStorageDelegate : public PersistentStorageDelegate
38 PythonPersistentStorageDelegate() {}
39 void SetStorageDelegate(PersistentStorageResultDelegate * delegate) override;
40 CHIP_ERROR SyncGetKeyValue(const char * key, char * value, uint16_t & size) override;
41 void AsyncSetKeyValue(const char * key, const char * value) override;
42 void AsyncDeleteKeyValue(const char * key) override;
45 PersistentStorageResultDelegate * mDelegate;
46 std::map<std::string, std::string> mStorage;
49 } // namespace Controller