Lines Matching defs:pasteboardDelayWorker

148     PasteboardDelayWorker *pasteboardDelayWorker = (PasteboardDelayWorker *)work->data;
149 if (pasteboardDelayWorker == nullptr || pasteboardDelayWorker->delayGetter == nullptr) {
155 auto env = pasteboardDelayWorker->delayGetter->GetEnv();
156 auto ref = pasteboardDelayWorker->delayGetter->GetRef();
165 napi_value argv[1] = { CreateNapiString(env, pasteboardDelayWorker->dataType) };
170 std::unique_lock<std::mutex> lock(pasteboardDelayWorker->mutex);
177 pasteboardDelayWorker->unifiedData = unifiedDataNapi->value_;
181 pasteboardDelayWorker->complete = true;
182 if (!pasteboardDelayWorker->clean) {
183 pasteboardDelayWorker->cv.notify_all();
187 delete pasteboardDelayWorker;
188 pasteboardDelayWorker = nullptr;
206 PasteboardDelayWorker *pasteboardDelayWorker = new (std::nothrow) PasteboardDelayWorker();
207 if (pasteboardDelayWorker == nullptr) {
213 pasteboardDelayWorker->delayGetter = shared_from_this();
214 pasteboardDelayWorker->dataType = type;
215 work->data = (void *)pasteboardDelayWorker;
218 std::unique_lock<std::mutex> lock(pasteboardDelayWorker->mutex);
221 delete pasteboardDelayWorker;
222 pasteboardDelayWorker = nullptr;
227 if (pasteboardDelayWorker->cv.wait_for(lock, std::chrono::seconds(DELAY_TIMEOUT),
228 [pasteboardDelayWorker] { return pasteboardDelayWorker->complete; }) &&
229 pasteboardDelayWorker->unifiedData != nullptr) {
230 data = *(pasteboardDelayWorker->unifiedData);
232 if (!pasteboardDelayWorker->complete && uv_cancel((uv_req_t*)work) != 0) {
233 pasteboardDelayWorker->clean = true;
238 delete pasteboardDelayWorker;
239 pasteboardDelayWorker = nullptr;