Newer
Older
#pragma once
// Base Class
#include <optional>
#include <vector>
#include <RobotAPI/libraries/armem/server/segment/SpecializedSegment.h>
// ArmarX
#include <ArmarXCore/core/application/properties/PropertyDefinitionContainer.h>
#include <ArmarXCore/interface/core/Profiler.h>
#include <ArmarXCore/observers/ObserverObjectFactories.h>
#include <RobotAPI/interface/skills/SkillManagerInterface.h>
#include <RobotAPI/interface/skills/SkillProviderInterface.h>
#include <RobotAPI/libraries/armem_skills/aron/Skill.aron.generated.h>
#include <RobotAPI/libraries/skills/core/ProviderInfo.h>
#include <RobotAPI/libraries/skills/core/aron/FluxioProfile.aron.generated.h>
namespace armarx::skills::segment
{
class ProfileLibraryCoreSegment : public armem::server::segment::SpecializedCoreSegment
{
using Base = armem::server::segment::SpecializedCoreSegment;
public:
static constexpr const char* CoreSegmentName = "Profile";
ProfileLibraryCoreSegment(armem::server::MemoryToIceAdapter& iceMemory);
void defineProperties(PropertyDefinitionsPtr defs, const std::string& prefix);
void init();
void addProfile(const skills::manager::arondto::FluxioProfile& profile);
std::optional<std::vector<skills::manager::arondto::FluxioProfile>> getProfiles() const;
};
} // namespace armarx::skills::segment