omni/core/ITypeFactory.gen.h
File members: omni/core/ITypeFactory.gen.h
// Copyright (c) 2020-2023, NVIDIA CORPORATION. All rights reserved.
//
// NVIDIA CORPORATION and its licensors retain all intellectual property
// and proprietary rights in and to this software, related documentation
// and any modifications thereto. Any use, reproduction, disclosure or
// distribution of this software and related documentation without an express
// license agreement from NVIDIA CORPORATION is strictly prohibited.
//
// --------- Warning: This is a build system generated file. ----------
//
#include <omni/core/OmniAttr.h>
#include <omni/core/Interface.h>
#include <omni/core/ResultError.h>
#include <functional>
#include <utility>
#include <type_traits>
#ifndef OMNI_BIND_INCLUDE_INTERFACE_IMPL
template <>
class omni::core::Generated<omni::core::ITypeFactory_abi> : public omni::core::ITypeFactory_abi
{
public:
OMNI_PLUGIN_INTERFACE("omni::core::ITypeFactory")
omni::core::ObjectPtr<omni::core::IObject> createType(omni::core::TypeId id,
const char* moduleName,
uint32_t implVersion) noexcept;
omni::core::Result registerInterfaceImplementationsFromModule(const char* moduleName,
omni::core::TypeFactoryLoadFlags flags) noexcept;
omni::core::Result unregisterInterfaceImplementationsFromModule(const char* moduleName) noexcept;
void registerInterfaceImplementations(const omni::core::InterfaceImplementation* implementations,
uint32_t implementationsCount,
omni::core::TypeFactoryLoadFlags flags) noexcept;
const char* getTypeIdName(omni::core::TypeId id) noexcept;
void setInterfaceDefaults(omni::core::TypeId interfaceId,
omni::core::TypeId implId,
const char* moduleName,
uint32_t implVersion) noexcept;
omni::core::Result getInterfaceDefaults(omni::core::TypeId interfaceId,
omni::core::TypeId* outImplId,
char* outModuleName,
uint32_t* inOutModuleNameCount,
uint32_t* outImplVersion) noexcept;
};
#endif
#ifndef OMNI_BIND_INCLUDE_INTERFACE_DECL
inline omni::core::ObjectPtr<omni::core::IObject> omni::core::Generated<omni::core::ITypeFactory_abi>::createType(
omni::core::TypeId id, const char* moduleName, uint32_t implVersion) noexcept
{
return omni::core::steal(createType_abi(id, moduleName, implVersion));
}
inline omni::core::Result omni::core::Generated<omni::core::ITypeFactory_abi>::registerInterfaceImplementationsFromModule(
const char* moduleName, omni::core::TypeFactoryLoadFlags flags) noexcept
{
return registerInterfaceImplementationsFromModule_abi(moduleName, flags);
}
inline omni::core::Result omni::core::Generated<omni::core::ITypeFactory_abi>::unregisterInterfaceImplementationsFromModule(
const char* moduleName) noexcept
{
return unregisterInterfaceImplementationsFromModule_abi(moduleName);
}
inline void omni::core::Generated<omni::core::ITypeFactory_abi>::registerInterfaceImplementations(
const omni::core::InterfaceImplementation* implementations,
uint32_t implementationsCount,
omni::core::TypeFactoryLoadFlags flags) noexcept
{
registerInterfaceImplementations_abi(implementations, implementationsCount, flags);
}
inline const char* omni::core::Generated<omni::core::ITypeFactory_abi>::getTypeIdName(omni::core::TypeId id) noexcept
{
return getTypeIdName_abi(id);
}
inline void omni::core::Generated<omni::core::ITypeFactory_abi>::setInterfaceDefaults(omni::core::TypeId interfaceId,
omni::core::TypeId implId,
const char* moduleName,
uint32_t implVersion) noexcept
{
setInterfaceDefaults_abi(interfaceId, implId, moduleName, implVersion);
}
inline omni::core::Result omni::core::Generated<omni::core::ITypeFactory_abi>::getInterfaceDefaults(
omni::core::TypeId interfaceId,
omni::core::TypeId* outImplId,
char* outModuleName,
uint32_t* inOutModuleNameCount,
uint32_t* outImplVersion) noexcept
{
return getInterfaceDefaults_abi(interfaceId, outImplId, outModuleName, inOutModuleNameCount, outImplVersion);
}
#endif
#undef OMNI_BIND_INCLUDE_INTERFACE_DECL
#undef OMNI_BIND_INCLUDE_INTERFACE_IMPL
static_assert(std::is_standard_layout<omni::core::InterfaceImplementation>::value,
"omni::core::InterfaceImplementation must be standard layout to be used in ONI ABI");