/* KMKill.h
 *
 * Copyright (C) 2024 OpenKylin, Inc
 */

#ifndef __KMKILL_H__
#define __KMKILL_H__

#include <memory>

#include "app/KMSubCommand.h"
#include "common/KMOptions.h"
#include <nlohmann/json.hpp>
#include "common/KMConfigData.h"

/**
 * @brief kill command
 */
class KMKill : public KMSubCommand
{
    DECLARE_DYNCREATE(KMKill);

public:
    KMKill();
    virtual ~KMKill();

    /**
     * @brief 开明子命令杀死
     * @param argc 参数个数
     * @param argv 参数列表
     * @return 0 成功 非0 失败
     */
    int despose(int argc, char **argv) override;

private:
    class Options;
    class Private;
    std::shared_ptr<Private> m_dPtr;
};

#endif // __KMKILL_H__