key-store.h 653 B

1234567891011121314151617181920212223242526272829
  1. #pragma once
  2. #include <stdint.h>
  3. #include <list>
  4. #include "key-info.h"
  5. #include "../ibutton-key.h"
  6. class KeyStore {
  7. public:
  8. uint16_t get_key_count();
  9. uint8_t add_key();
  10. void set_key_type(uint8_t index, iButtonKeyType type);
  11. void set_key_name(uint8_t index, char* name);
  12. void set_key_data(uint8_t index, uint8_t* data, uint8_t data_size);
  13. iButtonKeyType get_key_type(uint8_t index);
  14. const char* get_key_name(uint8_t index);
  15. uint8_t* get_key_data(uint8_t index);
  16. void remove_key(uint8_t index);
  17. KeyStore();
  18. ~KeyStore();
  19. private:
  20. std::list<iButtonKey> store;
  21. iButtonKey* get_key(uint8_t index);
  22. };