Files
logos-cpp-sdk/cpp/native/logos_native_api.cpp
T
2026-03-18 15:19:47 -04:00

36 lines
893 B
C++

#include "logos_native_api.h"
#include "logos_native_client.h"
#include "../logos_api.h"
#include <QDebug>
#include <QString>
NativeLogosAPI::NativeLogosAPI(LogosAPI* qtApi)
: m_qtApi(qtApi)
{
}
NativeLogosAPI::~NativeLogosAPI()
{
for (auto& [name, client] : m_clients) {
delete client;
}
}
NativeLogosClient* NativeLogosAPI::getClient(const std::string& target_module)
{
auto it = m_clients.find(target_module);
if (it != m_clients.end())
return it->second;
qDebug() << "[NATIVE API] NativeLogosAPI::getClient — creating NativeLogosClient for"
<< QString::fromStdString(target_module);
LogosAPIClient* qtClient = m_qtApi->getClient(QString::fromStdString(target_module));
if (!qtClient)
return nullptr;
auto* client = new NativeLogosClient(qtClient);
m_clients[target_module] = client;
return client;
}