#pragma once

class TMessageOnCloseIndex : public IMessage {
public:
    enum TStage {
        ManagersClosedFlagSet,
        BeforeBuildersClose,
        AfterBuildersClose,
        BeforeBuildServiceFiles,
        AfterBuildServiceFiles,
        AfterRenameDir,
        StageMax
    };

    TMessageOnCloseIndex(TStage stage)
        : Stage(stage)
    {}

    TStage GetStage() const {
        return Stage;
    }

private:
    TStage Stage;
};
