Skip to content
Snippets Groups Projects
Commit ca43615c authored by Firat Yusuf Duran's avatar Firat Yusuf Duran :moyai:
Browse files

add getTypes

parent 5d5a369f
No related branches found
No related tags found
2 merge requests!458Fluxio/dev get types,!449Fluxio preliminary release
Pipeline #18957 failed
......@@ -187,6 +187,8 @@ module armarx
};
sequence<dto::FluxioSkill> FluxioSkillList;
dictionary<string, aron::type::dto::GenericType> FluxioTypeMap;
}
module dti
......@@ -233,6 +235,9 @@ module armarx
//** Fluxio related methods **//
//****************************//
dto::FluxioTypeMap
getTypes(); // returns all types
optional(3) string
executeFluxioSkill(string skillId); // executes a fluxio skill
......
......@@ -2,12 +2,15 @@
#include <cstddef>
#include <list>
#include <memory>
#include <optional>
#include <string>
#include <thread>
#include <tuple>
#include <vector>
#include <IceUtil/UUID.h>
#include <SimoxUtility/json/json.hpp>
#include <ArmarXCore/core/Component.h>
#include <ArmarXCore/core/logging/Logging.h>
......@@ -15,6 +18,8 @@
#include <ArmarXCore/core/time/Duration.h>
#include <ArmarXCore/core/time/ice_conversions.h>
#include "RobotAPI/libraries/aron/core/data/variant/container/Dict.h"
#include "RobotAPI/libraries/aron/core/type/variant/Variant.h"
#include "RobotAPI/libraries/skills/core/FluxioParameter.h"
#include "RobotAPI/libraries/skills/core/FluxioProfile.h"
#include "RobotAPI/libraries/skills/core/FluxioProvider.h"
......@@ -22,6 +27,8 @@
#include "RobotAPI/libraries/skills/core/FluxioValue.h"
#include "RobotAPI/libraries/skills/manager/FluxioCompositeExecutor.h"
#include "RobotAPI/libraries/skills/manager/FluxioExecutor.h"
#include <RobotAPI/interface/aron/Aron.h>
#include <RobotAPI/interface/skills/SkillManagerInterface.h>
#include <RobotAPI/libraries/aron/converter/json/NLohmannJSONConverter.h>
#include <RobotAPI/libraries/skills/core/SkillID.h>
#include <RobotAPI/libraries/skills/core/SkillStatusUpdate.h>
......@@ -47,6 +54,8 @@ namespace armarx::plugins
provider.id = "test provider";
provider.name = "test provider";
fluxioDC.providers[provider.id] = provider;
//aron::data::converter::AronNlohmannJSONConverter::ConvertToNlohmannJSON(getTypes());
}
template <typename S, typename T>
......@@ -1180,4 +1189,25 @@ namespace armarx::plugins
// mutex could not be removed
return false;
}
skills::manager::dto::FluxioTypeMap SkillManagerComponentPlugin::getTypes() {
const auto& skillDescriptions = getSkillDescriptions();
skills::manager::dto::FluxioTypeMap dict;
for (const auto& [skillId, skillDescription] : skillDescriptions)
{
if (skillDescription.parametersType == nullptr) {
continue;
}
const auto& skillTypes= skillDescription.parametersType->getMemberTypes();
for(const auto& [name, typeInfo] : skillTypes) {
dict[name] = typeInfo->toAronDTO();
}
//const auto& p2 = std::make_shared<aron::data::Dict>(skillTypes);
//dict->addElement(skillId.skillName, p2);
}
return dict;
}
} // namespace armarx::plugins
......@@ -2,12 +2,14 @@
#include <mutex>
#include <string>
#include <vector>
#include <ArmarXCore/core/ComponentPlugin.h>
#include <ArmarXCore/core/ManagedIceObject.h>
#include <ArmarXCore/core/time/DateTime.h>
#include "RobotAPI/libraries/skills/core/FluxioSkillStatusUpdate.h"
#include <RobotAPI/interface/aron/Aron.h>
#include <RobotAPI/interface/skills/SkillManagerInterface.h>
#include <RobotAPI/libraries/skills/core/FluxioEdge.h>
#include <RobotAPI/libraries/skills/core/FluxioNode.h>
......@@ -74,6 +76,8 @@ namespace armarx::plugins
//** Fluxio related methods **//
//****************************//
skills::manager::dto::FluxioTypeMap getTypes();
FluxioExecutor* executeFluxioSkill(std::string skillId,
std::string executorName = "Fluxio");
......
......@@ -6,6 +6,7 @@
#include "RobotAPI/libraries/skills/core/FluxioProfile.h"
#include "RobotAPI/libraries/skills/core/FluxioProvider.h"
#include <RobotAPI/interface/aron/Aron.h>
#include <RobotAPI/interface/skills/SkillManagerInterface.h>
namespace armarx
......@@ -156,6 +157,11 @@ namespace armarx
//** Fluxio related methods **//
//****************************//
skills::manager::dto::FluxioTypeMap SkillManagerComponentPluginUser::getTypes(const Ice::Current& current) {
const auto& res = this->plugin->getTypes();
return res;
}
IceUtil::Optional<std::string>
SkillManagerComponentPluginUser::executeFluxioSkill(const std::string& skillId,
const Ice::Current& current)
......
#pragma once
#include <Ice/Current.h>
#include <RobotAPI/interface/aron/Aron.h>
#include <RobotAPI/interface/skills/SkillManagerInterface.h>
#include "SkillManagerComponentPlugin.h"
......@@ -68,6 +70,8 @@ namespace armarx
//** Fluxio related methods **//
//****************************//
skills::manager::dto::FluxioTypeMap getTypes(const Ice::Current& current) override;
IceUtil::Optional<std::string> executeFluxioSkill(const std::string& skillId,
const Ice::Current& current) override;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment