Go to the documentation of this file.
28 #include <type_traits>
35 #include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
44 #include <armarx/control/core/Controller.h>
45 #include <armarx/control/interface/ConfigurableNJointControllerInterface.h>
46 #include <armarx/control/memory/config/Reader.h>
47 #include <armarx/control/memory/config/Writer.h>
52 class MemoryNameSystem;
62 class RobotUnitComponentPlugin;
79 template <
auto T,
typename... Args>
84 using BuilderT = decltype(concreteControllerBuilder<T>(args...));
88 "This controller type is not supported at the moment!");
90 return concreteControllerBuilder<T>(args...);
97 return createControllerBuilder<T>(robotUnitPlugin->
getRobotUnit(),
106 return *robotUnitPlugin;
115 memory::config::Reader&
119 return configReader.value();
122 memory::config::Writer&
126 return configWriter.value();
130 template <
auto T,
typename... Args>
132 concreteControllerBuilder(Args... args)
139 std::optional<memory::config::Reader> configReader;
140 std::optional<memory::config::Writer> configWriter;
~ComponentPluginUser() override
const std::string & prefix() const
ManagedIceObject & parent()
#define ARMARX_CHECK_NOT_NULL(ptr)
This macro evaluates whether ptr is not null and if it turns out to be false it will throw an Express...
memory::config::Writer & configMemoryWriter()
memory::config::Reader & configMemoryReader()
This file is part of ArmarX.
This file is part of ArmarX.
#define ARMARX_CHECK(expression)
Shortcut for ARMARX_CHECK_EXPRESSION.
ComponentPlugin(ManagedIceObject &parent, const std::string &prefix)
std::shared_ptr< Value > value()
This file is part of ArmarX.
void postCreatePropertyDefinitions(armarx::PropertyDefinitionsPtr &properties) override
armarx::plugins::RobotUnitComponentPlugin & getRobotUnitPlugin()
auto createControllerBuilder(Args... args)
ComponentPlugin & getControlComponentPlugin()
auto createControllerBuilder()
~ComponentPlugin() override
The ManagedIceObject is the base class for all ArmarX objects.
This file is part of ArmarX.
armarx::armem::client::plugins::Plugin & getArmemPlugin()
void preOnInitComponent() override
void preOnConnectComponent() override
A component plugin offering client-side access to to the working memory system by providing a Memory ...
RobotUnitInterfacePrx getRobotUnit() const