Supported Grab Frame IMM.

This commit is contained in:
sdk-team
2019-10-08 16:50:20 +08:00
parent 009add7f30
commit 82ba7e55bb
11 changed files with 347 additions and 1 deletions

View File

@@ -267,6 +267,42 @@ ImmClient::CreateFaceSetOutcomeCallable ImmClient::createFaceSetCallable(const C
return task->get_future();
}
ImmClient::CreateGrabFrameTaskOutcome ImmClient::createGrabFrameTask(const CreateGrabFrameTaskRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return CreateGrabFrameTaskOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return CreateGrabFrameTaskOutcome(CreateGrabFrameTaskResult(outcome.result()));
else
return CreateGrabFrameTaskOutcome(outcome.error());
}
void ImmClient::createGrabFrameTaskAsync(const CreateGrabFrameTaskRequest& request, const CreateGrabFrameTaskAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, createGrabFrameTask(request), context);
};
asyncExecute(new Runnable(fn));
}
ImmClient::CreateGrabFrameTaskOutcomeCallable ImmClient::createGrabFrameTaskCallable(const CreateGrabFrameTaskRequest &request) const
{
auto task = std::make_shared<std::packaged_task<CreateGrabFrameTaskOutcome()>>(
[this, request]()
{
return this->createGrabFrameTask(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
ImmClient::CreateGroupFacesJobOutcome ImmClient::createGroupFacesJob(const CreateGroupFacesJobRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();