Skip to content

local_secure_storage/SecureStorage.hpp

Source code

#pragma once

// Compile-time override for tests: -DSGNS_USE_MEMORY_SECURE_STORAGE
// Uses in-memory storage — no keychain prompts, no file I/O, no cleanup.
#ifdef SGNS_USE_MEMORY_SECURE_STORAGE

#include "local_secure_storage/impl/MemorySecureStorage.hpp"

namespace sgns
{
    using SecureStorageImpl = MemorySecureStorage;
}

#elif defined( __ANDROID__ )

#include "local_secure_storage/impl/Android.hpp"

namespace sgns
{
    using SecureStorageImpl = AndroidSecureStorage;
}

#elif defined( __linux__ )

#include "local_secure_storage/impl/Linux.hpp"

namespace sgns
{
    using SecureStorageImpl = LinuxSecureStorage;
}

#elif defined( _WIN32 )

#include "local_secure_storage/impl/Windows.hpp"

namespace sgns
{
    using SecureStorageImpl = WindowsSecureStorage;
}

#elif defined( __APPLE__ )

#include "local_secure_storage/impl/Apple.hpp"

namespace sgns
{
    using SecureStorageImpl = AppleSecureStorage;
}

#endif

Updated on 2026-06-05 at 17:22:19 -0700