RelativePathElement

Struct RelativePathElement 

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

https://reference.opcfoundation.org/v105/Core/docs/Part4/7.31

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 from_str<CB>( path: &str, node_resolver: &CB, ) -> Result<RelativePathElement, RelativePathError>
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 BinaryDecodable for RelativePathElement

Source§

fn decode<S: Read + ?Sized>( stream: &mut S, ctx: &Context<'_>, ) -> EncodingResult<Self>

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§

impl BinaryEncodable for RelativePathElement

Source§

fn byte_len(&self, ctx: &Context<'_>) -> 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: Write + ?Sized>( &self, stream: &mut S, ctx: &Context<'_>, ) -> EncodingResult<()>

Encodes the instance to the write stream.
Source§

fn override_encoding(&self) -> Option<BuiltInDataEncoding>

Override the extension object encoding used for this type. This only makes sense if the type can only ever be encoded using a single built-in encoding.
Source§

fn encode_to_vec(&self, ctx: &Context<'_>) -> Vec<u8>

Convenience method for encoding a message straight into an array of bytes. It is preferable to reuse buffers than to call this so it should be reserved for tests and trivial code.
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

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

impl Default for RelativePathElement

Source§

fn default() -> RelativePathElement

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

impl<'a> From<&'a RelativePathElement> for String

Source§

fn from(element: &'a RelativePathElement) -> String

Converts to this type from the input type.
Source§

impl JsonDecodable for RelativePathElement

Source§

fn decode( stream: &mut JsonStreamReader<&mut dyn Read>, ctx: &Context<'_>, ) -> EncodingResult<Self>

Decode Self from a JSON stream.
Source§

impl JsonEncodable for RelativePathElement

Source§

fn encode( &self, stream: &mut JsonStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> EncodingResult<()>

Write the type to the provided JSON writer.
Source§

impl MessageInfo for RelativePathElement

Source§

fn type_id(&self) -> ObjectId

The binary type id associated with the message
Source§

fn json_type_id(&self) -> ObjectId

The JSON type id associated with the message.
Source§

fn xml_type_id(&self) -> ObjectId

The XML type id associated with the message.
Source§

fn data_type_id(&self) -> DataTypeId

The data type 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 UaNullable for RelativePathElement

Source§

fn is_ua_null(&self) -> bool

Return true if this value is null, meaning it can be left out when being encoded in JSON and XML encodings.
Source§

impl XmlDecodable for RelativePathElement

Source§

fn decode( stream: &mut XmlStreamReader<&mut dyn Read>, ctx: &Context<'_>, ) -> EncodingResult<Self>

Decode a value from an XML stream.
Source§

impl XmlEncodable for RelativePathElement

Source§

fn encode( &self, stream: &mut XmlStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> EncodingResult<()>

Encode a value to an XML stream.
Source§

impl XmlType for RelativePathElement

Source§

const TAG: &'static str = "RelativePathElement"

The static fallback tag for this type. Convenience feature, but also used in nested types.
Source§

fn tag(&self) -> &str

The XML tag name for this type.
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> DynEncodable for T

Source§

fn encode_binary( &self, stream: &mut dyn Write, ctx: &Context<'_>, ) -> Result<(), Error>

Encode the struct using OPC-UA binary encoding.
Source§

fn encode_json( &self, stream: &mut JsonStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> Result<(), Error>

Encode the struct using reversible OPC-UA JSON encoding.
Source§

fn encode_xml( &self, stream: &mut XmlStreamWriter<&mut dyn Write>, ctx: &Context<'_>, ) -> Result<(), Error>

Encode the struct using OPC-UA XML encoding.
Source§

fn xml_tag_name(&self) -> &str

The XML tag name for this struct.
Source§

fn byte_len_dyn(&self, ctx: &Context<'_>) -> usize

Get the binary byte length of this struct.
Source§

fn binary_type_id(&self) -> ExpandedNodeId

Get the binary encoding ID of this struct.
Source§

fn json_type_id(&self) -> ExpandedNodeId

Get the JSON encoding ID of this struct.
Source§

fn xml_type_id(&self) -> ExpandedNodeId

Get the XML encoding ID of this struct.
Source§

fn data_type_id(&self) -> ExpandedNodeId

Get the data type ID of this struct.
Source§

fn as_dyn_any(self: Box<T>) -> Box<dyn Any + Sync + Send>

Method to cast this to a dyn Any box, required for downcasting.
Source§

fn as_dyn_any_ref(&self) -> &(dyn Any + Sync + Send + 'static)

Method to cast this to a dyn Any trait object, required for downcasting by reference.
Source§

fn clone_box(&self) -> Box<dyn DynEncodable>

Clone this to a dyn box. Required in order to implement Clone for ExtensionObject.
Source§

fn dyn_eq(&self, other: &(dyn DynEncodable + 'static)) -> bool

Compare this with dynamic object. Invokes the PartialEq implementation of self and other, if other has type Self.
Source§

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

Get the type name of the type, by calling std::any::type_name on Self. Very useful for debugging.
Source§

fn override_encoding(&self) -> Option<BuiltInDataEncoding>

Override the extension object encoding used for this type. This only makes sense if the type can only ever be encoded using a single built-in encoding.
Source§

impl<T> EventField for T
where T: IntoVariant + Clone,

Source§

fn get_value( &self, attribute_id: AttributeId, index_range: &NumericRange, remaining_path: &[QualifiedName], ) -> Variant

Get the variant representation of this field, using the given index range. Read more
Source§

impl<T> ExpandedMessageInfo for T
where T: MessageInfo,

Source§

fn full_type_id(&self) -> ExpandedNodeId

The binary type id associated with the message.
Source§

fn full_json_type_id(&self) -> ExpandedNodeId

The JSON type id associated with the message.
Source§

fn full_xml_type_id(&self) -> ExpandedNodeId

The XML type id associated with the message.
Source§

fn full_data_type_id(&self) -> ExpandedNodeId

The data type ID associated with the message.
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> IntoVariant for T
where T: DynEncodable,

Source§

fn into_variant(self) -> Variant

Convert self into a variant.
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> TryFromVariant for T
where T: DynEncodable,

Source§

fn try_from_variant(v: Variant) -> Result<T, Error>

Try to cast the given variant to this type.
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> VariantType for T
where T: DynEncodable,

Source§

fn variant_type_id() -> VariantScalarTypeId

The variant kind this type will be represented as.
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