Loading...
Searching...
No Matches
BinaryNinja::MCP::Enum< T > Class Template Reference

A parameter for ToolBuilder::Param, or an item kind for List, that accepts a core enum value by its enumerator name. More...

Detailed Description

template<class T>
class BinaryNinja::MCP::Enum< T >

A parameter for ToolBuilder::Param, or an item kind for List, that accepts a core enum value by its enumerator name.

Core enums cannot be enumerated, so the values the tool accepts are listed explicitly.

Public Member Functions

 Enum (std::string name, std::string description, std::initializer_list< T > values)
rapidjson::Value Schema (detail::Allocator &allocator) const
rapidjson::Value DefaultJson (T value, detail::Allocator &allocator) const
std::string MissingMessage () const
ArgumentResult< T > Convert (ToolCall &, const rapidjson::Value &value, const ConvertedArguments &) const
Public Member Functions inherited from BinaryNinja::MCP::ValueParam< Enum< T >, T >
OptionalParam< Enum< T > > Optional () const
DefaultParam< Enum< T > > Default (T value) const
Public Member Functions inherited from BinaryNinja::MCP::Param< Enum< T >, T >
 Param (std::string name, std::string description)
const std::string & GetName () const
bool IsRequired () const
const std::string * GetRelativeTo () const
 The earlier parameter this one is evaluated relative to, if any.
void AddSchema (rapidjson::Value &properties, detail::Allocator &allocator) const
ArgumentResult< Value > Absent () const

Additional Inherited Members

Public Types inherited from BinaryNinja::MCP::Param< Enum< T >, T >
using Value
using Parsed
Protected Member Functions inherited from BinaryNinja::MCP::Param< Enum< T >, T >
const Enum< T > & Self () const
Protected Attributes inherited from BinaryNinja::MCP::Param< Enum< T >, T >
std::string m_name
std::string m_description

Constructor & Destructor Documentation

◆ Enum()

template<class T>
BinaryNinja::MCP::Enum< T >::Enum ( std::string name,
std::string description,
std::initializer_list< T > values )
inline

Member Function Documentation

◆ Schema()

template<class T>
rapidjson::Value BinaryNinja::MCP::Enum< T >::Schema ( detail::Allocator & allocator) const
inline

◆ DefaultJson()

template<class T>
rapidjson::Value BinaryNinja::MCP::Enum< T >::DefaultJson ( T value,
detail::Allocator & allocator ) const
inline

◆ MissingMessage()

template<class T>
std::string BinaryNinja::MCP::Enum< T >::MissingMessage ( ) const
inline

◆ Convert()

template<class T>
ArgumentResult< T > BinaryNinja::MCP::Enum< T >::Convert ( ToolCall & ,
const rapidjson::Value & value,
const ConvertedArguments &  ) const
inline