comparison generator/cppimplgenerator.cpp @ 301:4d8481385c71 signals

windows fix
author eldar
date Tue, 08 Dec 2009 21:13:24 +0000
parents adae77fdc1ea
children 98b211f3ee34
comparison
equal deleted inserted replaced
300:c2c70e501860 301:4d8481385c71
503 if (!notWrappedYet(function)) { // qtd2 503 if (!notWrappedYet(function)) { // qtd2
504 s << " " << function->marshalledName() << "_dispatch = " 504 s << " " << function->marshalledName() << "_dispatch = "
505 "(pf" << function->marshalledName() << "_dispatch) virts[" << pos << "];" << endl; 505 "(pf" << function->marshalledName() << "_dispatch) virts[" << pos << "];" << endl;
506 } 506 }
507 } 507 }
508
509 // D-side signal callbacks 508 // D-side signal callbacks
510 AbstractMetaFunctionList signal_funcs = signalFunctions(java_class); 509 if (java_class->isQObject())
511 for(int i = 0; i < signal_funcs.size(); i++) 510 s << " qtd_" << java_class->name() << "_qt_metacall_dispatch = (QtMetacallCallback)sigs[0];" << endl;
512 s << " emit_callbacks_" << java_class->name() << "[" << i << "] = (EmitCallback)"
513 "sigs[" << i << "];" << endl;
514
515 s << "}" << endl; 511 s << "}" << endl;
516 } 512 }
517 513
518 514
519 void CppImplGenerator::write(QTextStream &s, const AbstractMetaClass *java_class) 515 void CppImplGenerator::write(QTextStream &s, const AbstractMetaClass *java_class)
1351 << " emit_callbacks_" << java_class->name() << "[_id](this->dId, _a);" << endl 1347 << " emit_callbacks_" << java_class->name() << "[_id](this->dId, _a);" << endl
1352 << " return -1;" << endl 1348 << " return -1;" << endl
1353 << "}" << endl << endl; 1349 << "}" << endl << endl;
1354 */ 1350 */
1355 1351
1356 s << "extern \"C\" int qtd_" << java_class->name() << "_qt_metacall_dispatch(void *d_entity, QMetaObject::Call _c, int _id, void **_a);" << endl << endl 1352 if(cpp_shared)
1357 1353 s << "QtMetacallCallback qtd_" << java_class->name() << "_qt_metacall_dispatch;" << endl;
1358 << "int " << shellClassName(java_class) << "::qt_metacall(QMetaObject::Call _c, int _id, void **_a)" << endl 1354 else
1355 s << "extern \"C\" int qtd_" << java_class->name() << "_qt_metacall_dispatch(void *d_entity, QMetaObject::Call _c, int _id, void **_a);" << endl << endl;
1356
1357 s << "int " << shellClassName(java_class) << "::qt_metacall(QMetaObject::Call _c, int _id, void **_a)" << endl
1359 << "{" << endl 1358 << "{" << endl
1360 << " return qtd_" << java_class->name() << "_qt_metacall_dispatch(this->dId, _c, _id, _a);" << endl 1359 << " return qtd_" << java_class->name() << "_qt_metacall_dispatch(this->dId, _c, _id, _a);" << endl
1361 << "}" << endl << endl 1360 << "}" << endl << endl
1362 1361
1363 << "int " << shellClassName(java_class) << "::__override_qt_metacall(QMetaObject::Call _c, int _id, void **_a)" << endl 1362 << "int " << shellClassName(java_class) << "::__override_qt_metacall(QMetaObject::Call _c, int _id, void **_a)" << endl