IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::ModuleNegotiatorBase Class Reference

Helper type over the ModuleNegotiatorAPI type. More...

#include <ice/module_negotiator.hxx>

Inheritance diagram for ice::ModuleNegotiatorBase:
ice::ModuleQuery ice::ModuleNegotiatorTagged< Tag >

Public Member Functions

 ModuleNegotiatorBase (ice::ModuleNegotiatorAPI *negotiator_api, ice::ModuleNegotiatorAPIContext *negotiator_context) noexcept
bool from_app () const noexcept
bool query_apis (ice::StringID_Arg api_name, ice::u32 api_version, ice::ModuleAPI *out_array, ice::u32 *inout_array_size) const noexcept override
 \copy ice::ModuleQuery::query_apis
bool register_api (ice::StringID_Arg api_name, ice::FnModuleSelectAPI *fn_api_selector) const noexcept
 Registers an API selector function with the given API name.
Public Member Functions inherited from ice::ModuleQuery
virtual ~ModuleQuery () noexcept=default
virtual bool query_api (ice::StringID_Arg api_name, ice::u32 version, ice::ModuleAPI &out_api) const noexcept
 Queries an API info for the given name and version.
template<typename Type>
requires (ice::concepts::APIType<Type>)
bool query_api (Type &api_struct) const noexcept
 Queries a single API for the given API struct.
template<typename Type>
requires (ice::concepts::APIType<Type>)
bool query_apis (ice::Array< Type > &out_apis) const noexcept
 Queries all APIs for the given API struct.

Public Attributes

ice::ModuleNegotiatorAPInegotiator_api
ice::ModuleNegotiatorAPIContext * negotiator_context

Detailed Description

Helper type over the ModuleNegotiatorAPI type.

Provides a more convenient way to register and query APIs.

Constructor & Destructor Documentation

◆ ModuleNegotiatorBase()

ice::ModuleNegotiatorBase::ModuleNegotiatorBase ( ice::ModuleNegotiatorAPI * negotiator_api,
ice::ModuleNegotiatorAPIContext * negotiator_context )
inlinenoexcept

Member Function Documentation

◆ from_app()

bool ice::ModuleNegotiatorBase::from_app ( ) const
noexcept
Returns
'true' when the module is loaded in the main application context.

◆ query_apis()

bool ice::ModuleNegotiatorBase::query_apis ( ice::StringID_Arg api_name,
ice::u32 api_version,
ice::ModuleAPI * out_array,
ice::u32 * inout_array_size ) const
overridevirtualnoexcept

◆ register_api()

bool ice::ModuleNegotiatorBase::register_api ( ice::StringID_Arg api_name,
ice::FnModuleSelectAPI * fn_api_selector ) const
noexcept

Registers an API selector function with the given API name.

Member Data Documentation

◆ negotiator_api

ice::ModuleNegotiatorAPI* ice::ModuleNegotiatorBase::negotiator_api

◆ negotiator_context

ice::ModuleNegotiatorAPIContext* ice::ModuleNegotiatorBase::negotiator_context

The documentation for this class was generated from the following file: