6 #include <Poco/Util/AbstractConfiguration.h>
7 #include <Poco/StringTokenizer.h>
8 #include <Poco/RWLock.h>
10 #include "credentials/Credentials.h"
11 #include "model/DeviceID.h"
12 #include "util/Loggable.h"
18 typedef Poco::SharedPtr<CredentialsStorage> Ptr;
47 typedef std::function<
48 Poco::SharedPtr<Credentials> (Poco::AutoPtr<Poco::Util::AbstractConfiguration>)>
56 Poco::SharedPtr<Credentials> find(
const DeviceID &ID);
58 virtual void insertOrUpdate(
60 const Poco::SharedPtr<Credentials> credentials);
62 virtual void remove(
const DeviceID &device);
66 Poco::AutoPtr<Poco::Util::AbstractConfiguration> conf,
67 const std::string &root =
"credentials")
const;
70 Poco::AutoPtr<Poco::Util::AbstractConfiguration> rootConf,
71 const std::string &root =
"credentials");
74 Poco::RWLock &lock()
const;
76 void insertOrUpdateUnlocked(
78 const Poco::SharedPtr<Credentials> credentials);
80 void removeUnlocked(
const DeviceID &device);
84 Poco::SharedPtr<Credentials> createCredential(
85 Poco::AutoPtr<Poco::Util::AbstractConfiguration> conf);
87 std::map<DeviceID, Poco::SharedPtr<Credentials>> m_credentialsMap;
88 std::map<std::string, CredentialsFactory> m_factory;
89 mutable Poco::RWLock m_lock;
std::function< Poco::SharedPtr< Credentials >Poco::AutoPtr< Poco::Util::AbstractConfiguration >)> CredentialsFactory
Definition: CredentialsStorage.h:49
Definition: CredentialsStorage.h:16
Definition: Loggable.h:19
Definition: DeviceID.h:17