summaryrefslogtreecommitdiff
path: root/hscript/keymanager.hh
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-10-05 20:14:40 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-10-05 20:14:40 -0500
commit3d976959ac21e14b3d729ee0c81cbebd3e520612 (patch)
treee908cbc956944416a2e41b8b85357b543d34fa99 /hscript/keymanager.hh
parenta531cdb8c1e6c47e675f6c256012e61812ce0a44 (diff)
downloadhorizon-3d976959ac21e14b3d729ee0c81cbebd3e520612.tar.gz
horizon-3d976959ac21e14b3d729ee0c81cbebd3e520612.tar.bz2
horizon-3d976959ac21e14b3d729ee0c81cbebd3e520612.tar.xz
horizon-3d976959ac21e14b3d729ee0c81cbebd3e520612.zip
More API drafting
Diffstat (limited to 'hscript/keymanager.hh')
-rw-r--r--hscript/keymanager.hh8
1 files changed, 7 insertions, 1 deletions
diff --git a/hscript/keymanager.hh b/hscript/keymanager.hh
index b3cd109..347f5c2 100644
--- a/hscript/keymanager.hh
+++ b/hscript/keymanager.hh
@@ -12,6 +12,7 @@
#include <vector>
#include <string>
+#include <memory>
#include "key.hh"
namespace Horizon {
@@ -20,6 +21,11 @@ namespace Keys {
/*! Manages the Key classes. */
class KeyManager {
private:
+ /*! Internal data class used by the KeyManager. */
+ struct ManagerPrivate;
+ /*! Internal data. */
+ const std::unique_ptr<ManagerPrivate> internal;
+
/*! Create the key manager */
KeyManager();
public:
@@ -27,7 +33,7 @@ public:
static const KeyManager *getKeyManager();
/*! Add a new Key to the key manager. */
- void addKey(std::string name, bool required, int max, Key*(*key_create_fn)(void));
+ void addKey(key_desc_t description);
/*! Determines if a Key is recognised. */
void hasKey(std::string name);