(self, coclass: typedesc.CoClass)
| 547 | self.declarations.add("WSTRING", "c_wchar_p") |
| 548 | |
| 549 | def CoClass(self, coclass: typedesc.CoClass) -> None: |
| 550 | self.imports.add("comtypes", "GUID") |
| 551 | self.imports.add("comtypes", "CoClass") |
| 552 | with self.adjust_blank("class") as ofi: |
| 553 | heads.CoClassHeadWriter(ofi, self.filename).write(coclass) |
| 554 | |
| 555 | for itf, _ in coclass.interfaces: |
| 556 | self.generate(itf.get_head()) |
| 557 | impl, src = typedesc.groupby_impltypeflags(coclass.interfaces) |
| 558 | implemented = [self._to_type_name(itf) for itf in impl] |
| 559 | sources = [self._to_type_name(itf) for itf in src] |
| 560 | |
| 561 | with self.adjust_blank("attribute") as ofi: |
| 562 | if implemented: |
| 563 | itfs = ", ".join(implemented) |
| 564 | print(f"{coclass.name}._com_interfaces_ = [{itfs}]", file=ofi) |
| 565 | if sources: |
| 566 | itfs = ", ".join(sources) |
| 567 | print(f"{coclass.name}._outgoing_interfaces_ = [{itfs}]", file=ofi) |
| 568 | |
| 569 | self.names.add(coclass.name) |
| 570 | |
| 571 | def _is_interface_typedesc( |
| 572 | self, item: Any |
no test coverage detected