mirror of
https://github.com/logos-co/logos-cpp-sdk.git
synced 2026-08-31 01:31:10 +00:00
use updated capability module (#85)
* use refactored capability module use refactored capability module remove unneded comments * use cpp types
This commit is contained in:
@@ -95,11 +95,11 @@ QVariant LogosAPIClient::invokeRemoteMethod(const QString& objectName, const QSt
|
||||
if (token.isEmpty() && objectName != "capability_module" && m_capability_consumer) {
|
||||
qDebug() << "LogosAPIClient: calling requestModule for" << objectName;
|
||||
QString capabilityToken = getToken("capability_module");
|
||||
QVariant result = m_capability_consumer->invokeRemoteMethod(
|
||||
capabilityToken, "capability_module", "requestModule",
|
||||
QVariantList() << m_origin_module << objectName, timeout);
|
||||
qDebug() << "LogosAPIClient: requestModule result for" << objectName << ":" << result.toString();
|
||||
token = result.toString();
|
||||
token = QString::fromStdString(
|
||||
m_capability_consumer->requestModule(capabilityToken.toStdString(),
|
||||
m_origin_module.toStdString(),
|
||||
objectName.toStdString()));
|
||||
qDebug() << "LogosAPIClient: requestModule result for" << objectName << ":" << token;
|
||||
}
|
||||
|
||||
return m_consumer->invokeRemoteMethod(token, objectName, methodName, args, timeout);
|
||||
|
||||
@@ -204,3 +204,21 @@ bool LogosAPIConsumer::informModuleToken_module(const QString& authToken, const
|
||||
plugin->release();
|
||||
return result;
|
||||
}
|
||||
|
||||
std::string LogosAPIConsumer::requestModule(const std::string& authToken, const std::string& originModule, const std::string& targetModule)
|
||||
{
|
||||
const QString qOrigin = QString::fromStdString(originModule);
|
||||
const QString qTarget = QString::fromStdString(targetModule);
|
||||
qDebug() << "LogosAPIConsumer: requestModule for origin:" << qOrigin << "target:" << qTarget;
|
||||
|
||||
LogosObject* plugin = m_transport->requestObject("capability_module", 20000);
|
||||
if (!plugin) {
|
||||
qWarning() << "LogosAPIConsumer: Failed to acquire plugin/replica for object: capability_module";
|
||||
return {};
|
||||
}
|
||||
|
||||
QVariant result = plugin->callMethod(QString::fromStdString(authToken), QStringLiteral("requestModule"),
|
||||
QVariantList() << qOrigin << qTarget, 20000);
|
||||
plugin->release();
|
||||
return result.toString().toStdString();
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <QMap>
|
||||
#include <functional>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
#include "logos_mode.h"
|
||||
#include "logos_transport_config.h"
|
||||
@@ -106,6 +107,7 @@ public:
|
||||
public slots:
|
||||
bool informModuleToken(const QString& authToken, const QString& moduleName, const QString& token);
|
||||
bool informModuleToken_module(const QString& authToken, const QString& originModule, const QString& moduleName, const QString& token);
|
||||
std::string requestModule(const std::string& authToken, const std::string& originModule, const std::string& targetModule);
|
||||
|
||||
private:
|
||||
std::unique_ptr<LogosTransportConnection> m_transport;
|
||||
|
||||
Reference in New Issue
Block a user