[界面通过zmq请求调用指定动态库函数(二)]不同动态库接口不同
在(一)的基础上进行优化,实现不同动态库可自定义本对象的功能函数,所以这里主要是提不同点。
1.IPluginInterface.h
#ifndef IPLUGININTERFACE_H
#define IPLUGININTERFACE_H#include <QString>
#include <QVariant>
#include <QMap>
#include <functional>
//定义函数指针类型,接收QVariantList参数,返回QVariant
using PluginFunction = std::function<QVariant(const QVariantList& args)>;// 插件接口类,所有动态库都需要实现这个接口
class IPluginInterface
{
public:// 虚析构函数,确保正确释放派生类对象virtual ~IPluginInterface() = default;// 基础信息virtual QString name() const = 0;virtual QString version() const = 0;virtual bool initialize() = 0;// 函数注册与调用virtual void registerFunciton(const QString& strFunName, PluginFunction func){m_mapFuntions[strFunName] = func;