Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qwldatasource.cpp
Go to the documentation of this file.
1
// Copyright (C) 2017 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
// Qt-Security score:critical reason:network-protocol
4
5
#
include
"qwldatasource_p.h"
6
#
include
"qwldataoffer_p.h"
7
#
include
"qwldatadevice_p.h"
8
#
include
"qwldatadevicemanager_p.h"
9
#
include
<
QtWaylandCompositor
/
private
/
qwaylandutils_p
.
h
>
10
11
#
include
<
unistd
.
h
>
12
#
include
<
QtWaylandCompositor
/
private
/
wayland
-
wayland
-
server
-
protocol
.
h
>
13
14
QT_BEGIN_NAMESPACE
15
16
namespace
QtWayland
{
17
18
DataSource
::DataSource(
struct
wl_client *client, uint32_t id, uint32_t time)
19
: QtWaylandServer::wl_data_source(client, id, 1)
20
, m_time(time)
21
{
22
}
23
24
DataSource
::~
DataSource
()
25
{
26
if
(m_manager)
27
m_manager
->
sourceDestroyed
(
this
)
;
28
if
(m_device)
29
m_device
->
sourceDestroyed
(
this
)
;
30
}
31
32
uint32_t
DataSource
::
time
()
const
33
{
34
return
m_time;
35
}
36
37
QList
<
QString
>
DataSource
::
mimeTypes
()
const
38
{
39
return
m_mimeTypes;
40
}
41
42
void
DataSource
::
accept
(
const
QString &mimeType)
43
{
44
send_target(mimeType);
45
}
46
47
void
DataSource
::
send
(
const
QString &mimeType,
int
fd)
48
{
49
send_send(mimeType, fd);
50
close(fd);
51
}
52
53
void
DataSource
::
cancel
()
54
{
55
send_cancelled();
56
}
57
58
void
DataSource
::
setManager
(
DataDeviceManager
*mgr)
59
{
60
m_manager = mgr;
61
}
62
63
void
DataSource
::
setDevice
(
DataDevice
*device)
64
{
65
m_device = device;
66
}
67
68
DataSource
*
DataSource
::fromResource(
struct
::wl_resource *resource)
69
{
70
return
QtWayland::fromResource<DataSource *>(resource);
71
}
72
73
void
DataSource
::
data_source_offer
(Resource *,
const
QString &mime_type)
74
{
75
m_mimeTypes.append(mime_type);
76
}
77
78
void
DataSource
::
data_source_destroy
(Resource *resource)
79
{
80
wl_resource_destroy(resource->handle);
81
}
82
83
void
DataSource
::
data_source_destroy_resource
(QtWaylandServer::wl_data_source::Resource *resource)
84
{
85
Q_UNUSED(resource);
86
delete
this
;
87
}
88
89
}
90
91
QT_END_NAMESPACE
QtWayland::DataDeviceManager
Definition
qwldatadevicemanager_p.h:41
QtWayland::DataDeviceManager::sourceDestroyed
void sourceDestroyed(DataSource *source)
Definition
qwldatadevicemanager.cpp:61
QtWayland::DataDevice
Definition
qwldatadevice_p.h:35
QtWayland::DataDevice::sourceDestroyed
void sourceDestroyed(DataSource *source)
Definition
qwldatadevice.cpp:50
QtWayland::DataSource
Definition
qwldatasource_p.h:35
QtWayland::DataSource::cancel
void cancel()
Definition
qwldatasource.cpp:53
QtWayland::DataSource::send
void send(const QString &mimeType, int fd)
Definition
qwldatasource.cpp:47
QtWayland::DataSource::time
uint32_t time() const
Definition
qwldatasource.cpp:32
QtWayland::DataSource::setManager
void setManager(DataDeviceManager *mgr)
Definition
qwldatasource.cpp:58
QtWayland::DataSource::data_source_destroy_resource
void data_source_destroy_resource(Resource *resource) override
Definition
qwldatasource.cpp:83
QtWayland::DataSource::data_source_offer
void data_source_offer(Resource *resource, const QString &mime_type) override
Definition
qwldatasource.cpp:73
QtWayland::DataSource::~DataSource
~DataSource() override
Definition
qwldatasource.cpp:24
QtWayland::DataSource::setDevice
void setDevice(DataDevice *device)
Definition
qwldatasource.cpp:63
QtWayland::DataSource::accept
void accept(const QString &mimeType)
Definition
qwldatasource.cpp:42
QtWayland::DataSource::data_source_destroy
void data_source_destroy(Resource *resource) override
Definition
qwldatasource.cpp:78
QtWayland::DataSource::mimeTypes
QList< QString > mimeTypes() const
Definition
qwldatasource.cpp:37
QtWayland
Definition
qwaylanddisplay_p.h:54
qtwayland
src
compositor
wayland_wrapper
qwldatasource.cpp
Generated on
for Qt by
1.18.0