// Copyright (c) 2018-2020, 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.
//
#pragma once

#include <carb/Defines.h>
#include <carb/Types.h>
#include <carb/fastcache/FastCacheTypes.h>

#include <map>
#include <string>
#include <vector>

namespace carb
{

namespace fastcache
{

/**
    Hydra API (used by hydra scene/render delegate, DO NOT use in other plugins)
*/
struct FastCacheHydra
{
    CARB_PLUGIN_INTERFACE("carb::fastcache::FastCacheHydra", 0, 2)

    // Create an entry for a single prim
    // TODO: This is to enable XR controllers to be updated
    // this needs a better solution
    void(CARB_ABI* populatePrim)(UsdPrimPtr prim);
};
} // namespace fastcache
} // namespace carb
