133bool QInternal::registerCallback(Callback cb, qInternalCallback callback)
135 if (
unsigned(cb) <
unsigned(QInternal::LastCallback)) {
136 QInternal_CallBackTable *cbt = global_callback_table();
137 cbt->callbacks.resize(cb + 1);
138 cbt->callbacks[cb].append(callback);
144bool QInternal::unregisterCallback(Callback cb, qInternalCallback callback)
146 if (
unsigned(cb) <
unsigned(QInternal::LastCallback)) {
147 if (global_callback_table.exists()) {
148 QInternal_CallBackTable *cbt = global_callback_table();
149 return cbt->callbacks[cb].removeAll(callback) > 0;
155bool QInternal::activateCallbacks(Callback cb,
void **parameters)
157 Q_ASSERT_X(cb >= 0,
"QInternal::activateCallback()",
"Callback id must be a valid id");
159 if (!global_callback_table.exists())
162 QInternal_CallBackTable *cbt = &(*global_callback_table);
163 if (cbt && cb < cbt->callbacks.size()) {
164 QList<qInternalCallback> callbacks = cbt->callbacks[cb];
166 for (
int i = 0; i < callbacks.size(); ++i)
167 ret |= (callbacks.at(i))(parameters);