/**
 *
 *  gsd_userApp.h
 *
 */

#pragma once

#include <drogon/plugins/Plugin.h>
#include <drogon/drogon.h>

namespace gsd
{

class userApp : public drogon::Plugin<userApp>
{
  public:
    userApp() {}
    /// This method must be called by drogon to initialize and start the plugin.
    /// It must be implemented by the user.
    virtual void initAndStart(const Json::Value &config) override;

    /// This method must be called by drogon to shutdown the plugin.
    /// It must be implemented by the user.
    virtual void shutdown() override;

    /**
     * @description: 初始化
     * @return {*}
     */    
    int8_t Init();

    /**
     * @description: 启动任务
     * @return {*}
     */    
    void StartTask();
};
}
