#pragma once
#include <saas/library/daemon_base/module/module_processors.h>

class TDebugProcessorStopDMAfterTaskSave: public NMessenger::IMessageProcessor {
private:
    ui32 Counter;
public:
    static NRTY::TMessageProcessorsModule::TProcessorsFactory::TRegistrator<TDebugProcessorStopDMAfterTaskSave> Registrator;

    TDebugProcessorStopDMAfterTaskSave(const TString& /*info*/);
    virtual bool Process(IMessage* message);
    virtual TString Name() const;
};

class TDebugProcessorDMRequestFailer : public NMessenger::IMessageProcessor {
public:
    static NRTY::TMessageProcessorsModule::TProcessorsFactory::TRegistrator<TDebugProcessorDMRequestFailer> Registrator;

    TDebugProcessorDMRequestFailer(const TString& command);
    virtual bool Process(IMessage* message);
    virtual TString Name() const;
private:
    TString Command;
};

class TDebugProcessorBuildTaskFailer : public NMessenger::IMessageProcessor {
public:
    static NRTY::TMessageProcessorsModule::TProcessorsFactory::TRegistrator<TDebugProcessorBuildTaskFailer> Registrator;

    TDebugProcessorBuildTaskFailer(const TString& taskType);
    virtual bool Process(IMessage* message);
    virtual TString Name() const;
private:
    TString TaskType;
};
