File System Store Example

Committer:
Offir Kochalsky
Date:
Sun Nov 11 14:23:40 2018 +0200
Revision:
1:82aae36f032f
Parent:
0:375857320a2e
remove unneccessary includes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Offir Kochalsky 0:375857320a2e 1 /* mbed Microcontroller Library
Offir Kochalsky 0:375857320a2e 2 * Copyright (c) 2018 ARM Limited
Offir Kochalsky 0:375857320a2e 3 *
Offir Kochalsky 0:375857320a2e 4 * Licensed under the Apache License, Version 2.0 (the "License");
Offir Kochalsky 0:375857320a2e 5 * you may not use this file except in compliance with the License.
Offir Kochalsky 0:375857320a2e 6 * You may obtain a copy of the License at
Offir Kochalsky 0:375857320a2e 7 *
Offir Kochalsky 0:375857320a2e 8 * http://www.apache.org/licenses/LICENSE-2.0
Offir Kochalsky 0:375857320a2e 9 *
Offir Kochalsky 0:375857320a2e 10 * Unless required by applicable law or agreed to in writing, software
Offir Kochalsky 0:375857320a2e 11 * distributed under the License is distributed on an "AS IS" BASIS,
Offir Kochalsky 0:375857320a2e 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Offir Kochalsky 0:375857320a2e 13 * See the License for the specific language governing permissions and
Offir Kochalsky 0:375857320a2e 14 * limitations under the License.
Offir Kochalsky 0:375857320a2e 15 */
Offir Kochalsky 0:375857320a2e 16
Offir Kochalsky 0:375857320a2e 17 #include "BlockDevice.h"
Offir Kochalsky 0:375857320a2e 18 #include "FileSystem.h"
Offir Kochalsky 0:375857320a2e 19 #include "FileSystemStore.h"
Offir Kochalsky 1:82aae36f032f 20
Offir Kochalsky 0:375857320a2e 21 using namespace mbed;
Offir Kochalsky 0:375857320a2e 22
Offir Kochalsky 0:375857320a2e 23 #define EXAMPLE_VALUE_BUF_SIZE 64
Offir Kochalsky 0:375857320a2e 24 #define EXAMPLE_KEY_SIZE 16
Offir Kochalsky 0:375857320a2e 25
Offir Kochalsky 0:375857320a2e 26 int main()
Offir Kochalsky 0:375857320a2e 27 {
Offir Kochalsky 0:375857320a2e 28 printf("\n--- Mbed OS FileSystemStore example ---\n");
Offir Kochalsky 0:375857320a2e 29
Offir Kochalsky 0:375857320a2e 30 BlockDevice *bd = BlockDevice::get_default_instance();
Offir Kochalsky 0:375857320a2e 31 FileSystem *fs = FileSystem::get_default_instance();
Offir Kochalsky 0:375857320a2e 32
Offir Kochalsky 0:375857320a2e 33 char kv_value1[EXAMPLE_VALUE_BUF_SIZE] = {"value1value1value1value1value1value1"};
Offir Kochalsky 0:375857320a2e 34 char kv_key1[16] = {"key1"};
Offir Kochalsky 0:375857320a2e 35 char kv_value2[EXAMPLE_VALUE_BUF_SIZE] = {"value2value2value2value2value2value2"};
Offir Kochalsky 0:375857320a2e 36 char kv_key2[16] = {"key2"};
Offir Kochalsky 0:375857320a2e 37 char kv_buf[EXAMPLE_VALUE_BUF_SIZE] = {0};
Offir Kochalsky 0:375857320a2e 38 int err = 0;
Offir Kochalsky 0:375857320a2e 39 size_t actual_size = 0;
Offir Kochalsky 0:375857320a2e 40
Offir Kochalsky 0:375857320a2e 41 err = bd->init();
Offir Kochalsky 0:375857320a2e 42 printf("bd.init -> %d\n", err);
Offir Kochalsky 0:375857320a2e 43
Offir Kochalsky 0:375857320a2e 44 err = fs->mount(bd);
Offir Kochalsky 0:375857320a2e 45 if (err) {
Offir Kochalsky 0:375857320a2e 46 err = fs->reformat(bd);
Offir Kochalsky 0:375857320a2e 47 }
Offir Kochalsky 0:375857320a2e 48
Offir Kochalsky 0:375857320a2e 49 FileSystemStore *fsst = new FileSystemStore(fs);
Offir Kochalsky 0:375857320a2e 50
Offir Kochalsky 0:375857320a2e 51 err = fsst->init();
Offir Kochalsky 0:375857320a2e 52 printf("fsst.init -> %d\n", err);
Offir Kochalsky 0:375857320a2e 53
Offir Kochalsky 0:375857320a2e 54 err = fsst->reset();
Offir Kochalsky 0:375857320a2e 55 printf("fsst.reset -> %d\n", err);
Offir Kochalsky 0:375857320a2e 56
Offir Kochalsky 0:375857320a2e 57 /* Set (key1,val1) */
Offir Kochalsky 0:375857320a2e 58 err = fsst->set(kv_key1, kv_value1, strlen(kv_value1), 0);
Offir Kochalsky 0:375857320a2e 59 printf("fsst.set %s -> %d\n", kv_key1, err);
Offir Kochalsky 0:375857320a2e 60
Offir Kochalsky 0:375857320a2e 61 /* Set (key2,val2) */
Offir Kochalsky 0:375857320a2e 62 err = fsst->set(kv_key2, kv_value2, strlen(kv_value2), 0);
Offir Kochalsky 0:375857320a2e 63 printf("fsst.set %s -> %d\n", kv_key2, err);
Offir Kochalsky 0:375857320a2e 64
Offir Kochalsky 0:375857320a2e 65 /* Get key1 */
Offir Kochalsky 0:375857320a2e 66 memset(kv_buf, 0, EXAMPLE_VALUE_BUF_SIZE);
Offir Kochalsky 0:375857320a2e 67 err = fsst->get(kv_key1, kv_buf, EXAMPLE_VALUE_BUF_SIZE, &actual_size, 0);
Offir Kochalsky 0:375857320a2e 68 printf("fsst.get %s -> %s\n", kv_key1, kv_buf);
Offir Kochalsky 0:375857320a2e 69
Offir Kochalsky 0:375857320a2e 70 /* Get key2 */
Offir Kochalsky 0:375857320a2e 71 memset(kv_buf, 0, EXAMPLE_VALUE_BUF_SIZE);
Offir Kochalsky 0:375857320a2e 72 err = fsst->get(kv_key2, kv_buf, EXAMPLE_VALUE_BUF_SIZE, &actual_size, 0);
Offir Kochalsky 0:375857320a2e 73 printf("fsst.get %s -> %s\n", kv_key2, kv_buf);
Offir Kochalsky 0:375857320a2e 74
Offir Kochalsky 0:375857320a2e 75 err = fsst->reset();
Offir Kochalsky 0:375857320a2e 76 printf("fsst.reset -> %d\n", err);
Offir Kochalsky 0:375857320a2e 77
Offir Kochalsky 0:375857320a2e 78 err = fsst->deinit();
Offir Kochalsky 0:375857320a2e 79 printf("fsst.deinit -> %d\n", err);
Offir Kochalsky 0:375857320a2e 80
Offir Kochalsky 0:375857320a2e 81 err = bd->deinit();
Offir Kochalsky 0:375857320a2e 82 printf("bd.deinit -> %d\n", err);
Offir Kochalsky 0:375857320a2e 83
Offir Kochalsky 0:375857320a2e 84 return 0;
Offir Kochalsky 0:375857320a2e 85 }
Offir Kochalsky 0:375857320a2e 86