1775 generator.addSignal(
"exception(int,QString,QString,QString)",
"code,source,disc,help");
1776 generator.addSignal(
"propertyChanged(QString)",
"name");
1780 if (S_OK != classInfo->GetDocumentation(-1, &bstr, 0, 0, 0))
1784 SysFreeString(bstr);
1786 generator.readEnumInfo();
1789 classInfo->GetTypeAttr(&typeattr);
1791 int nInterfaces = typeattr->cImplTypes;
1792 classInfo->ReleaseTypeAttr(typeattr);
1796 if (S_OK != classInfo->GetRefTypeOfImplType(
index, &refType))
1800 classInfo->GetImplTypeFlags(
index, &flags);
1801 if (flags & IMPLTYPEFLAG_FRESTRICTED)
1804 ITypeInfo *interfaceInfo = 0;
1805 classInfo->GetRefTypeInfo(refType, &interfaceInfo);
1809 interfaceInfo->GetDocumentation(-1, &bstr, 0, 0, 0);
1811 SysFreeString(bstr);
1814 TYPEATTR *typeattr = 0;
1815 interfaceInfo->GetTypeAttr(&typeattr);
1817 if (flags & IMPLTYPEFLAG_FSOURCE) {
1818 if (typeattr && !(typeattr->wTypeFlags & TYPEFLAG_FHIDDEN))
1820 generator.readEventInterface(interfaceInfo, 0);
1822 if (typeattr && !(typeattr->wTypeFlags & TYPEFLAG_FHIDDEN))
1824 generator.readFuncsInfo(interfaceInfo, 0);
1825 generator.readVarsInfo(interfaceInfo, 0);
1828 generator.addClassInfo(key.
data(), interfaceName.
toLatin1());
1831 interfaceInfo->ReleaseTypeAttr(typeattr);
1832 interfaceInfo->Release();
1836 return generator.metaObject(parentObject, className.
toLatin1());
static QString fromWCharArray(const wchar_t *, int size=-1)
Returns a copy of the string, where the encoding of string depends on the size of wchar...
char * data()
Returns a pointer to the data stored in the byte array.
The QByteArray class provides an array of bytes.
The QString class provides a Unicode character string.
QByteArray toLatin1() const Q_REQUIRED_RESULT
Returns a Latin-1 representation of the string as a QByteArray.
bool isEmpty() const
Returns true if the byte array has size 0; otherwise returns false.
static QByteArray number(int, int base=10)
Returns a byte array containing the string equivalent of the number n to base base (10 by default)...