Skip to content

Latest commit

 

History

History
16 lines (11 loc) · 585 Bytes

README.md

File metadata and controls

16 lines (11 loc) · 585 Bytes

Swift/COM

Swift/COM bridges COM interfaces to Swift by generating Swift interfaces for the COM interface.

import SwiftCOM
import WinSDK

try! CoInitializeEx(COINIT_MULTITHREADED)

if let pFD = try? IFileDialog.CreateInstance(class: CLSID_FileOpenDialog) {
  try pFD.Show(nil)
}

The current approach is to manually construct high-level interfaces to a handful of COM+ interfaces to enable reflection into the system. It would then allow for the generation of Swift bindings to the COM interface via C. These interfaces can then be wrapped for more idiomatic access.