RelativePathElement

Struct RelativePathElement 

Source
pub struct RelativePathElement {
    pub reference_type_id: NodeId,
    pub is_inverse: bool,
    pub include_subtypes: bool,
    pub target_name: QualifiedName,
}

Fields§

§reference_type_id: NodeId§is_inverse: bool§include_subtypes: bool§target_name: QualifiedName

Implementations§

Source§

impl RelativePathElement

Source

pub fn default_node_resolver( namespace: u16, browse_name: &str, ) -> Option<NodeId>

This is the default node resolver that attempts to resolve a browse name onto a reference type id. The default implementation resides in the types module so it doesn’t have access to the address space.

Therefore it makes a best guess by testing the browse name against the standard reference types and if fails to match it will produce a node id from the namespace and browse name.

Source

pub fn default_browse_name_resolver(node_id: &NodeId) -> Option<String>

Source

pub fn from_str<CB>( path: &str, node_resolver: &CB, ) -> Result<RelativePathElement, ()>
where CB: Fn(u16, &str) -> Option<NodeId>,

Parse a relative path element according to the OPC UA Part 4 Appendix A BNF

<relative-path> ::= <reference-type> <browse-name> [relative-path] <reference-type> ::= '/' | '.' | '<' ['#'] ['!'] <browse-name> '>' <browse-name> ::= [<namespace-index> ':'] <name> <namespace-index> ::= <digit> [<digit>] <digit> ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' <name> ::= (<name-char> | '&' <reserved-char>) [<name>] <reserved-char> ::= '/' | '.' | '<' | '>' | ':' | '#' | '!' | '&' <name-char> ::= All valid characters for a String (see Part 3) excluding reserved-chars.

§Examples
  • /foo
  • /0:foo
  • .bar
  • <0:HasEncoding>bar
  • <!NonHierarchicalReferences>foo
  • <#!2:MyReftype>2:blah

Trait Implementations§

Source§

impl BinaryEncoder<RelativePathElement> for RelativePathElement

Source§

fn byte_len(&self) -> usize

Returns the exact byte length of the structure as it would be if encode were called. This may be called prior to writing to ensure the correct amount of space is available.
Source§

fn encode<S>(&self, stream: &mut S) -> Result<usize, StatusCode>
where S: Write,

Encodes the instance to the write stream.
Source§

fn decode<S>( stream: &mut S, decoding_options: &DecodingOptions, ) -> Result<RelativePathElement, StatusCode>
where S: Read,

Decodes an instance from the read stream. The decoding options contains restrictions set by the server / client on the length of strings, arrays etc. If these limits are exceeded the implementation should return with a BadDecodingError as soon as possible.
Source§

fn encode_to_vec(&self) -> Vec<u8>

Source§

impl Clone for RelativePathElement

Source§

fn clone(&self) -> RelativePathElement

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RelativePathElement

Source§

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

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

impl MessageInfo for RelativePathElement

Source§

fn object_id(&self) -> ObjectId

The object id associated with the message
Source§

impl PartialEq for RelativePathElement

Source§

fn eq(&self, other: &RelativePathElement) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for RelativePathElement

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> 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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.