Skip to main content

MockOpcProvider

Struct MockOpcProvider 

Source
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

Source

pub fn checkpoint(&mut self)

Validate that all current expectations for all methods have been satisfied, and discard them.

Source

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

Source

pub fn expect_list_servers(&mut self) -> &mut Expectation

Create an Expectation for mocking the list_servers method

Source

pub fn expect_browse_tags(&mut self) -> &mut Expectation

Create an Expectation for mocking the browse_tags method

Source

pub fn expect_browse_capabilities(&mut self) -> &mut Expectation

Create an Expectation for mocking the browse_capabilities method

Source

pub fn expect_open_browse_session(&mut self) -> &mut Expectation

Create an Expectation for mocking the open_browse_session method

Source

pub fn expect_browse_page(&mut self) -> &mut Expectation

Create an Expectation for mocking the browse_page method

Source

pub fn expect_close_browse_session(&mut self) -> &mut Expectation

Create an Expectation for mocking the close_browse_session method

Source

pub fn expect_start_inventory(&mut self) -> &mut Expectation

Create an Expectation for mocking the start_inventory method

Source

pub fn expect_read_tag_values(&mut self) -> &mut Expectation

Create an Expectation for mocking the read_tag_values method

Source

pub fn expect_read_tag_values_for_display(&mut self) -> &mut Expectation

Create an Expectation for mocking the read_tag_values_for_display method

Source

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

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for MockOpcProvider

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

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,

List available OPC DA servers on the given host.

§Errors

Returns Err if COM initialization fails or the server registry cannot be enumerated.

Source§

fn browse_tags<'life0, 'life1, 'async_trait>( &'life0 self, server: &'life1 str, max_tags: usize, progress: Arc<AtomicUsize>, tags_sink: Arc<Mutex<Vec<String>>>, ) -> Pin<Box<dyn Future<Output = OpcResult<Vec<String>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

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,

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,

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,

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,

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,

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,

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,

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,

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.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Source§

fn type_name(&self) -> &'static str

Source§

impl<T> AnySync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more