Replace WTF::move with WTFMove
[WebKit-https.git] / Source / WTF / wtf / efl / WorkQueueEfl.cpp
1 /*
2     Copyright (C) 2012 Samsung Electronics
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Library General Public
6     License as published by the Free Software Foundation; either
7     version 2 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Library General Public License for more details.
13
14     You should have received a copy of the GNU Library General Public License
15     along with this library; see the file COPYING.LIB.  If not, write to
16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     Boston, MA 02110-1301, USA.
18  */
19
20 #include "config.h"
21 #include "WorkQueue.h"
22
23 #include <DispatchQueueEfl.h>
24 #include <DispatchQueueWorkItemEfl.h>
25
26 void WorkQueue::platformInitialize(const char* name, Type, QOS)
27 {
28     m_dispatchQueue = DispatchQueue::create(name);
29 }
30
31 void WorkQueue::platformInvalidate()
32 {
33     RefPtr<DispatchQueue> dispatchQueue = m_dispatchQueue.release();
34     dispatchQueue->stopThread();
35 }
36
37 void WorkQueue::registerSocketEventHandler(int fileDescriptor, std::function<void ()> function)
38 {
39     if (!m_dispatchQueue)
40         return;
41
42     m_dispatchQueue->setSocketEventHandler(fileDescriptor, WTFMove(function));
43 }
44
45 void WorkQueue::unregisterSocketEventHandler(int fileDescriptor)
46 {
47     UNUSED_PARAM(fileDescriptor);
48
49     if (!m_dispatchQueue)
50         return;
51
52     m_dispatchQueue->clearSocketEventHandler();
53 }
54
55 void WorkQueue::dispatch(std::function<void ()> function)
56 {
57     if (!m_dispatchQueue)
58         return;
59
60     m_dispatchQueue->dispatch(std::make_unique<WorkItem>(this, WTFMove(function)));
61 }
62
63 void WorkQueue::dispatchAfter(std::chrono::nanoseconds duration, std::function<void ()> function)
64 {
65     if (!m_dispatchQueue)
66         return;
67
68     m_dispatchQueue->dispatch(TimerWorkItem::create(this, WTFMove(function), duration));
69 }