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
qnearfieldtarget_ios_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 Governikus GmbH & Co. KG
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
QNEARFIELDTARGET_IOS_P_H
5
#
define
QNEARFIELDTARGET_IOS_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
"qnearfieldtarget_p.h"
19
#
include
"qnearfieldtarget.h"
20
21
#
include
"qndefmessage.h"
22
23
#
include
<
QQueue
>
24
#
include
<
QTimer
>
25
26
#
include
<
memory
>
27
#
include
<
deque
>
28
29
QT_BEGIN_NAMESPACE
30
31
class
ResponseProvider :
public
QObject
32
{
33
Q_OBJECT
34
35
public
:
36
void
provideResponse(QNearFieldTarget::RequestId requestId, QNearFieldTarget::Error error, QByteArray recvBuffer);
37
38
Q_SIGNALS:
39
void
responseReceived(QNearFieldTarget::RequestId requestId, QNearFieldTarget::Error error, QByteArray recvBuffer);
40
};
41
42
struct
NfcDeleter
43
{
44
void
operator
()(
void
*tag);
45
};
46
47
struct
NdefOperation
48
{
49
enum
Type
{
50
Read
,
51
Write
52
} type =
Read
;
53
54
QNearFieldTarget
::
RequestId
requestId
;
55
QNdefMessage
message
;
56
};
57
58
class
QNfcNdefNotifier
;
59
60
class
QNearFieldTargetPrivateImpl
:
public
QNearFieldTargetPrivate
61
{
62
Q_OBJECT
63
64
public
:
65
QNearFieldTargetPrivateImpl
(
void
*
tag
,
QObject
*
parent
=
nullptr
);
66
QNearFieldTargetPrivateImpl
(
void
*sessionDelegate,
void
*tag, QObject *parent =
nullptr
);
67
~
QNearFieldTargetPrivateImpl
()
override
;
68
void
invalidate
();
69
70
QByteArray
uid
()
const
override
;
71
QNearFieldTarget
::
Type
type
()
const
override
;
72
QNearFieldTarget
::
AccessMethods
accessMethods
()
const
override
;
73
74
int
maxCommandLength
()
const
override
;
75
QNearFieldTarget
::
RequestId
sendCommand
(
const
QByteArray &command)
override
;
76
77
// NdefAccess
78
bool
hasNdefMessage
()
override
;
79
QNearFieldTarget
::
RequestId
readNdefMessages
()
override
;
80
QNearFieldTarget
::
RequestId
writeNdefMessages
(
const
QList<QNdefMessage> &messages)
override
;
81
82
83
bool
isAvailable
()
const
;
84
85
Q_SIGNALS
:
86
void
targetLost
(
QNearFieldTargetPrivateImpl
*
target
);
87
88
private
:
89
std
::unique_ptr<
void
,
NfcDeleter
> nfcTag;
90
91
// Owned by the near field manager.
92
void
*sessionDelegate =
nil
;
93
// Owned by the session delegate.
94
QNfcNdefNotifier
*notifier =
nullptr
;
95
bool
hasNDEFMessage =
false
;
96
97
bool
connected =
false
;
98
bool
justConnected =
false
;
99
QTimer targetCheckTimer;
100
QNearFieldTarget::RequestId requestInProgress;
101
QQueue<std::pair<QNearFieldTarget::RequestId, QByteArray>> queue;
102
std::deque<NdefOperation> ndefOperations;
103
104
bool
connect();
105
106
bool
isNdefTag()
const
;
107
108
private
Q_SLOTS
:
109
void
onTargetCheck
();
110
void
onTargetError(QNearFieldTarget::Error error,
const
QNearFieldTarget::RequestId &id);
111
void
onExecuteRequest();
112
void
onResponseReceived(QNearFieldTarget::RequestId requestId, QNearFieldTarget::Error error, QByteArray recvBuffer);
113
// NDEF:
114
void
messageRead(
const
QNdefMessage
&ndefMessage, QNearFieldTarget::RequestId request);
115
void
messageWritten(QNearFieldTarget::RequestId request);
116
};
117
118
QT_END_NAMESPACE
119
120
#
endif
// QNEARFIELDTARGET_IOS_P_H
QNdefMessage
The QNdefMessage class provides an NFC NDEF message.
Definition
qndefmessage.h:23
QNearFieldManagerPrivateImpl
Definition
qnearfieldmanager_ios_p.h:36
QNearFieldManagerPrivateImpl::isSupported
bool isSupported(QNearFieldTarget::AccessMethod accessMethod) const override
Definition
qnearfieldmanager_android.cpp:64
QNearFieldManagerPrivateImpl::startTargetDetection
bool startTargetDetection(QNearFieldTarget::AccessMethod accessMethod) override
Definition
qnearfieldmanager_android.cpp:72
QNearFieldManagerPrivateImpl::~QNearFieldManagerPrivateImpl
~QNearFieldManagerPrivateImpl()
Definition
qnearfieldmanager_android.cpp:39
QNearFieldTargetPrivateImpl
Definition
qnearfieldtarget_ios_p.h:61
QNearFieldTargetPrivateImpl::invalidate
void invalidate()
Definition
qnearfieldtarget_ios.mm:76
QNearFieldTargetPrivateImpl::writeNdefMessages
QNearFieldTarget::RequestId writeNdefMessages(const QList< QNdefMessage > &messages) override
Definition
qnearfieldtarget_android.cpp:219
QNearFieldTargetPrivateImpl::QNearFieldTargetPrivateImpl
QNearFieldTargetPrivateImpl(void *sessionDelegate, void *tag, QObject *parent=nullptr)
Definition
qnearfieldtarget_ios.mm:50
QNearFieldTargetPrivateImpl::maxCommandLength
int maxCommandLength() const override
Definition
qnearfieldtarget_android.cpp:140
QNearFieldTargetPrivateImpl::readNdefMessages
QNearFieldTarget::RequestId readNdefMessages() override
Definition
qnearfieldtarget_android.cpp:90
QNearFieldTargetPrivateImpl::~QNearFieldTargetPrivateImpl
~QNearFieldTargetPrivateImpl() override
Definition
qnearfieldtarget_android.cpp:36
QNearFieldTargetPrivateImpl::type
QNearFieldTarget::Type type() const override
Definition
qnearfieldtarget_android.cpp:47
QNearFieldTargetPrivateImpl::sendCommand
QNearFieldTarget::RequestId sendCommand(const QByteArray &command) override
Definition
qnearfieldtarget_android.cpp:159
QNearFieldTargetPrivateImpl::accessMethods
QNearFieldTarget::AccessMethods accessMethods() const override
Definition
qnearfieldtarget_android.cpp:52
QNearFieldTargetPrivateImpl::hasNdefMessage
bool hasNdefMessage() override
Definition
qnearfieldtarget_android.cpp:85
QNearFieldTargetPrivateImpl::isAvailable
bool isAvailable() const
Definition
qnearfieldtarget_ios.mm:240
QNearFieldTargetPrivateImpl::uid
QByteArray uid() const override
Definition
qnearfieldtarget_android.cpp:42
QNfcNdefNotifier
Definition
qiosndefnotifier_p.h:32
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
NdefOperation
Definition
qnearfieldtarget_ios_p.h:48
NdefOperation::Type
Type
Definition
qnearfieldtarget_ios_p.h:49
NdefOperation::Read
@ Read
Definition
qnearfieldtarget_ios_p.h:50
NdefOperation::Write
@ Write
Definition
qnearfieldtarget_ios_p.h:51
NdefOperation::requestId
QNearFieldTarget::RequestId requestId
Definition
qnearfieldtarget_ios_p.h:54
NdefOperation::message
QNdefMessage message
Definition
qnearfieldtarget_ios_p.h:55
NfcDeleter
Definition
qnearfieldtarget_ios_p.h:43
NfcDeleter::operator()
void operator()(void *tag)
Definition
qnearfieldtarget_ios.mm:26
qtconnectivity
src
nfc
qnearfieldtarget_ios_p.h
Generated on
for Qt by
1.18.0