27 lines
520 B
Factor
Executable File
27 lines
520 B
Factor
Executable File
USING: alien alien.c-types kernel windows windows.ole32
|
|
combinators.lib parser splitting sequences.lib ;
|
|
IN: windows.com.syntax
|
|
|
|
<PRIVATE
|
|
|
|
: vtbl ( interface -- vtbl )
|
|
*void* ; inline
|
|
: com-invoke ( ... interface n funcptr return parameters -- )
|
|
"stdcall" [
|
|
swap vtbl swap void*-nth
|
|
] 4 ndip alien-indirect ;
|
|
|
|
: parse-inheritance
|
|
scan dup {
|
|
} case ;
|
|
|
|
PRIVATE>
|
|
|
|
: COM-INTERFACE:
|
|
scan
|
|
parse-inheritance
|
|
";" parse-tokens { ")" } split
|
|
[
|
|
; parsing
|
|
|