Skip to content

sgns::JSONBackend

#include <JSONBackend.hpp>

Inherits from sgns::ISecureStorage, IComponent, std::enable_shared_from_this< ISecureStorage >

Inherited by sgns::AndroidSecureStorage, sgns::AppleSecureStorage, sgns::LinuxSecureStorage, sgns::WindowsSecureStorage

Public Functions

Name
JSONBackend() =default
~JSONBackend() override =default
virtual std::string GetName() override
virtual outcome::result< SecureBufferType > Load(const std::string & key) override
virtual outcome::result< void > Save(const std::string & key, const SecureBufferType & buffer) override
virtual outcome::result< bool > DeleteKey(const std::string & key) override
virtual outcome::result< rapidjson::Document > LoadJSON() const =0
virtual outcome::result< void > SaveJSON(rapidjson::Document document) =0

Additional inherited members

Public Types inherited from sgns::ISecureStorage

Name
using std::string SecureBufferType

Public Functions inherited from sgns::ISecureStorage

Name
~ISecureStorage() override =default

Public Functions inherited from IComponent

Name
virtual ~IComponent() =default

Public Functions Documentation

function JSONBackend

JSONBackend() =default

function ~JSONBackend

~JSONBackend() override =default

function GetName

inline virtual std::string GetName() override

Reimplements: IComponent::GetName

Reimplemented by: sgns::LinuxSecureStorage::GetName, sgns::WindowsSecureStorage::GetName

function Load

virtual outcome::result< SecureBufferType > Load(
    const std::string & key
) override

Reimplements: sgns::ISecureStorage::Load

function Save

virtual outcome::result< void > Save(
    const std::string & key,
    const SecureBufferType & buffer
) override

Reimplements: sgns::ISecureStorage::Save

function DeleteKey

virtual outcome::result< bool > DeleteKey(
    const std::string & key
) override

Reimplements: sgns::ISecureStorage::DeleteKey

function LoadJSON

virtual outcome::result< rapidjson::Document > LoadJSON() const =0

Reimplemented by: sgns::AndroidSecureStorage::LoadJSON, sgns::AppleSecureStorage::LoadJSON, sgns::LinuxSecureStorage::LoadJSON, sgns::WindowsSecureStorage::LoadJSON

function SaveJSON

virtual outcome::result< void > SaveJSON(
    rapidjson::Document document
) =0

Reimplemented by: sgns::AndroidSecureStorage::SaveJSON, sgns::AppleSecureStorage::SaveJSON, sgns::LinuxSecureStorage::SaveJSON, sgns::WindowsSecureStorage::SaveJSON


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