MCPcopy Create free account
hub / github.com/enthought/comtypes / ParseCoClass

Method ParseCoClass

comtypes/tools/tlbparser.py:514–532  ·  view source on GitHub ↗
(
        self, tinfo: typeinfo.ITypeInfo, ta: typeinfo.TYPEATTR
    )

Source from the content-addressed store, hash-verified

512
513 # TKIND_COCLASS = 5
514 def ParseCoClass(
515 self, tinfo: typeinfo.ITypeInfo, ta: typeinfo.TYPEATTR
516 ) -> typedesc.CoClass:
517 # possible ta.wTypeFlags: helpstring, helpcontext, licensed,
518 # version, control, hidden, and appobject
519 coclass_name, doc = tinfo.GetDocumentation(-1)[0:2]
520 tlibattr = tinfo.GetContainingTypeLib()[0].GetLibAttr()
521 clsid = str(ta.guid)
522 idlflags = self.coclass_type_flags(ta.wTypeFlags)
523 coclass = typedesc.CoClass(coclass_name, clsid, idlflags, tlibattr, doc)
524 self._register(coclass_name, coclass)
525
526 for i in range(ta.cImplTypes):
527 hr = tinfo.GetRefTypeOfImplType(i)
528 ti = tinfo.GetRefTypeInfo(hr)
529 itf = self.parse_typeinfo(ti)
530 flags = tinfo.GetImplTypeFlags(i)
531 coclass.add_interface(itf, flags)
532 return coclass
533
534 # TKIND_ALIAS = 6
535 def ParseAlias(

Callers 1

parse_typeinfoMethod · 0.95

Calls 11

coclass_type_flagsMethod · 0.95
_registerMethod · 0.95
parse_typeinfoMethod · 0.95
add_interfaceMethod · 0.95
GetLibAttrMethod · 0.80
GetContainingTypeLibMethod · 0.80
CoClassMethod · 0.80
GetRefTypeOfImplTypeMethod · 0.80
GetRefTypeInfoMethod · 0.80
GetImplTypeFlagsMethod · 0.80
GetDocumentationMethod · 0.45

Tested by

no test coverage detected