pub struct MockOpcProvider { /* private fields */ }Expand description
Async trait for OPC DA operations.
This is the stable public API. Backend implementations provide the actual COM/DCOM interaction.
Implementations§
Source§impl MockOpcProvider
impl MockOpcProvider
Sourcepub fn checkpoint(&mut self)
pub fn checkpoint(&mut self)
Validate that all current expectations for all methods have been satisfied, and discard them.
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new mock object with no expectations.
This method will not be generated if the real struct
already has a new method. However, it will be
generated if the struct implements a trait with a new
method. The trait’s new method can still be called
like <MockX as TraitY>::new
Source§impl MockOpcProvider
impl MockOpcProvider
Sourcepub fn expect_list_servers(&mut self) -> &mut Expectation
pub fn expect_list_servers(&mut self) -> &mut Expectation
Create an Expectation for mocking the list_servers method
Create an Expectation for mocking the browse_tags method
Sourcepub fn expect_browse_capabilities(&mut self) -> &mut Expectation
pub fn expect_browse_capabilities(&mut self) -> &mut Expectation
Create an Expectation for mocking the browse_capabilities method
Sourcepub fn expect_open_browse_session(&mut self) -> &mut Expectation
pub fn expect_open_browse_session(&mut self) -> &mut Expectation
Create an Expectation for mocking the open_browse_session method
Sourcepub fn expect_browse_page(&mut self) -> &mut Expectation
pub fn expect_browse_page(&mut self) -> &mut Expectation
Create an Expectation for mocking the browse_page method
Sourcepub fn expect_close_browse_session(&mut self) -> &mut Expectation
pub fn expect_close_browse_session(&mut self) -> &mut Expectation
Create an Expectation for mocking the close_browse_session method
Sourcepub fn expect_start_inventory(&mut self) -> &mut Expectation
pub fn expect_start_inventory(&mut self) -> &mut Expectation
Create an Expectation for mocking the start_inventory method
Sourcepub fn expect_read_tag_values(&mut self) -> &mut Expectation
pub fn expect_read_tag_values(&mut self) -> &mut Expectation
Create an Expectation for mocking the read_tag_values method
Sourcepub fn expect_read_tag_values_for_display(&mut self) -> &mut Expectation
pub fn expect_read_tag_values_for_display(&mut self) -> &mut Expectation
Create an Expectation for mocking the read_tag_values_for_display method
Sourcepub fn expect_write_tag_value(&mut self) -> &mut Expectation
pub fn expect_write_tag_value(&mut self) -> &mut Expectation
Create an Expectation for mocking the write_tag_value method
Trait Implementations§
Source§impl Debug for MockOpcProvider
impl Debug for MockOpcProvider
Source§impl Default for MockOpcProvider
impl Default for MockOpcProvider
Source§impl OpcProvider for MockOpcProvider
Async trait for OPC DA operations.
impl OpcProvider for MockOpcProvider
Async trait for OPC DA operations.
This is the stable public API. Backend implementations provide the actual COM/DCOM interaction.
Source§fn list_servers<'life0, 'life1, 'async_trait>(
&'life0 self,
host: &'life1 str,
) -> Pin<Box<dyn Future<Output = OpcResult<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_servers<'life0, 'life1, 'async_trait>(
&'life0 self,
host: &'life1 str,
) -> Pin<Box<dyn Future<Output = OpcResult<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List available OPC DA servers on the given host.
§Errors
Returns Err if COM initialization fails or the server registry
cannot be enumerated.
Browse tags recursively, pushing discoveries to tags_sink.
§Errors
Returns Err if the server connection fails, the ProgID cannot be
resolved, or the namespace walk encounters an unrecoverable error.
Source§fn browse_capabilities<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
) -> Pin<Box<dyn Future<Output = OpcResult<BrowseCapabilities>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn browse_capabilities<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
) -> Pin<Box<dyn Future<Output = OpcResult<BrowseCapabilities>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Return the native browse capabilities of an OPC DA server.
§Errors
Returns Err if the server cannot be connected or exposes no supported
OPC DA browse interface.
Source§fn open_browse_session<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
) -> Pin<Box<dyn Future<Output = OpcResult<BrowseSessionToken>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn open_browse_session<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
) -> Pin<Box<dyn Future<Output = OpcResult<BrowseSessionToken>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Open an isolated native browse session with its own server connection.
§Errors
Returns Err if the server cannot be connected, browsing is unsupported,
or the worker’s bounded session capacity has been reached.
Source§fn browse_page<'life0, 'life1, 'async_trait>(
&'life0 self,
session: &'life1 BrowseSessionToken,
request: BrowsePageRequest,
) -> Pin<Box<dyn Future<Output = OpcResult<BrowsePage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn browse_page<'life0, 'life1, 'async_trait>(
&'life0 self,
session: &'life1 BrowseSessionToken,
request: BrowsePageRequest,
) -> Pin<Box<dyn Future<Output = OpcResult<BrowsePage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Browse one bounded level of an open native browse session.
§Errors
Returns Err for invalid, closed, or expired tokens; invalid page sizes;
unsupported requests; or underlying OPC browse failures.
Source§fn close_browse_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session: &'life1 BrowseSessionToken,
) -> Pin<Box<dyn Future<Output = OpcResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn close_browse_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session: &'life1 BrowseSessionToken,
) -> Pin<Box<dyn Future<Output = OpcResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Explicitly close a native browse session and release its server connection.
§Errors
Returns Err if the session token is invalid, expired, or already closed.
Source§fn start_inventory<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
options: InventoryOptions,
) -> Pin<Box<dyn Future<Output = OpcResult<InventoryStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn start_inventory<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
options: InventoryOptions,
) -> Pin<Box<dyn Future<Output = OpcResult<InventoryStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Start a cancellable, bounded namespace inventory on a separate connection from foreground operations.
The returned stream never exposes interactive browse-session tokens; all traversal state remains private to the inventory worker.
Source§fn read_tag_values<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
tag_ids: Vec<String>,
) -> Pin<Box<dyn Future<Output = OpcResult<Vec<TagValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_tag_values<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
tag_ids: Vec<String>,
) -> Pin<Box<dyn Future<Output = OpcResult<Vec<TagValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read current values for the given tag IDs.
VT_BSTR values preserve their exact COM contents. No quote characters
are added or removed, so this method is suitable for machine consumers.
§Errors
Returns Err if the server connection fails, no items can be added
to the OPC group, or the synchronous read operation fails.
Source§fn read_tag_values_for_display<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
tag_ids: Vec<String>,
) -> Pin<Box<dyn Future<Output = OpcResult<Vec<TagValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read_tag_values_for_display<'life0, 'life1, 'async_trait>(
&'life0 self,
server: &'life1 str,
tag_ids: Vec<String>,
) -> Pin<Box<dyn Future<Output = OpcResult<Vec<TagValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read current values formatted for human-readable display.
The native provider wraps VT_BSTR contents in quote characters while
leaving all other value formatting unchanged. The default implementation
delegates to Self::read_tag_values so third-party providers remain
source-compatible.
§Errors
Returns the same errors as Self::read_tag_values.
Source§fn write_tag_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server: &'life1 str,
tag_id: &'life2 str,
value: OpcValue,
) -> Pin<Box<dyn Future<Output = OpcResult<WriteResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn write_tag_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
server: &'life1 str,
tag_id: &'life2 str,
value: OpcValue,
) -> Pin<Box<dyn Future<Output = OpcResult<WriteResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Write a value to a single OPC DA tag.
§Errors
Returns Err if the server connection fails, the tag cannot be added
to the OPC group, or the synchronous write operation fails.