134bool QInternal::registerCallback(Callback cb, qInternalCallback callback)
136 if (
unsigned(cb) <
unsigned(QInternal::LastCallback)) {
137 QInternal_CallBackTable *cbt = global_callback_table();
138 cbt->callbacks.resize(cb + 1);
139 cbt->callbacks[cb].append(callback);
145bool QInternal::unregisterCallback(Callback cb, qInternalCallback callback)
147 if (
unsigned(cb) <
unsigned(QInternal::LastCallback)) {
148 if (global_callback_table.exists()) {
149 QInternal_CallBackTable *cbt = global_callback_table();
150 return cbt->callbacks[cb].removeAll(callback) > 0;
156bool QInternal::activateCallbacks(Callback cb,
void **parameters)
158 Q_ASSERT_X(cb >= 0,
"QInternal::activateCallback()",
"Callback id must be a valid id");
160 if (!global_callback_table.exists())
163 QInternal_CallBackTable *cbt = &(*global_callback_table);
164 if (cbt && cb < cbt->callbacks.size()) {
165 QList<qInternalCallback> callbacks = cbt->callbacks[cb];
167 for (
int i = 0; i < callbacks.size(); ++i)
168 ret |= (callbacks.at(i))(parameters);