HEADER

#pragma once
//Project
#include "chatsubscriber.h"
//Jami plugin
#include "plugin/jamiplugin.h"
#include "plugin/conversationhandler.h"

class GENERICConversationHandler : public jami::ConversationHandler
{
public:
    GENERICConversationHandler(const JAMI_PluginAPI * api, std::string &&dataPath);
    ~GENERICConversationHandler();
    void detach();
    virtual void notifyStrMapSubject(const bool direction,
                                     jami::strMapSubjectPtr subject) override;
    const std::string& dataPath() const { return dataPath_; }

private:
    std::string dataPath_;
    std::shared_ptr<ChatSubscriber> css;
};
