54 lines
1.4 KiB
C++
54 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <cassert>
|
|
|
|
#include "calrt_utils.h"
|
|
#include "calrt_vdevice.h"
|
|
#include "calrt_calbin.h"
|
|
|
|
namespace calrt
|
|
{
|
|
|
|
// template<typename CalculetDevice>
|
|
// CalrtError_e configure(CalculetDevice *vDev, Calbin *pParser)
|
|
// {
|
|
// using DECAYTYPE = std::decay_t<CalculetDevice>;
|
|
// REPORT_CALRT_ERROR_IF(CalrtErrorAssert, vDev != nullptr, "Device pointer is nullptr");
|
|
// if constexpr(std::is_same_v<VirtualDevice, DECAYTYPE>)
|
|
// {
|
|
// auto physicalDev = vDev->GetDevice();
|
|
// return configure_impl(physicalDev.get(), pParser);
|
|
// }
|
|
// else if constexpr(std::is_base_of_v<CalrtDevice, DECAYTYPE>)
|
|
// {
|
|
// return configure_impl(vDev, pParser);
|
|
// }
|
|
// else
|
|
// {
|
|
// return CalrtErrorInvalidConfiguration;
|
|
// }
|
|
// }
|
|
|
|
/**
|
|
* @brief
|
|
*
|
|
* @param vDevPtr
|
|
* @param pCalbin
|
|
* @param dumpIni enable dump configuration ini. default: disable
|
|
* @return CalrtError_e
|
|
*/
|
|
CALRT_API CalrtError_e configure(VirtualDevice* vDevPtr, Calbin *pCalbin, bool dumpIni=false);
|
|
|
|
/**
|
|
* @brief
|
|
*
|
|
* @param devPtr
|
|
* @param pCalbin
|
|
* @param dumpIni enable dump configuration ini. default: disable
|
|
* @return CalrtError_e
|
|
*/
|
|
CALRT_API CalrtError_e configure(std::unique_ptr<VirtualDevice>& vDevPtr, Calbin *pCalbin, bool dumpIni=false);
|
|
|
|
CALRT_API CalbinModel* findModel(std::vector<CalbinModel> &modelList, const char *name);
|
|
}
|