aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/messagebus/rain_check/core/simple.cpp
blob: 46a1d0e8aa39ed8fbcf11dafc1b5457bba5809b9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "simple.h"

using namespace NRainCheck;

TSimpleTaskRunner::TSimpleTaskRunner(IEnv* env, ISubtaskListener* parentTask, TAutoPtr<ISimpleTask> impl)
    : TTaskRunnerBase(env, parentTask, impl.Release())
    , ContinueFunc(&ISimpleTask::Start)
{
}

TSimpleTaskRunner::~TSimpleTaskRunner() {
    Y_ASSERT(!ContinueFunc);
}

bool TSimpleTaskRunner::ReplyReceived() { 
    ContinueFunc = (GetImpl()->*(ContinueFunc.Func))();
    return !!ContinueFunc;
}