//
// Created by Ht on 2022/8/29.
//

#ifndef INC_1_LIBDEVCPP_QJIUZHOUPLUGINENTRY_H
#define INC_1_LIBDEVCPP_QJIUZHOUPLUGINENTRY_H

#include "../../src/plugin/QGaCypherPluginEntry.h"
#include "../../src/QGADataPool.h"
#include <mqtt/Base64.h>

namespace jedge {

    class JE_API  QGaJedgePluginEntry :
            public QGaCypherPluginEntry {
    public:
        explicit QGaJedgePluginEntry(std::string name, std::string type = "cypher", int ver = 0) :
                jedge::QGaCypherPluginEntry(std::move(name), std::move(type), ver) {
        }

        QGaCypherPluginEntry *duplication(const string &name) override {
            auto* dup = new QGaJedgePluginEntry(name, typeKey_, ver_);
            dup->sn_ = sn_;
            return dup;
        }

        //构造时调用
        void setDataPool(QGADataPool &pool) override {
            QGaCypherPluginEntry::setDataPool(pool);
            //
//            bindGAOActionController(forEachEqual1);
            //需要重新载入用户自定义的函数
        }

        //重载时调用,用户自定义函数等需要在这里添加
        void buildSiteData(qlibc::QData &data) override {
            QGaCypherPluginEntry::buildSiteData(data);
        }
    };
}


#endif //INC_1_LIBDEVCPP_QJIUZHOUPLUGINENTRY_H
