Lines Matching defs:callback

184     std::shared_ptr<ReceiveInfo> receivedInfo, std::shared_ptr<CjCallbackObject> callback)
195 callback->progressSize += size;
198 callback->progressSize += (size - iter->second);
380 std::shared_ptr<FileInfos> infos, std::shared_ptr<CjCallbackObject> callback)
382 if (callback == nullptr) {
383 LOGE("callback pointer is nullptr.");
387 if (processedSize < callback->maxProgressSize) {
390 callback->maxProgressSize = processedSize;
392 if (callback->callback == nullptr) {
393 LOGI("Empty callback.");
396 callback->callback(data);
401 auto callback = GetRegisteredListener(infos);
402 if (callback == nullptr) {
406 CProgress data = {.processedSize = callback->progressSize,
407 .totalSize = callback->totalSize};
408 ReceiveComplete(data, infos, callback);
411 std::shared_ptr<ReceiveInfo> CopyImpl::GetReceivedInfo(int wd, std::shared_ptr<CjCallbackObject> callback)
413 auto it = find_if(callback->wds.begin(), callback->wds.end(), [wd](const auto& item) {
416 if (it != callback->wds.end()) {
459 inotify_event *event, std::shared_ptr<FileInfos> infos, std::shared_ptr<CjCallbackObject> callback)
461 if (callback == nullptr) {
464 auto receivedInfo = GetReceivedInfo(event->wd, callback);
474 auto err = UpdateProgressSize(fileName, receivedInfo, callback);
483 callback->progressSize = fileSize;
485 return { true, callback->errorCode, true };
494 auto callback = GetRegisteredListener(infos);
498 auto [needContinue, errCode, needSend] = HandleProgress(event, infos, callback);
507 if (callback->progressSize == callback->totalSize) {
522 auto callback = GetRegisteredListener(infos);
523 if (callback == nullptr) {
553 void CopyImpl::StartNotify(std::shared_ptr<FileInfos> infos, std::shared_ptr<CjCallbackObject> callback)
555 if (infos->hasListener && callback != nullptr) {
556 callback->notifyHandler = std::thread([infos] {
583 auto callback = FileManagement::CreateSharedPtr<CjCallbackObject>(infos->listenerId);
584 if (callback == nullptr) {
585 LOGE("Failed to request heap memory by create callback object.");
594 cjCbMap_.insert({*infos, callback});
595 return callback;
618 int64_t CopyImpl::DoCopy(std::shared_ptr<FileInfos> infos, std::shared_ptr<CjCallbackObject> callback)
625 infos->srcUri, infos->destUri, infos, std::move(callback));
628 auto result = ExecLocal(infos, callback);
629 CloseNotifyFd(infos, callback);
631 WaitNotifyFinished(callback);
636 CopyComplete(infos, callback);
640 int64_t CopyImpl::ExecLocal(std::shared_ptr<FileInfos>& infos, std::shared_ptr<CjCallbackObject>& callback)
652 auto ret = SubscribeLocalListener(infos, callback);
657 StartNotify(infos, callback);
661 int64_t CopyImpl::SubscribeLocalListener(std::shared_ptr<FileInfos>& infos, std::shared_ptr<CjCallbackObject>& callback)
673 callback->notifyFd = infos->notifyFd;
674 callback->eventFd = infos->eventFd;
679 CloseNotifyFd(infos, callback);
686 CloseNotifyFd(infos, callback);
690 callback->wds.push_back({ newWd, receiveInfo });
692 callback->totalSize = GetDirSize(infos, infos->srcPath);
697 callback->totalSize = fileSize;
702 void CopyImpl::CloseNotifyFd(std::shared_ptr<FileInfos>& infos, std::shared_ptr<CjCallbackObject>& callback)
704 callback->CloseFd();
709 void CopyImpl::WaitNotifyFinished(std::shared_ptr<CjCallbackObject>& callback)
711 if (callback != nullptr) {
712 if (callback->notifyHandler.joinable()) {
713 callback->notifyHandler.join();
718 void CopyImpl::CopyComplete(std::shared_ptr<FileInfos>& infos, std::shared_ptr<CjCallbackObject>& callback)
720 if (callback != nullptr && infos->hasListener) {
721 callback->progressSize = callback->totalSize;
738 auto callback = RegisterListener(infos);
739 if (callback == nullptr) {
742 DoCopy(infos, callback);