Qt
view release on metacpan or search on metacpan
qtcore/src/QtCore4.xs view on Meta::CPAN
#// Args: classname: a c++ classname in which the method exists
#// methodname: a munged method name signature, where $ is a scalar
#// argument, ? is an array or hash ref, and # is an object
#// Returns: an array containing 1 method id if the method signature is unique,
#// or an array of possible ids if the signature is ambiguous
void
findMethod( classname, methodname )
char* classname
char* methodname
PPCODE:
QList<Smoke::ModuleIndex> milist;
if ( strcmp( classname, "QGlobalSpace" ) == 0 ) {
// All modules put their global functions in "QGlobalSpace". So we
// have to use each smoke object to look for this method.
for (int i = 0; i < smokeList.size(); ++i) {
Smoke::ModuleIndex mi = smokeList.at(i)->findMethod(classname, methodname);
if( mi.smoke ) {
// Found a result, add it to the return
milist.append(mi);
}
qtcore/src/QtCore4.xs view on Meta::CPAN
}
RETVAL = newRV_noinc((SV*)av);
OUTPUT:
RETVAL
#// Args: int classId: a smoke classId
#// Returns: An array of strings defining the inheritance list for that class.
void
getIsa( moduleId )
SV* moduleId
PPCODE:
AV* av = (AV*)SvRV(moduleId);
SV** smokeId = av_fetch(av, 0, 0);
SV** classId = av_fetch(av, 1, 0);
Smoke* smoke = smokeList[SvIV(*smokeId)];
Smoke::Index *parents =
smoke->inheritanceList +
smoke->classes[SvIV(*classId)].parents;
while(*parents)
XPUSHs(sv_2mortal(newSVpv(smoke->classes[*parents++].className, 0)));
qtcore/src/QtCore4.xs view on Meta::CPAN
RETVAL = get_SVt(sv);
OUTPUT:
RETVAL
#// Args: char* name: the c++ name of a Qt4 class
#// Returns: An array where the first element is the smoke classId for that
#// class, and the second element is the index into the list of smoke objects.
void
findClass( name )
char* name
PPCODE:
Smoke::ModuleIndex mi = qtcore_Smoke->findClass(name);
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSViv(mi.index)));
PUSHs(sv_2mortal(newSViv(smokeList.indexOf(mi.smoke))));
#// Args: char* name: the c++ name of a Qt4 class
#// Returns: the smoke classId for that Qt4 class
const char*
classFromId( moduleId )
SV* moduleId
qtcore/src/QtCore4.xs view on Meta::CPAN
CODE:
sv_setsv_mg( sv_this, obj );
void*
sv_to_ptr(sv)
SV* sv
void
sv_obj_info(sv)
SV* sv
PPCODE:
smokeperl_object* o = sv_obj_info(sv);
if( !o || !o->ptr )
XSRETURN_UNDEF;
XPUSHs(sv_2mortal(newSViv(o->allocated ? 1 : 0)));
XPUSHs(sv_2mortal(newSVpv(o->smoke->classes[o->classId].className, strlen(o->smoke->classes[o->classId].className))));
XPUSHs(sv_2mortal(newSVpv(o->smoke->moduleName(), strlen(o->smoke->moduleName()))));
XPUSHs(sv_2mortal(newSVpvf("0x%x", (IV)o->ptr)));
void
setIsArrayType(typeName)
( run in 0.658 second using v1.01-cache-2.11-cpan-5511b514fd6 )