ForestHub SDK 0.1.0
C++14 LLM SDK for PC and embedded platforms
Loading...
Searching...
No Matches
crypto.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-only
2// Copyright (c) 2026 ForestHub. All rights reserved.
3// For commercial licensing, visit https://github.com/ForestHubAI/fh-sdk
4
5#ifndef FORESTHUB_PLATFORM_CRYPTO_HPP
6#define FORESTHUB_PLATFORM_CRYPTO_HPP
7
10
11#include <memory>
12
13namespace foresthub {
14namespace platform {
15
18public:
19 virtual ~TLSClientWrapper() = default;
20
24 virtual void* GetNativeClient() = 0;
25};
26
29public:
30 virtual ~CryptoInterface() = default;
31
36 virtual std::shared_ptr<TLSClientWrapper> CreateTlsClient(const char* root_ca = nullptr,
37 unsigned long timeout_ms = 5000) = 0;
38
41 virtual const char* GetGtsRootCerts() const = 0;
42
44 virtual bool IsAvailable() const = 0;
45};
46
47} // namespace platform
48} // namespace foresthub
49
50#endif // FORESTHUB_PLATFORM_CRYPTO_HPP
Abstract interface for TLS/crypto operations.
Definition crypto.hpp:28
virtual std::shared_ptr< TLSClientWrapper > CreateTlsClient(const char *root_ca=nullptr, unsigned long timeout_ms=5000)=0
Create a TLS-enabled client with optional root CA certificate.
virtual bool IsAvailable() const =0
Check if TLS/crypto subsystem is available.
virtual const char * GetGtsRootCerts() const =0
Get the bundled Google Trust Services root certificates (for Google Cloud endpoints).
Wrapper around a platform-specific TLS client.
Definition crypto.hpp:17
virtual void * GetNativeClient()=0
Access the underlying platform-specific client.
Hardware abstraction layer: network, console, time, crypto, and GPIO interfaces.
Top-level namespace for the ForestHub SDK.