NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
Loading...
Searching...
No Matches
native.h File Reference

C++ ownership-safe wrapper for the Program native C v1 ABI. More...

#include <neograph/api.h>
#include <neograph/graph/configuration_failure.h>
#include <neograph/program/bundle.h>
#include <neograph/program/native_abi.h>
#include <chrono>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <optional>
#include <stdexcept>
#include <string>
Include dependency graph for native.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  neograph::program::NativeControlBinding
 C++ wrapper over a C v1 plugin binding for trusted in-process dispatch only. More...
 
struct  neograph::program::NativeControlMetadata
 Immutable metadata which participates in the registry snapshot identity. More...
 
class  neograph::program::NativeControlUnavailable
 Thrown by NativeControlBinding::create where NATIVE_CONTROLS_AVAILABLE is false. More...
 
class  neograph::program::NativeInvocation
 One move-only handle for an accepted native invocation. More...
 
struct  neograph::program::NativeInvocationResult
 Host-owned terminal result; no plugin storage survives this value. More...
 
struct  neograph::program::NativeResourceDeclaration
 Declared native resource envelope. More...
 

Variables

constexpr std::uint32_t neograph::program::NATIVE_CONTROL_IMPORT_SLOT_MIN = 7
 Import slots below this value are reserved by the versioned ng command module.
 
constexpr bool neograph::program::NATIVE_CONTROLS_AVAILABLE = true
 Whether this build can load a native control plugin.
 

Detailed Description

C++ ownership-safe wrapper for the Program native C v1 ABI.

Definition in file native.h.

Variable Documentation

◆ NATIVE_CONTROL_IMPORT_SLOT_MIN

constexpr std::uint32_t neograph::program::NATIVE_CONTROL_IMPORT_SLOT_MIN = 7
inlineconstexpr

Import slots below this value are reserved by the versioned ng command module.

Native controls must be explicitly sealed at or above this boundary.

Definition at line 48 of file native.h.

◆ NATIVE_CONTROLS_AVAILABLE

constexpr bool neograph::program::NATIVE_CONTROLS_AVAILABLE = true
inlineconstexpr

Whether this build can load a native control plugin.

The C v1 ABI is the 64-bit layout, and wasm32 pads neograph_program_native_invoke_request_v1 to 32 bytes where the last field ends at 28, so a plugin built to the ABI could not be called correctly there. Such a build refuses NativeControlBinding::create with NativeControlUnavailable.

Definition at line 30 of file native.h.