URP.Call
(urp v0.10.0)
Copy Markdown
Binary frame builders for UNO API calls.
Each function constructs the wire-format payload for a specific UNO remote
procedure call. URP.Bridge uses these builders instead of assembling
binary payloads inline. All public functions return iodata (lists of
binaries); the single flattening happens in URP.Protocol.send_frame/2.
The qi_* functions build complete queryInterface frames (header + null
context + body type parameter).
Abbreviations
Module attributes use short prefixes borrowed from LibreOffice's own naming
conventions (IDL interfaces, binaryurp/source/*.hxx, include/typelib/):
| Prefix | Stands for | Example |
|---|---|---|
xi_ | X-Interface (UNO IDL) | @xi_closeable |
qi_ | queryInterface | qi_loader/1 |
ctx | XComponentContext | @oid_ctx, @func_ctx_* |
mcf | XMultiComponentFactory | @func_mcf_create_with_context |
msf | XMultiServiceFactory | @func_msf_create_with_args |
na | XNameAccess | @func_na_get_by_name |
nr | XNameReplace | @func_nr_replace_by_name |
cb | XChangesBatch | @func_cb_commit_changes |
sfa | XSimpleFileAccess | @func_sfa_open_file_read |
is | XInputStream | @func_is_read_bytes |
os | XOutputStream | @func_os_write_bytes |
ff | FilterFactory service | @qi_cache_ff_name_access |
td | TypeDetection service | @qi_cache_td_name_access |
tc | TypeClass (typelib enum) | @tc_boolean, @tc_string |
Summary
Functions
XMultiComponentFactory.createInstanceWithContext (bootstrap — registers type).
XMultiComponentFactory.createInstanceWithContext (cached type).
Build a FilterData property from a keyword list of export options.
XMultiComponentFactory.getAvailableServiceNames.
XNameAccess.getElementNames for FilterFactory.
XNameAccess.getElementNames for TypeDetection.
XComponentContext.getValueByName — returns an Any(XInterface).
Build an InputStream property for streaming document load.
XComponentLoader.loadComponentFromURL.
Build an OutputStream property for streaming document store.
QI for XComponentContext (bootstrap only — reuses type from previous message).
Initial QI during bootstrap (registers XInterface type + TID).
XStorable2.storeToURL.
Functions
XMultiComponentFactory.createInstanceWithContext (bootstrap — registers type).
XMultiComponentFactory.createInstanceWithContext (cached type).
Build a FilterData property from a keyword list of export options.
XMultiComponentFactory.getAvailableServiceNames.
XNameAccess.getElementNames for FilterFactory.
XNameAccess.getElementNames for TypeDetection.
XComponentContext.getValueByName — returns an Any(XInterface).
Build an InputStream property for streaming document load.
XComponentLoader.loadComponentFromURL.
Build an OutputStream property for streaming document store.
QI for XComponentContext (bootstrap only — reuses type from previous message).
Initial QI during bootstrap (registers XInterface type + TID).
XStorable2.storeToURL.