omni/kit/exec/core/unstable/IExecutionControllerFactory.gen.h

File members: omni/kit/exec/core/unstable/IExecutionControllerFactory.gen.h

// Copyright (c) 2022-2024, 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/Interface.h>
#include <omni/core/OmniAttr.h>
#include <omni/core/ResultError.h>

#include <functional>
#include <type_traits>
#include <utility>

#ifndef OMNI_BIND_INCLUDE_INTERFACE_IMPL

template <>
class omni::core::Generated<omni::kit::exec::core::unstable::IExecutionControllerFactory_abi>
    : public omni::kit::exec::core::unstable::IExecutionControllerFactory_abi
{
public:
    OMNI_PLUGIN_INTERFACE("omni::kit::exec::core::unstable::IExecutionControllerFactory")

    omni::core::ObjectPtr<omni::kit::exec::core::unstable::IExecutionController> createExecutionController(
        const char* name, omni::usd::IUsdMutex* const usdMutex) noexcept;

    void setDefaultExecutionController(
        omni::core::ObjectParam<omni::kit::exec::core::unstable::IExecutionController> controller) noexcept;

    omni::core::ObjectPtr<omni::kit::exec::core::unstable::IExecutionController> getDefaultExecutionController() noexcept;

    void clear(uint64_t moduleHash) noexcept;

    void addClearCallback(omni::core::ObjectParam<omni::kit::exec::core::unstable::IClearCallback> callback) noexcept;

    void removeClearCallback(omni::core::ObjectParam<omni::kit::exec::core::unstable::IClearCallback> callback) noexcept;

    uint64_t _generateUniqueHash() noexcept;
};

#endif

#ifndef OMNI_BIND_INCLUDE_INTERFACE_DECL

inline omni::core::ObjectPtr<omni::kit::exec::core::unstable::IExecutionController> omni::core::
    Generated<omni::kit::exec::core::unstable::IExecutionControllerFactory_abi>::createExecutionController(
        const char* name, omni::usd::IUsdMutex* const usdMutex) noexcept
{
    return omni::core::steal(createExecutionController_abi(name, usdMutex));
}

inline void omni::core::Generated<omni::kit::exec::core::unstable::IExecutionControllerFactory_abi>::setDefaultExecutionController(
    omni::core::ObjectParam<omni::kit::exec::core::unstable::IExecutionController> controller) noexcept
{
    setDefaultExecutionController_abi(controller.get());
}

inline omni::core::ObjectPtr<omni::kit::exec::core::unstable::IExecutionController> omni::core::Generated<
    omni::kit::exec::core::unstable::IExecutionControllerFactory_abi>::getDefaultExecutionController() noexcept
{
    return omni::core::steal(getDefaultExecutionController_abi());
}

inline void omni::core::Generated<omni::kit::exec::core::unstable::IExecutionControllerFactory_abi>::clear(
    uint64_t moduleHash) noexcept
{
    clear_abi(moduleHash);
}

inline void omni::core::Generated<omni::kit::exec::core::unstable::IExecutionControllerFactory_abi>::addClearCallback(
    omni::core::ObjectParam<omni::kit::exec::core::unstable::IClearCallback> callback) noexcept
{
    addClearCallback_abi(callback.get());
}

inline void omni::core::Generated<omni::kit::exec::core::unstable::IExecutionControllerFactory_abi>::removeClearCallback(
    omni::core::ObjectParam<omni::kit::exec::core::unstable::IClearCallback> callback) noexcept
{
    removeClearCallback_abi(callback.get());
}

inline uint64_t omni::core::Generated<omni::kit::exec::core::unstable::IExecutionControllerFactory_abi>::_generateUniqueHash() noexcept
{
    return _generateUniqueHash_abi();
}

#endif

#undef OMNI_BIND_INCLUDE_INTERFACE_DECL
#undef OMNI_BIND_INCLUDE_INTERFACE_IMPL