4package org.qtproject.qt.android;
7import java.util.LinkedList;
11 class SignalListenerInfo
18 public SignalListenerInfo(
String signalName,
Class<?>[] argTypes, Object listener,
int id)
20 m_signalName = signalName;
21 m_argTypes = argTypes;
22 m_listener = listener;
26 public String signalName() {
return m_signalName; }
28 public Class<?>[] argTypes() {
return m_argTypes; }
30 public Object listener() {
return m_listener; }
32 public int id() {
return m_id; }
35 private Queue<SignalListenerInfo> m_queuedSignalListeners =
new LinkedList<>();
37 void connectQueuedSignalListeners(QtQuickView
view)
39 if (m_queuedSignalListeners.isEmpty())
42 for (SignalListenerInfo
info : m_queuedSignalListeners) {
43 view.connectSignalListener(
info.signalName(),
info.argTypes(),
info.listener(),
47 m_queuedSignalListeners.clear();
50 void add(SignalListenerInfo
info) { m_queuedSignalListeners.add(
info); }
54 add(
new SignalListenerInfo(
signalName, argTypes, listener,
id));
57 boolean remove(
int id) {
return m_queuedSignalListeners.removeIf(
info ->
info.id() ==
id); }
static const char * signalName(int signum) noexcept