some working version

This commit is contained in:
Johannes Wendel
2019-10-09 23:04:26 +02:00
parent cd10f6ce52
commit 33ac55b059

View File

@@ -1,48 +0,0 @@
//
// Created by johannes on 29.08.19.
//
#ifndef FLIPPR_DRIVER_ITEMVARHOLDER_H
#define FLIPPR_DRIVER_ITEMVARHOLDER_H
#include <Poco/Dynamic/VarHolder.h>
#include <memory>
#include "output/items/Item.h"
template <>
class Poco::Dynamic::VarHolderImpl<std::shared_ptr<flippR_driver::output::items::Item>> : public Poco::Dynamic::VarHolder
{
public:
VarHolderImpl(const std::shared_ptr<flippR_driver::output::items::Item> & item) :
item(item)
{}
void convert(std::string & val) const override
{
val = this->item->get_name();
}
VarHolder * clone(Placeholder < VarHolder > * pHolder = 0) const override
{
return cloneHolder(pHolder, item);
}
const std::type_info & type() const override
{
return typeid(item);
}
const std::shared_ptr<flippR_driver::output::items::Item> & value() const
{
return item;
}
private:
std::shared_ptr<flippR_driver::output::items::Item> item;
};
#endif //FLIPPR_DRIVER_ITEMVARHOLDER_H