Skip to content
Snippets Groups Projects
WriterComponentPlugin.h 957 B
#pragma once


// STD/STL
#include <mutex>

// ArmarX
#include <ArmarXCore/core/Component.h>

// RobotAPI
#include <RobotAPI/interface/armem/MemoryInterface.h>
#include <RobotAPI/interface/armem/MemoryNameSystemInterface.h>
#include <RobotAPI/libraries/armem/client/Writer.h>
#include <RobotAPI/libraries/armem/mns/MemoryNameSystemClientPlugin.h>


namespace armarx::armem::client
{

    class WriterComponentPlugin :
        public plugins::MemoryNameSystemClientPlugin
    {

    public:

        using plugins::MemoryNameSystemClientPlugin::MemoryNameSystemClientPlugin;
        virtual ~WriterComponentPlugin() override;

    };


    class WriterComponentPluginUser :
        virtual public ManagedIceObject,
        virtual public plugins::MemoryNameSystemClientPluginUser
    {

    public:

        WriterComponentPluginUser();

    protected:

        Writer memoryWriter;

    private:

        WriterComponentPlugin* plugin = nullptr;

    };

}