/* * Copyright (c) Contributors to the Open 3D Engine Project * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #pragma once #include namespace AssetBuilderSDK { struct AssetBuilderDesc; } namespace PythonAssetBuilder { class PythonAssetBuilderRequests : public AZ::EBusTraits { public: ////////////////////////////////////////////////////////////////////////// // EBusTraits overrides static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single; static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single; ////////////////////////////////////////////////////////////////////////// //! registers an asset builder using a builder descriptor virtual AZ::Outcome RegisterAssetBuilder(const AssetBuilderSDK::AssetBuilderDesc& desc) = 0; //! fetches the current executable folder virtual AZ::Outcome GetExecutableFolder() const = 0; }; using PythonAssetBuilderRequestBus = AZ::EBus; }