![]() |
BeeeOn Gateway
v2020.3.1-2-g6f737dc
Platform to interconnect the IoT world
|
Public Types | |
|
typedef Poco::SharedPtr < CredentialsStorage > | Ptr |
| typedef std::function < Poco::SharedPtr< Credentials > Poco::AutoPtr < Poco::Util::AbstractConfiguration >)> | CredentialsFactory |
Public Member Functions | |
| CredentialsStorage (const std::map< std::string, CredentialsFactory > &factory) | |
| Poco::SharedPtr< Credentials > | find (const DeviceID &ID) |
| virtual void | insertOrUpdate (const DeviceID &device, const Poco::SharedPtr< Credentials > credentials) |
| virtual void | remove (const DeviceID &device) |
| virtual void | clear () |
| void | save (Poco::AutoPtr< Poco::Util::AbstractConfiguration > conf, const std::string &root="credentials") const |
| void | load (Poco::AutoPtr< Poco::Util::AbstractConfiguration > rootConf, const std::string &root="credentials") |
Protected Member Functions | |
| Poco::RWLock & | lock () const |
| void | insertOrUpdateUnlocked (const DeviceID &device, const Poco::SharedPtr< Credentials > credentials) |
| void | removeUnlocked (const DeviceID &device) |
| void | clearUnlocked () |
Protected Member Functions inherited from BeeeOn::Loggable | |
| void | setupLogger (Poco::Logger *logger=0) const |
| Poco::Logger & | logger () const |
| Loggable (const ClassInfo &info) | |
| Loggable (const std::type_info &info) | |
Additional Inherited Members | |
Static Protected Member Functions inherited from BeeeOn::Loggable | |
| static Poco::Logger & | forMethod (const char *name) |
| static Poco::Logger & | forClass (const ClassInfo &info) |
| static Poco::Logger & | forClass (const std::type_info &info) |
| template<typename T > | |
| static Poco::Logger & | forInstance (const T *i) |
| static void | configureSimple (Poco::Logger &logger, const std::string &level) |
| static void | logException (Poco::Logger &logger, const Poco::Message::Priority priority, const Poco::Exception &e, const char *file, size_t line) |
| typedef std::function< Poco::SharedPtr<Credentials>Poco::AutoPtr<Poco::Util::AbstractConfiguration>)> BeeeOn::CredentialsStorage::CredentialsFactory |
Factory method to construct a Credentials instance from the AbstractConfiguration. The given configuration is a view into the last level of the credentials key.
Example:
Configuration:
credentials.0xff0123456789abcd.type = sometype credentials.0xff0123456789abcd.value = X
is send to function CredentialsStorage::load and transformed into:
type = sometype value = X
The corresponding CredentialsFactory function is selected from CredentialsStorage::m_factory based on the "type". It creates the appropriate Credentials instance from the transformed configuration.
1.8.5