Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QtSignalQueue.java
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4package org.qtproject.qt.android;
5
6import java.util.Queue;
7import java.util.LinkedList;
8
9class QtSignalQueue
10{
11 class SignalListenerInfo
12 {
13 String m_signalName;
14 Class<?>[] m_argTypes;
15 Object m_listener;
16 int m_id;
17
18 public SignalListenerInfo(String signalName, Class<?>[] argTypes, Object listener, int id)
19 {
20 m_signalName = signalName;
21 m_argTypes = argTypes;
22 m_listener = listener;
23 m_id = id;
24 }
25
26 public String signalName() { return m_signalName; }
27
28 public Class<?>[] argTypes() { return m_argTypes; }
29
30 public Object listener() { return m_listener; }
31
32 public int id() { return m_id; }
33 }
34
35 private Queue<SignalListenerInfo> m_queuedSignalListeners = new LinkedList<>();
36
37 void connectQueuedSignalListeners(QtQuickView view)
38 {
39 if (m_queuedSignalListeners.isEmpty())
40 return;
41
42 for (SignalListenerInfo info : m_queuedSignalListeners) {
43 view.connectSignalListener(info.signalName(), info.argTypes(), info.listener(),
44 info.id());
45 }
46
47 m_queuedSignalListeners.clear();
48 }
49
50 void add(SignalListenerInfo info) { m_queuedSignalListeners.add(info); }
51
52 void add(String signalName, Class<?>[] argTypes, Object listener, int id)
53 {
54 add(new SignalListenerInfo(signalName, argTypes, listener, id));
55 }
56
57 boolean remove(int id) { return m_queuedSignalListeners.removeIf(info -> info.id() == id); }
58}
GLenum GLuint id
static const char * signalName(int signum) noexcept
QHostInfo info
[0]
QQuickView * view
[0]