Supported AndroidNotificationHuaweiChannel for Push and MassPush.

This commit is contained in:
sdk-team
2020-09-02 10:14:43 +08:00
parent dbb5d5f56d
commit 20e471c41f
13 changed files with 300 additions and 1 deletions

View File

@@ -663,6 +663,42 @@ PushClient::QueryAliasesOutcomeCallable PushClient::queryAliasesCallable(const Q
return task->get_future();
}
PushClient::QueryDeviceCountOutcome PushClient::queryDeviceCount(const QueryDeviceCountRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();
if (!endpointOutcome.isSuccess())
return QueryDeviceCountOutcome(endpointOutcome.error());
auto outcome = makeRequest(endpointOutcome.result(), request);
if (outcome.isSuccess())
return QueryDeviceCountOutcome(QueryDeviceCountResult(outcome.result()));
else
return QueryDeviceCountOutcome(outcome.error());
}
void PushClient::queryDeviceCountAsync(const QueryDeviceCountRequest& request, const QueryDeviceCountAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
{
auto fn = [this, request, handler, context]()
{
handler(this, request, queryDeviceCount(request), context);
};
asyncExecute(new Runnable(fn));
}
PushClient::QueryDeviceCountOutcomeCallable PushClient::queryDeviceCountCallable(const QueryDeviceCountRequest &request) const
{
auto task = std::make_shared<std::packaged_task<QueryDeviceCountOutcome()>>(
[this, request]()
{
return this->queryDeviceCount(request);
});
asyncExecute(new Runnable([task]() { (*task)(); }));
return task->get_future();
}
PushClient::QueryDeviceInfoOutcome PushClient::queryDeviceInfo(const QueryDeviceInfoRequest &request) const
{
auto endpointOutcome = endpointProvider_->getEndpoint();