MCPcopy Create free account
hub / github.com/BrigJS/brig / invokeMethod

Method invokeMethod

src/DynamicQObject.cpp:379–464  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

377 }
378
379 bool DynamicQObject::invokeMethod(const char *member,
380 Qt::ConnectionType type,
381 QGenericReturnArgument ret,
382 QGenericArgument val0,
383 QGenericArgument val1,
384 QGenericArgument val2,
385 QGenericArgument val3,
386 QGenericArgument val4,
387 QGenericArgument val5,
388 QGenericArgument val6,
389 QGenericArgument val7,
390 QGenericArgument val8,
391 QGenericArgument val9)
392 {
393 QVarLengthArray<char, 512> sig;
394
395 int len = qstrlen(member);
396 if (len <= 0)
397 return false;
398
399 sig.append(member, len);
400 sig.append('(');
401
402 const char *typeNames[] = {
403 ret.name(),
404 val0.name(),
405 val1.name(),
406 val2.name(),
407 val3.name(),
408 val4.name(),
409 val5.name(),
410 val6.name(),
411 val7.name(),
412 val8.name(),
413 val9.name()
414 };
415
416 // Preparing parameters
417 int paramCount;
418 for (paramCount = 1; paramCount < 10; ++paramCount) {
419 len = qstrlen(typeNames[paramCount]);
420 if (len <= 0)
421 break;
422
423 sig.append(typeNames[paramCount], len);
424 sig.append(',');
425 }
426
427 if (paramCount == 1) {
428 sig.append(')'); // no parameters
429 } else {
430 sig[sig.size() - 1] = ')';
431 }
432 sig.append('\0');
433
434 const QMetaObject *metaObj = DynamicQObject::metaObject();
435
436 // Finding method

Callers 3

NAN_METHODFunction · 0.80
app.jsFile · 0.80
app.jsFile · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected