Skip to content

src/local_secure_storage/ISecureStorage.hpp

Secure Storage Interface class. More...

Namespaces

Name
sgns

Classes

Name
class sgns::ISecureStorage

Detailed Description

Secure Storage Interface class.

Date: 2024-06-05 Henrique A. Klein ([email protected])

Source code

#ifndef _I_SECURE_STORAGE_HPP_
#define _I_SECURE_STORAGE_HPP_

#include <string>

#include "outcome/outcome.hpp"
#include "singleton/IComponent.hpp"

namespace sgns
{
    class ISecureStorage : public IComponent, public std::enable_shared_from_this<ISecureStorage>
    {
    public:
        ~ISecureStorage() override = default;

        using SecureBufferType = std::string;

        virtual outcome::result<SecureBufferType> Load( const std::string &key )                                 = 0;
        virtual outcome::result<void>             Save( const std::string &key, const SecureBufferType &buffer ) = 0;
        virtual outcome::result<bool>             DeleteKey( const std::string &key )                            = 0;
    };
}

#endif

Updated on 2026-03-04 at 13:10:44 -0800