#pragma once // Base Class #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); size_t size() const; }; } // namespace armarx::skills::segment