Expand description
§opc-da-client
Backend-agnostic OPC DA client library for Rust — async, trait-based, with RAII COM guard.
§Quick Start
use opc_da_client::{ComGuard, OpcDaWrapper, OpcProvider};
let _guard = ComGuard::new()?;
let client = OpcDaWrapper::default();
let servers = client.list_servers("localhost").await?;§Feature Flags
| Flag | Default | Effect |
|---|---|---|
opc-da-backend | ✅ | Native OPC DA backend via windows-rs |
test-support | ❌ | Enables MockOpcProvider via mockall |
§Platform
Windows only — OPC DA is built on COM/DCOM.
Macros§
- try_
from_ native - Helper macro for instantiating native COM structs from safe types.
Structs§
- ComConnector
- Real COM-backed server connector implementation.
- ComGuard
- Drop guard for COM thread initialization.
- Mock
OpcProvider - Async trait for OPC DA operations.
- OpcDa
Wrapper - Concrete
OpcProviderimplementation for Windows OPC DA. - TagValue
- A single tag’s read result.
- Write
Result - Result of a single write operation.
Enums§
- OpcValue
- Typed value to write to an OPC DA tag.
Traits§
- OpcProvider
- Async trait for OPC DA operations.
Functions§
- format_
hresult - Format a COM HRESULT for user-facing error messages.
- friendly_
com_ hint - Maps known COM/DCOM error codes to actionable user hints.