| 60 | } |
| 61 | |
| 62 | void InvokerBase::invoke(QObject *t, const char *slot) |
| 63 | { |
| 64 | target = t; |
| 65 | success = false; |
| 66 | sig.append(slot, qstrlen(slot)); |
| 67 | sig.append('('); |
| 68 | for (int paramCount = 0; paramCount < lastArg; ++paramCount) { |
| 69 | if (paramCount) |
| 70 | sig.append(','); |
| 71 | const char *type = arg[paramCount].name(); |
| 72 | sig.append(type, strlen(type)); |
| 73 | } |
| 74 | sig.append(')'); |
| 75 | sig.append('\0'); |
| 76 | int idx = target->metaObject()->indexOfMethod(sig.constData()); |
| 77 | if (idx < 0) |
| 78 | return; |
| 79 | QMetaMethod method = target->metaObject()->method(idx); |
| 80 | if (useRet) |
| 81 | success = method.invoke(target, connectionType, ret, |
| 82 | arg[0], arg[1], arg[2], arg[3], arg[4], |
| 83 | arg[5], arg[6], arg[7], arg[8], arg[9]); |
| 84 | else |
| 85 | success = method.invoke(target, connectionType, |
| 86 | arg[0], arg[1], arg[2], arg[3], arg[4], |
| 87 | arg[5], arg[6], arg[7], arg[8], arg[9]); |
| 88 | } |
| 89 | |
| 90 | } // namespace ExtensionSystem |
no test coverage detected