1#[allow(unused)]
9mod opcua {
10 pub(super) use crate as types;
11}
12bitflags::bitflags! {
13 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
14 "https://reference.opcfoundation.org/v105/Core/docs/Part3/8.58"] pub struct
15 AccessLevelExType : i32 { const CurrentRead = 1i32; const CurrentWrite = 2i32; const
16 HistoryRead = 4i32; const HistoryWrite = 8i32; const SemanticChange = 16i32; const
17 StatusWrite = 32i32; const TimestampWrite = 64i32; const NonatomicRead = 256i32;
18 const NonatomicWrite = 512i32; const WriteFullArrayOnly = 1024i32; const
19 NoSubDataTypes = 2048i32; const NonVolatile = 4096i32; const Constant = 8192i32; }
20}
21impl opcua::types::UaNullable for AccessLevelExType {
22 fn is_ua_null(&self) -> bool {
23 self.is_empty()
24 }
25}
26opcua::types::impl_encoded_as!(
27 AccessLevelExType,
28 |v| Ok(AccessLevelExType::from_bits_truncate(v)),
29 |v: &AccessLevelExType| Ok::<_, opcua::types::Error>(v.bits()),
30 |v: &AccessLevelExType| v.bits().byte_len()
31);
32impl Default for AccessLevelExType {
33 fn default() -> Self {
34 Self::empty()
35 }
36}
37impl opcua::types::IntoVariant for AccessLevelExType {
38 fn into_variant(self) -> opcua::types::Variant {
39 self.bits().into_variant()
40 }
41}
42#[cfg(feature = "xml")]
43impl opcua::types::xml::XmlType for AccessLevelExType {
44 const TAG: &'static str = "AccessLevelExType";
45}
46bitflags::bitflags! {
47 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
48 "https://reference.opcfoundation.org/v105/Core/docs/Part3/8.57"] pub struct
49 AccessLevelType : u8 { const CurrentRead = 1u8; const CurrentWrite = 2u8; const
50 HistoryRead = 4u8; const HistoryWrite = 8u8; const SemanticChange = 16u8; const
51 StatusWrite = 32u8; const TimestampWrite = 64u8; }
52}
53impl opcua::types::UaNullable for AccessLevelType {
54 fn is_ua_null(&self) -> bool {
55 self.is_empty()
56 }
57}
58opcua::types::impl_encoded_as!(
59 AccessLevelType,
60 |v| Ok(AccessLevelType::from_bits_truncate(v)),
61 |v: &AccessLevelType| Ok::<_, opcua::types::Error>(v.bits()),
62 |v: &AccessLevelType| v.bits().byte_len()
63);
64impl Default for AccessLevelType {
65 fn default() -> Self {
66 Self::empty()
67 }
68}
69impl opcua::types::IntoVariant for AccessLevelType {
70 fn into_variant(self) -> opcua::types::Variant {
71 self.bits().into_variant()
72 }
73}
74#[cfg(feature = "xml")]
75impl opcua::types::xml::XmlType for AccessLevelType {
76 const TAG: &'static str = "AccessLevelType";
77}
78bitflags::bitflags! {
79 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
80 "https://reference.opcfoundation.org/v105/Core/docs/Part5/12.2.9/#12.2.9.13"] pub
81 struct AccessRestrictionType : i16 { const SigningRequired = 1i16; const
82 EncryptionRequired = 2i16; const SessionRequired = 4i16; const
83 ApplyRestrictionsToBrowse = 8i16; }
84}
85impl opcua::types::UaNullable for AccessRestrictionType {
86 fn is_ua_null(&self) -> bool {
87 self.is_empty()
88 }
89}
90opcua::types::impl_encoded_as!(
91 AccessRestrictionType,
92 |v| Ok(AccessRestrictionType::from_bits_truncate(v)),
93 |v: &AccessRestrictionType| Ok::<_, opcua::types::Error>(v.bits()),
94 |v: &AccessRestrictionType| v.bits().byte_len()
95);
96impl Default for AccessRestrictionType {
97 fn default() -> Self {
98 Self::empty()
99 }
100}
101impl opcua::types::IntoVariant for AccessRestrictionType {
102 fn into_variant(self) -> opcua::types::Variant {
103 self.bits().into_variant()
104 }
105}
106#[cfg(feature = "xml")]
107impl opcua::types::xml::XmlType for AccessRestrictionType {
108 const TAG: &'static str = "AccessRestrictionType";
109}
110#[opcua::types::ua_encodable]
111#[derive(Debug, Copy, Clone, PartialEq, Eq)]
113#[repr(i32)]
114pub enum ActionState {
115 #[opcua(default)]
116 Idle = 0i32,
117 Executing = 1i32,
118 Done = 2i32,
119}
120bitflags::bitflags! {
121 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
122 "https://reference.opcfoundation.org/v105/Core/docs/Part9/8.3"] pub struct AlarmMask
123 : i16 { const Active = 1i16; const Unacknowledged = 2i16; const Unconfirmed = 4i16; }
124}
125impl opcua::types::UaNullable for AlarmMask {
126 fn is_ua_null(&self) -> bool {
127 self.is_empty()
128 }
129}
130opcua::types::impl_encoded_as!(
131 AlarmMask,
132 |v| Ok(AlarmMask::from_bits_truncate(v)),
133 |v: &AlarmMask| Ok::<_, opcua::types::Error>(v.bits()),
134 |v: &AlarmMask| v.bits().byte_len()
135);
136impl Default for AlarmMask {
137 fn default() -> Self {
138 Self::empty()
139 }
140}
141impl opcua::types::IntoVariant for AlarmMask {
142 fn into_variant(self) -> opcua::types::Variant {
143 self.bits().into_variant()
144 }
145}
146#[cfg(feature = "xml")]
147impl opcua::types::xml::XmlType for AlarmMask {
148 const TAG: &'static str = "AlarmMask";
149}
150#[opcua::types::ua_encodable]
151#[derive(Debug, Copy, Clone, PartialEq, Eq)]
153#[repr(i32)]
154pub enum ApplicationType {
155 #[opcua(default)]
156 Server = 0i32,
157 Client = 1i32,
158 ClientAndServer = 2i32,
159 DiscoveryServer = 3i32,
160}
161bitflags::bitflags! {
162 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
163 "https://reference.opcfoundation.org/v105/Core/docs/Part3/8.60"] pub struct
164 AttributeWriteMask : i32 { const AccessLevel = 1i32; const ArrayDimensions = 2i32;
165 const BrowseName = 4i32; const ContainsNoLoops = 8i32; const DataType = 16i32; const
166 Description = 32i32; const DisplayName = 64i32; const EventNotifier = 128i32; const
167 Executable = 256i32; const Historizing = 512i32; const InverseName = 1024i32; const
168 IsAbstract = 2048i32; const MinimumSamplingInterval = 4096i32; const NodeClass =
169 8192i32; const NodeId = 16384i32; const Symmetric = 32768i32; const UserAccessLevel =
170 65536i32; const UserExecutable = 131072i32; const UserWriteMask = 262144i32; const
171 ValueRank = 524288i32; const WriteMask = 1048576i32; const ValueForVariableType =
172 2097152i32; const DataTypeDefinition = 4194304i32; const RolePermissions =
173 8388608i32; const AccessRestrictions = 16777216i32; const AccessLevelEx =
174 33554432i32; }
175}
176impl opcua::types::UaNullable for AttributeWriteMask {
177 fn is_ua_null(&self) -> bool {
178 self.is_empty()
179 }
180}
181opcua::types::impl_encoded_as!(
182 AttributeWriteMask,
183 |v| Ok(AttributeWriteMask::from_bits_truncate(v)),
184 |v: &AttributeWriteMask| Ok::<_, opcua::types::Error>(v.bits()),
185 |v: &AttributeWriteMask| v.bits().byte_len()
186);
187impl Default for AttributeWriteMask {
188 fn default() -> Self {
189 Self::empty()
190 }
191}
192impl opcua::types::IntoVariant for AttributeWriteMask {
193 fn into_variant(self) -> opcua::types::Variant {
194 self.bits().into_variant()
195 }
196}
197#[cfg(feature = "xml")]
198impl opcua::types::xml::XmlType for AttributeWriteMask {
199 const TAG: &'static str = "AttributeWriteMask";
200}
201#[opcua::types::ua_encodable]
202#[derive(Debug, Copy, Clone, PartialEq, Eq)]
204#[repr(i32)]
205pub enum AxisScaleEnumeration {
206 #[opcua(default)]
207 Linear = 0i32,
208 Log = 1i32,
209 Ln = 2i32,
210}
211#[opcua::types::ua_encodable]
212#[derive(Debug, Copy, Clone, PartialEq, Eq)]
214#[repr(i32)]
215pub enum BrokerTransportQualityOfService {
216 #[opcua(default)]
217 NotSpecified = 0i32,
218 BestEffort = 1i32,
219 AtLeastOnce = 2i32,
220 AtMostOnce = 3i32,
221 ExactlyOnce = 4i32,
222}
223#[opcua::types::ua_encodable]
224#[derive(Debug, Copy, Clone, PartialEq, Eq)]
226#[repr(i32)]
227pub enum BrowseDirection {
228 #[opcua(default)]
229 Forward = 0i32,
230 Inverse = 1i32,
231 Both = 2i32,
232 Invalid = 3i32,
233}
234#[opcua::types::ua_encodable]
235#[derive(Debug, Copy, Clone, PartialEq, Eq)]
236#[repr(i32)]
237pub enum BrowseResultMask {
238 #[opcua(default)]
239 None = 0i32,
240 ReferenceTypeId = 1i32,
241 IsForward = 2i32,
242 NodeClass = 4i32,
243 BrowseName = 8i32,
244 DisplayName = 16i32,
245 TypeDefinition = 32i32,
246 All = 63i32,
247 ReferenceTypeInfo = 3i32,
248 TargetInfo = 60i32,
249}
250#[opcua::types::ua_encodable]
251#[derive(Debug, Copy, Clone, PartialEq, Eq)]
253#[repr(i32)]
254pub enum ChassisIdSubtype {
255 ChassisComponent = 1i32,
257 InterfaceAlias = 2i32,
259 PortComponent = 3i32,
261 MacAddress = 4i32,
263 NetworkAddress = 5i32,
265 InterfaceName = 6i32,
267 Local = 7i32,
269}
270#[opcua::types::ua_encodable]
271#[derive(Debug, Copy, Clone, PartialEq, Eq)]
273#[repr(i32)]
274pub enum ConversionLimitEnum {
275 #[opcua(default)]
276 NoConversion = 0i32,
277 Limited = 1i32,
278 Unlimited = 2i32,
279}
280#[opcua::types::ua_encodable]
281#[derive(Debug, Copy, Clone, PartialEq, Eq)]
283#[repr(i32)]
284pub enum DataChangeTrigger {
285 #[opcua(default)]
286 Status = 0i32,
287 StatusValue = 1i32,
288 StatusValueTimestamp = 2i32,
289}
290bitflags::bitflags! {
291 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
292 "https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.4/#6.2.4.2"] pub
293 struct DataSetFieldContentMask : i32 { const StatusCode = 1i32; const SourceTimestamp
294 = 2i32; const ServerTimestamp = 4i32; const SourcePicoSeconds = 8i32; const
295 ServerPicoSeconds = 16i32; const RawData = 32i32; }
296}
297impl opcua::types::UaNullable for DataSetFieldContentMask {
298 fn is_ua_null(&self) -> bool {
299 self.is_empty()
300 }
301}
302opcua::types::impl_encoded_as!(
303 DataSetFieldContentMask,
304 |v| Ok(DataSetFieldContentMask::from_bits_truncate(v)),
305 |v: &DataSetFieldContentMask| Ok::<_, opcua::types::Error>(v.bits()),
306 |v: &DataSetFieldContentMask| v.bits().byte_len()
307);
308impl Default for DataSetFieldContentMask {
309 fn default() -> Self {
310 Self::empty()
311 }
312}
313impl opcua::types::IntoVariant for DataSetFieldContentMask {
314 fn into_variant(self) -> opcua::types::Variant {
315 self.bits().into_variant()
316 }
317}
318#[cfg(feature = "xml")]
319impl opcua::types::xml::XmlType for DataSetFieldContentMask {
320 const TAG: &'static str = "DataSetFieldContentMask";
321}
322bitflags::bitflags! {
323 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
324 "https://reference.opcfoundation.org/v105/Core/docs/Part14/6.2.3/#6.2.3.2.5"] pub
325 struct DataSetFieldFlags : i16 { const PromotedField = 1i16; }
326}
327impl opcua::types::UaNullable for DataSetFieldFlags {
328 fn is_ua_null(&self) -> bool {
329 self.is_empty()
330 }
331}
332opcua::types::impl_encoded_as!(
333 DataSetFieldFlags,
334 |v| Ok(DataSetFieldFlags::from_bits_truncate(v)),
335 |v: &DataSetFieldFlags| Ok::<_, opcua::types::Error>(v.bits()),
336 |v: &DataSetFieldFlags| v.bits().byte_len()
337);
338impl Default for DataSetFieldFlags {
339 fn default() -> Self {
340 Self::empty()
341 }
342}
343impl opcua::types::IntoVariant for DataSetFieldFlags {
344 fn into_variant(self) -> opcua::types::Variant {
345 self.bits().into_variant()
346 }
347}
348#[cfg(feature = "xml")]
349impl opcua::types::xml::XmlType for DataSetFieldFlags {
350 const TAG: &'static str = "DataSetFieldFlags";
351}
352#[opcua::types::ua_encodable]
353#[derive(Debug, Copy, Clone, PartialEq, Eq)]
355#[repr(i32)]
356pub enum DataSetOrderingType {
357 #[opcua(default)]
358 Undefined = 0i32,
359 AscendingWriterId = 1i32,
360 AscendingWriterIdSingle = 2i32,
361}
362#[opcua::types::ua_encodable]
363#[derive(Debug, Copy, Clone, PartialEq, Eq)]
364#[repr(i32)]
365pub enum DeadbandType {
366 #[opcua(default)]
367 None = 0i32,
368 Absolute = 1i32,
369 Percent = 2i32,
370}
371#[opcua::types::ua_encodable]
372#[derive(Debug, Copy, Clone, PartialEq, Eq)]
374#[repr(i32)]
375pub enum DiagnosticsLevel {
376 #[opcua(default)]
377 Basic = 0i32,
378 Advanced = 1i32,
379 Info = 2i32,
380 Log = 3i32,
381 Debug = 4i32,
382}
383#[opcua::types::ua_encodable]
384#[derive(Debug, Copy, Clone, PartialEq, Eq)]
386#[repr(i32)]
387pub enum Duplex {
388 #[opcua(default)]
389 Full = 0i32,
391 Half = 1i32,
393 Unknown = 2i32,
395}
396bitflags::bitflags! {
397 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
398 "https://reference.opcfoundation.org/v105/Core/docs/Part3/8.59"] pub struct
399 EventNotifierType : u8 { const SubscribeToEvents = 1u8; const HistoryRead = 4u8;
400 const HistoryWrite = 8u8; }
401}
402impl opcua::types::UaNullable for EventNotifierType {
403 fn is_ua_null(&self) -> bool {
404 self.is_empty()
405 }
406}
407opcua::types::impl_encoded_as!(
408 EventNotifierType,
409 |v| Ok(EventNotifierType::from_bits_truncate(v)),
410 |v: &EventNotifierType| Ok::<_, opcua::types::Error>(v.bits()),
411 |v: &EventNotifierType| v.bits().byte_len()
412);
413impl Default for EventNotifierType {
414 fn default() -> Self {
415 Self::empty()
416 }
417}
418impl opcua::types::IntoVariant for EventNotifierType {
419 fn into_variant(self) -> opcua::types::Variant {
420 self.bits().into_variant()
421 }
422}
423#[cfg(feature = "xml")]
424impl opcua::types::xml::XmlType for EventNotifierType {
425 const TAG: &'static str = "EventNotifierType";
426}
427#[opcua::types::ua_encodable]
428#[derive(Debug, Copy, Clone, PartialEq, Eq)]
430#[repr(i32)]
431pub enum ExceptionDeviationFormat {
432 #[opcua(default)]
433 AbsoluteValue = 0i32,
434 PercentOfValue = 1i32,
435 PercentOfRange = 2i32,
436 PercentOfEURange = 3i32,
437 Unknown = 4i32,
438}
439#[opcua::types::ua_encodable]
440#[derive(Debug, Copy, Clone, PartialEq, Eq)]
442#[repr(i32)]
443pub enum FilterOperator {
444 #[opcua(default)]
445 Equals = 0i32,
446 IsNull = 1i32,
447 GreaterThan = 2i32,
448 LessThan = 3i32,
449 GreaterThanOrEqual = 4i32,
450 LessThanOrEqual = 5i32,
451 Like = 6i32,
452 Not = 7i32,
453 Between = 8i32,
454 InList = 9i32,
455 And = 10i32,
456 Or = 11i32,
457 Cast = 12i32,
458 InView = 13i32,
459 OfType = 14i32,
460 RelatedTo = 15i32,
461 BitwiseAnd = 16i32,
462 BitwiseOr = 17i32,
463}
464#[opcua::types::ua_encodable]
465#[derive(Debug, Copy, Clone, PartialEq, Eq)]
467#[repr(i32)]
468pub enum HistoryUpdateType {
469 Insert = 1i32,
471 Replace = 2i32,
473 Update = 3i32,
475 Delete = 4i32,
477}
478#[opcua::types::ua_encodable]
479#[derive(Debug, Copy, Clone, PartialEq, Eq)]
481#[repr(i32)]
482pub enum IdentityCriteriaType {
483 UserName = 1i32,
485 Thumbprint = 2i32,
487 Role = 3i32,
489 GroupId = 4i32,
491 Anonymous = 5i32,
493 AuthenticatedUser = 6i32,
495 Application = 7i32,
497 X509Subject = 8i32,
499 TrustedApplication = 9i32,
501}
502#[opcua::types::ua_encodable]
503#[derive(Debug, Copy, Clone, PartialEq, Eq)]
505#[repr(i32)]
506pub enum IdType {
507 #[opcua(default)]
508 Numeric = 0i32,
509 String = 1i32,
510 Guid = 2i32,
511 Opaque = 3i32,
512}
513#[opcua::types::ua_encodable]
514#[derive(Debug, Copy, Clone, PartialEq, Eq)]
516#[repr(i32)]
517pub enum InterfaceAdminStatus {
518 #[opcua(default)]
519 Up = 0i32,
521 Down = 1i32,
523 Testing = 2i32,
525}
526#[opcua::types::ua_encodable]
527#[derive(Debug, Copy, Clone, PartialEq, Eq)]
529#[repr(i32)]
530pub enum InterfaceOperStatus {
531 #[opcua(default)]
532 Up = 0i32,
534 Down = 1i32,
536 Testing = 2i32,
538 Unknown = 3i32,
540 Dormant = 4i32,
542 NotPresent = 5i32,
544 LowerLayerDown = 6i32,
546}
547bitflags::bitflags! {
548 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
549 "https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.3.1"] pub
550 struct JsonDataSetMessageContentMask : i32 { const DataSetWriterId = 1i32; const
551 MetaDataVersion = 2i32; const SequenceNumber = 4i32; const Timestamp = 8i32; const
552 Status = 16i32; const MessageType = 32i32; const DataSetWriterName = 64i32; const
553 FieldEncoding1 = 128i32; const PublisherId = 256i32; const WriterGroupName = 512i32;
554 const MinorVersion = 1024i32; const FieldEncoding2 = 2048i32; }
555}
556impl opcua::types::UaNullable for JsonDataSetMessageContentMask {
557 fn is_ua_null(&self) -> bool {
558 self.is_empty()
559 }
560}
561opcua::types::impl_encoded_as!(
562 JsonDataSetMessageContentMask,
563 |v| Ok(JsonDataSetMessageContentMask::from_bits_truncate(v)),
564 |v: &JsonDataSetMessageContentMask| Ok::<_, opcua::types::Error>(v.bits()),
565 |v: &JsonDataSetMessageContentMask| v.bits().byte_len()
566);
567impl Default for JsonDataSetMessageContentMask {
568 fn default() -> Self {
569 Self::empty()
570 }
571}
572impl opcua::types::IntoVariant for JsonDataSetMessageContentMask {
573 fn into_variant(self) -> opcua::types::Variant {
574 self.bits().into_variant()
575 }
576}
577#[cfg(feature = "xml")]
578impl opcua::types::xml::XmlType for JsonDataSetMessageContentMask {
579 const TAG: &'static str = "JsonDataSetMessageContentMask";
580}
581bitflags::bitflags! {
582 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
583 "https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.2/#6.3.2.1.1"] pub
584 struct JsonNetworkMessageContentMask : i32 { const NetworkMessageHeader = 1i32; const
585 DataSetMessageHeader = 2i32; const SingleDataSetMessage = 4i32; const PublisherId =
586 8i32; const DataSetClassId = 16i32; const ReplyTo = 32i32; const WriterGroupName =
587 64i32; }
588}
589impl opcua::types::UaNullable for JsonNetworkMessageContentMask {
590 fn is_ua_null(&self) -> bool {
591 self.is_empty()
592 }
593}
594opcua::types::impl_encoded_as!(
595 JsonNetworkMessageContentMask,
596 |v| Ok(JsonNetworkMessageContentMask::from_bits_truncate(v)),
597 |v: &JsonNetworkMessageContentMask| Ok::<_, opcua::types::Error>(v.bits()),
598 |v: &JsonNetworkMessageContentMask| v.bits().byte_len()
599);
600impl Default for JsonNetworkMessageContentMask {
601 fn default() -> Self {
602 Self::empty()
603 }
604}
605impl opcua::types::IntoVariant for JsonNetworkMessageContentMask {
606 fn into_variant(self) -> opcua::types::Variant {
607 self.bits().into_variant()
608 }
609}
610#[cfg(feature = "xml")]
611impl opcua::types::xml::XmlType for JsonNetworkMessageContentMask {
612 const TAG: &'static str = "JsonNetworkMessageContentMask";
613}
614bitflags::bitflags! {
615 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
616 "https://reference.opcfoundation.org/v105/Core/docs/Part22/5.3.3/#5.3.3.1"] pub
617 struct LldpSystemCapabilitiesMap : i32 { #[doc =
618 "System has capabilities other than those listed below"] const Other = 1i32; #[doc =
619 "System has repeater capability"] const Repeater = 2i32; #[doc =
620 "System has bridge capability"] const Bridge = 4i32; #[doc =
621 "System has WLAN access point capability"] const WlanAccessPoint = 8i32; #[doc =
622 "System has router capability"] const Router = 16i32; #[doc =
623 "System has telephone capability"] const Telephone = 32i32; #[doc =
624 "System has DOCSIS cable device capability (IETF RFC 4639)"] const DocsisCableDevice
625 = 64i32; #[doc = "System has only station capability"] const StationOnly = 128i32;
626 #[doc = "System has C-VLAN component functionality"] const CvlanComponent = 256i32;
627 #[doc = "System has S-VLAN component functionality"] const SvlanComponent = 512i32;
628 #[doc = "System has Two-port MAC Relay (TPMR) functionality."] const TwoPortMacRelay
629 = 1024i32; }
630}
631impl opcua::types::UaNullable for LldpSystemCapabilitiesMap {
632 fn is_ua_null(&self) -> bool {
633 self.is_empty()
634 }
635}
636opcua::types::impl_encoded_as!(
637 LldpSystemCapabilitiesMap,
638 |v| Ok(LldpSystemCapabilitiesMap::from_bits_truncate(v)),
639 |v: &LldpSystemCapabilitiesMap| Ok::<_, opcua::types::Error>(v.bits()),
640 |v: &LldpSystemCapabilitiesMap| v.bits().byte_len()
641);
642impl Default for LldpSystemCapabilitiesMap {
643 fn default() -> Self {
644 Self::empty()
645 }
646}
647impl opcua::types::IntoVariant for LldpSystemCapabilitiesMap {
648 fn into_variant(self) -> opcua::types::Variant {
649 self.bits().into_variant()
650 }
651}
652#[cfg(feature = "xml")]
653impl opcua::types::xml::XmlType for LldpSystemCapabilitiesMap {
654 const TAG: &'static str = "LldpSystemCapabilitiesMap";
655}
656#[opcua::types::ua_encodable]
657#[derive(Debug, Copy, Clone, PartialEq, Eq)]
659#[repr(i32)]
660pub enum ManAddrIfSubtype {
661 #[opcua(default)]
662 None = 0i32,
664 Unknown = 1i32,
666 PortRef = 2i32,
668 SystemPortNumber = 3i32,
670}
671#[opcua::types::ua_encodable]
672#[derive(Debug, Copy, Clone, PartialEq, Eq)]
674#[repr(i32)]
675pub enum MessageSecurityMode {
676 #[opcua(default)]
677 Invalid = 0i32,
678 None = 1i32,
679 Sign = 2i32,
680 SignAndEncrypt = 3i32,
681}
682#[opcua::types::ua_encodable]
683#[derive(Debug, Copy, Clone, PartialEq, Eq)]
684#[repr(i32)]
685pub enum ModelChangeStructureVerbMask {
686 NodeAdded = 1i32,
687 NodeDeleted = 2i32,
688 ReferenceAdded = 4i32,
689 ReferenceDeleted = 8i32,
690 DataTypeChanged = 16i32,
691}
692#[opcua::types::ua_encodable]
693#[derive(Debug, Copy, Clone, PartialEq, Eq)]
695#[repr(i32)]
696pub enum MonitoringMode {
697 #[opcua(default)]
698 Disabled = 0i32,
699 Sampling = 1i32,
700 Reporting = 2i32,
701}
702#[opcua::types::ua_encodable]
703#[derive(Debug, Copy, Clone, PartialEq, Eq)]
704#[repr(i32)]
705pub enum NamingRuleType {
706 Mandatory = 1i32,
708 Optional = 2i32,
710 Constraint = 3i32,
712}
713#[opcua::types::ua_encodable]
714#[derive(Debug, Copy, Clone, PartialEq, Eq)]
716#[repr(i32)]
717pub enum NegotiationStatus {
718 #[opcua(default)]
719 InProgress = 0i32,
721 Complete = 1i32,
723 Failed = 2i32,
725 Unknown = 3i32,
727 NoNegotiation = 4i32,
729}
730#[opcua::types::ua_encodable]
731#[derive(Debug, Copy, Clone, PartialEq, Eq)]
732#[repr(i32)]
733pub enum NodeAttributesMask {
734 #[opcua(default)]
735 None = 0i32,
736 AccessLevel = 1i32,
737 ArrayDimensions = 2i32,
738 BrowseName = 4i32,
739 ContainsNoLoops = 8i32,
740 DataType = 16i32,
741 Description = 32i32,
742 DisplayName = 64i32,
743 EventNotifier = 128i32,
744 Executable = 256i32,
745 Historizing = 512i32,
746 InverseName = 1024i32,
747 IsAbstract = 2048i32,
748 MinimumSamplingInterval = 4096i32,
749 NodeClass = 8192i32,
750 NodeId = 16384i32,
751 Symmetric = 32768i32,
752 UserAccessLevel = 65536i32,
753 UserExecutable = 131072i32,
754 UserWriteMask = 262144i32,
755 ValueRank = 524288i32,
756 WriteMask = 1048576i32,
757 Value = 2097152i32,
758 DataTypeDefinition = 4194304i32,
759 RolePermissions = 8388608i32,
760 AccessRestrictions = 16777216i32,
761 All = 33554431i32,
762 BaseNode = 26501220i32,
763 Object = 26501348i32,
764 ObjectType = 26503268i32,
765 Variable = 26571383i32,
766 VariableType = 28600438i32,
767 Method = 26632548i32,
768 ReferenceType = 26537060i32,
769 View = 26501356i32,
770}
771#[opcua::types::ua_encodable]
772#[derive(Debug, Copy, Clone, PartialEq, Eq)]
774#[repr(i32)]
775pub enum NodeClass {
776 #[opcua(default)]
777 Unspecified = 0i32,
779 Object = 1i32,
781 Variable = 2i32,
783 Method = 4i32,
785 ObjectType = 8i32,
787 VariableType = 16i32,
789 ReferenceType = 32i32,
791 DataType = 64i32,
793 View = 128i32,
795}
796#[opcua::types::ua_encodable]
797#[derive(Debug, Copy, Clone, PartialEq, Eq)]
798#[repr(i32)]
799pub enum OpenFileMode {
800 Read = 1i32,
801 Write = 2i32,
802 EraseExisting = 4i32,
803 Append = 8i32,
804}
805#[opcua::types::ua_encodable]
806#[derive(Debug, Copy, Clone, PartialEq, Eq)]
808#[repr(i32)]
809pub enum OverrideValueHandling {
810 #[opcua(default)]
811 Disabled = 0i32,
812 LastUsableValue = 1i32,
813 OverrideValue = 2i32,
814}
815bitflags::bitflags! {
816 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
817 "https://reference.opcfoundation.org/v105/Core/docs/Part18/5.2.2"] pub struct
818 PasswordOptionsMask : i32 { #[doc =
819 "Indicates if the server supports the feature to require a password change after the creation of the user."]
820 const SupportInitialPasswordChange = 1i32; #[doc =
821 "Indicates if the server supports to disable a user."] const SupportDisableUser =
822 2i32; #[doc =
823 "Indicates if the server supports the configuration NoDelete for a user."] const
824 SupportDisableDeleteForUser = 4i32; #[doc =
825 "Indicates if the server supports the configuration NoChangeByUser for a user."]
826 const SupportNoChangeForUser = 8i32; #[doc =
827 "Indicates if the server supports to management of a description for the user."]
828 const SupportDescriptionForUser = 16i32; #[doc =
829 "Indicates if a upper case ASCII character is required in a password."] const
830 RequiresUpperCaseCharacters = 32i32; #[doc =
831 "Indicates if a lower case ASCII character is required in a password."] const
832 RequiresLowerCaseCharacters = 64i32; #[doc =
833 "Indicates if a digit ASCII character is required in a password."] const
834 RequiresDigitCharacters = 128i32; #[doc =
835 "Indicates if a special character is required in a password."] const
836 RequiresSpecialCharacters = 256i32; }
837}
838impl opcua::types::UaNullable for PasswordOptionsMask {
839 fn is_ua_null(&self) -> bool {
840 self.is_empty()
841 }
842}
843opcua::types::impl_encoded_as!(
844 PasswordOptionsMask,
845 |v| Ok(PasswordOptionsMask::from_bits_truncate(v)),
846 |v: &PasswordOptionsMask| Ok::<_, opcua::types::Error>(v.bits()),
847 |v: &PasswordOptionsMask| v.bits().byte_len()
848);
849impl Default for PasswordOptionsMask {
850 fn default() -> Self {
851 Self::empty()
852 }
853}
854impl opcua::types::IntoVariant for PasswordOptionsMask {
855 fn into_variant(self) -> opcua::types::Variant {
856 self.bits().into_variant()
857 }
858}
859#[cfg(feature = "xml")]
860impl opcua::types::xml::XmlType for PasswordOptionsMask {
861 const TAG: &'static str = "PasswordOptionsMask";
862}
863#[opcua::types::ua_encodable]
864#[derive(Debug, Copy, Clone, PartialEq, Eq)]
866#[repr(i32)]
867pub enum PerformUpdateType {
868 Insert = 1i32,
870 Replace = 2i32,
872 Update = 3i32,
874 Remove = 4i32,
876}
877bitflags::bitflags! {
878 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
879 "https://reference.opcfoundation.org/v105/Core/docs/Part3/8.55"] pub struct
880 PermissionType : i32 { const Browse = 1i32; const ReadRolePermissions = 2i32; const
881 WriteAttribute = 4i32; const WriteRolePermissions = 8i32; const WriteHistorizing =
882 16i32; const Read = 32i32; const Write = 64i32; const ReadHistory = 128i32; const
883 InsertHistory = 256i32; const ModifyHistory = 512i32; const DeleteHistory = 1024i32;
884 const ReceiveEvents = 2048i32; const Call = 4096i32; const AddReference = 8192i32;
885 const RemoveReference = 16384i32; const DeleteNode = 32768i32; const AddNode =
886 65536i32; }
887}
888impl opcua::types::UaNullable for PermissionType {
889 fn is_ua_null(&self) -> bool {
890 self.is_empty()
891 }
892}
893opcua::types::impl_encoded_as!(
894 PermissionType,
895 |v| Ok(PermissionType::from_bits_truncate(v)),
896 |v: &PermissionType| Ok::<_, opcua::types::Error>(v.bits()),
897 |v: &PermissionType| v.bits().byte_len()
898);
899impl Default for PermissionType {
900 fn default() -> Self {
901 Self::empty()
902 }
903}
904impl opcua::types::IntoVariant for PermissionType {
905 fn into_variant(self) -> opcua::types::Variant {
906 self.bits().into_variant()
907 }
908}
909#[cfg(feature = "xml")]
910impl opcua::types::xml::XmlType for PermissionType {
911 const TAG: &'static str = "PermissionType";
912}
913#[opcua::types::ua_encodable]
914#[derive(Debug, Copy, Clone, PartialEq, Eq)]
916#[repr(i32)]
917pub enum PortIdSubtype {
918 InterfaceAlias = 1i32,
920 PortComponent = 2i32,
922 MacAddress = 3i32,
924 NetworkAddress = 4i32,
926 InterfaceName = 5i32,
928 AgentCircuitId = 6i32,
930 Local = 7i32,
932}
933bitflags::bitflags! {
934 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
935 "https://reference.opcfoundation.org/v105/Core/docs/Part14/9.1.3/#9.1.3.7.2"] pub
936 struct PubSubConfigurationRefMask : i32 { const ElementAdd = 1i32; const ElementMatch
937 = 2i32; const ElementModify = 4i32; const ElementRemove = 8i32; const ReferenceWriter
938 = 16i32; const ReferenceReader = 32i32; const ReferenceWriterGroup = 64i32; const
939 ReferenceReaderGroup = 128i32; const ReferenceConnection = 256i32; const
940 ReferencePubDataset = 512i32; const ReferenceSubDataset = 1024i32; const
941 ReferenceSecurityGroup = 2048i32; const ReferencePushTarget = 4096i32; }
942}
943impl opcua::types::UaNullable for PubSubConfigurationRefMask {
944 fn is_ua_null(&self) -> bool {
945 self.is_empty()
946 }
947}
948opcua::types::impl_encoded_as!(
949 PubSubConfigurationRefMask,
950 |v| Ok(PubSubConfigurationRefMask::from_bits_truncate(v)),
951 |v: &PubSubConfigurationRefMask| Ok::<_, opcua::types::Error>(v.bits()),
952 |v: &PubSubConfigurationRefMask| v.bits().byte_len()
953);
954impl Default for PubSubConfigurationRefMask {
955 fn default() -> Self {
956 Self::empty()
957 }
958}
959impl opcua::types::IntoVariant for PubSubConfigurationRefMask {
960 fn into_variant(self) -> opcua::types::Variant {
961 self.bits().into_variant()
962 }
963}
964#[cfg(feature = "xml")]
965impl opcua::types::xml::XmlType for PubSubConfigurationRefMask {
966 const TAG: &'static str = "PubSubConfigurationRefMask";
967}
968#[opcua::types::ua_encodable]
969#[derive(Debug, Copy, Clone, PartialEq, Eq)]
971#[repr(i32)]
972pub enum PubSubDiagnosticsCounterClassification {
973 #[opcua(default)]
974 Information = 0i32,
975 Error = 1i32,
976}
977#[opcua::types::ua_encodable]
978#[derive(Debug, Copy, Clone, PartialEq, Eq)]
980#[repr(i32)]
981pub enum PubSubState {
982 #[opcua(default)]
983 Disabled = 0i32,
984 Paused = 1i32,
985 Operational = 2i32,
986 Error = 3i32,
987 PreOperational = 4i32,
988}
989#[opcua::types::ua_encodable]
990#[derive(Debug, Copy, Clone, PartialEq, Eq)]
992#[repr(i32)]
993pub enum RedundancySupport {
994 #[opcua(default)]
995 None = 0i32,
996 Cold = 1i32,
997 Warm = 2i32,
998 Hot = 3i32,
999 Transparent = 4i32,
1000 HotAndMirrored = 5i32,
1001}
1002#[opcua::types::ua_encodable]
1003#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1005#[repr(i32)]
1006pub enum RedundantServerMode {
1007 #[opcua(default)]
1008 PrimaryWithBackup = 0i32,
1009 PrimaryOnly = 1i32,
1010 BackupReady = 2i32,
1011 BackupNotReady = 3i32,
1012}
1013#[opcua::types::ua_encodable]
1014#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1016#[repr(i32)]
1017pub enum SecurityTokenRequestType {
1018 #[opcua(default)]
1019 Issue = 0i32,
1020 Renew = 1i32,
1021}
1022#[opcua::types::ua_encodable]
1023#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1025#[repr(i32)]
1026pub enum ServerState {
1027 #[opcua(default)]
1028 Running = 0i32,
1029 Failed = 1i32,
1030 NoConfiguration = 2i32,
1031 Suspended = 3i32,
1032 Shutdown = 4i32,
1033 Test = 5i32,
1034 CommunicationFault = 6i32,
1035 Unknown = 7i32,
1036}
1037#[opcua::types::ua_encodable]
1038#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1040#[repr(i32)]
1041pub enum SortOrderType {
1042 #[opcua(default)]
1043 Ascending = 0i32,
1044 Descending = 1i32,
1045}
1046#[opcua::types::ua_encodable]
1047#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1049#[repr(i32)]
1050pub enum StructureType {
1051 #[opcua(default)]
1052 Structure = 0i32,
1053 StructureWithOptionalFields = 1i32,
1054 Union = 2i32,
1055 StructureWithSubtypedValues = 3i32,
1056 UnionWithSubtypedValues = 4i32,
1057}
1058#[opcua::types::ua_encodable]
1059#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1061#[repr(i32)]
1062pub enum TimestampsToReturn {
1063 #[opcua(default)]
1064 Source = 0i32,
1065 Server = 1i32,
1066 Both = 2i32,
1067 Neither = 3i32,
1068 Invalid = 4i32,
1069}
1070#[opcua::types::ua_encodable]
1071#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1073#[repr(i32)]
1074pub enum TrustListMasks {
1075 #[opcua(default)]
1076 None = 0i32,
1078 TrustedCertificates = 1i32,
1080 TrustedCrls = 2i32,
1082 IssuerCertificates = 4i32,
1084 IssuerCrls = 8i32,
1086 All = 15i32,
1088}
1089bitflags::bitflags! {
1090 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
1091 "https://reference.opcfoundation.org/v105/Core/docs/Part12/7.8.2/#7.8.2.8"] pub
1092 struct TrustListValidationOptions : i32 { #[doc =
1093 "Ignore errors related to the validity time of the Certificate."] const
1094 SuppressCertificateExpired = 1i32; #[doc =
1095 "Ignore mismatches between the host name or ApplicationUri."] const
1096 SuppressHostNameInvalid = 2i32; #[doc =
1097 "Ignore errors if the revocation list cannot be found for the issuer of the Certificate."]
1098 const SuppressRevocationStatusUnknown = 4i32; #[doc =
1099 "Ignore errors if an issuer has an expired Certificate."] const
1100 SuppressIssuerCertificateExpired = 8i32; #[doc =
1101 "Ignore errors if the revocation list cannot be found for any issuer of issuer Certificates."]
1102 const SuppressIssuerRevocationStatusUnknown = 16i32; #[doc =
1103 "Check the revocation status online."] const CheckRevocationStatusOnline = 32i32;
1104 #[doc = "Check the revocation status offline."] const CheckRevocationStatusOffline =
1105 64i32; }
1106}
1107impl opcua::types::UaNullable for TrustListValidationOptions {
1108 fn is_ua_null(&self) -> bool {
1109 self.is_empty()
1110 }
1111}
1112opcua::types::impl_encoded_as!(
1113 TrustListValidationOptions,
1114 |v| Ok(TrustListValidationOptions::from_bits_truncate(v)),
1115 |v: &TrustListValidationOptions| Ok::<_, opcua::types::Error>(v.bits()),
1116 |v: &TrustListValidationOptions| v.bits().byte_len()
1117);
1118impl Default for TrustListValidationOptions {
1119 fn default() -> Self {
1120 Self::empty()
1121 }
1122}
1123impl opcua::types::IntoVariant for TrustListValidationOptions {
1124 fn into_variant(self) -> opcua::types::Variant {
1125 self.bits().into_variant()
1126 }
1127}
1128#[cfg(feature = "xml")]
1129impl opcua::types::xml::XmlType for TrustListValidationOptions {
1130 const TAG: &'static str = "TrustListValidationOptions";
1131}
1132#[opcua::types::ua_encodable]
1133#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1135#[repr(i32)]
1136pub enum TsnFailureCode {
1137 #[opcua(default)]
1138 NoFailure = 0i32,
1140 InsufficientBandwidth = 1i32,
1142 InsufficientResources = 2i32,
1144 InsufficientTrafficClassBandwidth = 3i32,
1146 StreamIdInUse = 4i32,
1148 StreamDestinationAddressInUse = 5i32,
1150 StreamPreemptedByHigherRank = 6i32,
1152 LatencyHasChanged = 7i32,
1154 EgressPortNotAvbCapable = 8i32,
1156 UseDifferentDestinationAddress = 9i32,
1158 OutOfMsrpResources = 10i32,
1160 OutOfMmrpResources = 11i32,
1162 CannotStoreDestinationAddress = 12i32,
1164 PriorityIsNotAnSrcClass = 13i32,
1166 MaxFrameSizeTooLarge = 14i32,
1168 MaxFanInPortsLimitReached = 15i32,
1170 FirstValueChangedForStreamId = 16i32,
1172 VlanBlockedOnEgress = 17i32,
1174 VlanTaggingDisabledOnEgress = 18i32,
1176 SrClassPriorityMismatch = 19i32,
1178 FeatureNotPropagated = 20i32,
1180 MaxLatencyExceeded = 21i32,
1182 BridgeDoesNotProvideNetworkId = 22i32,
1184 StreamTransformNotSupported = 23i32,
1186 StreamIdTypeNotSupported = 24i32,
1188 FeatureNotSupported = 25i32,
1190}
1191#[opcua::types::ua_encodable]
1192#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1194#[repr(i32)]
1195pub enum TsnListenerStatus {
1196 #[opcua(default)]
1197 None = 0i32,
1199 Ready = 1i32,
1201 PartialFailed = 2i32,
1203 Failed = 3i32,
1205}
1206#[opcua::types::ua_encodable]
1207#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1209#[repr(i32)]
1210pub enum TsnStreamState {
1211 #[opcua(default)]
1212 Disabled = 0i32,
1214 Configuring = 1i32,
1216 Ready = 2i32,
1218 Operational = 3i32,
1220 Error = 4i32,
1222}
1223#[opcua::types::ua_encodable]
1224#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1226#[repr(i32)]
1227pub enum TsnTalkerStatus {
1228 #[opcua(default)]
1229 None = 0i32,
1231 Ready = 1i32,
1233 Failed = 2i32,
1235}
1236bitflags::bitflags! {
1237 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
1238 "https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.3.2"] pub
1239 struct UadpDataSetMessageContentMask : i32 { const Timestamp = 1i32; const
1240 PicoSeconds = 2i32; const Status = 4i32; const MajorVersion = 8i32; const
1241 MinorVersion = 16i32; const SequenceNumber = 32i32; }
1242}
1243impl opcua::types::UaNullable for UadpDataSetMessageContentMask {
1244 fn is_ua_null(&self) -> bool {
1245 self.is_empty()
1246 }
1247}
1248opcua::types::impl_encoded_as!(
1249 UadpDataSetMessageContentMask,
1250 |v| Ok(UadpDataSetMessageContentMask::from_bits_truncate(v)),
1251 |v: &UadpDataSetMessageContentMask| Ok::<_, opcua::types::Error>(v.bits()),
1252 |v: &UadpDataSetMessageContentMask| v.bits().byte_len()
1253);
1254impl Default for UadpDataSetMessageContentMask {
1255 fn default() -> Self {
1256 Self::empty()
1257 }
1258}
1259impl opcua::types::IntoVariant for UadpDataSetMessageContentMask {
1260 fn into_variant(self) -> opcua::types::Variant {
1261 self.bits().into_variant()
1262 }
1263}
1264#[cfg(feature = "xml")]
1265impl opcua::types::xml::XmlType for UadpDataSetMessageContentMask {
1266 const TAG: &'static str = "UadpDataSetMessageContentMask";
1267}
1268bitflags::bitflags! {
1269 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
1270 "https://reference.opcfoundation.org/v105/Core/docs/Part14/6.3.1/#6.3.1.1.4"] pub
1271 struct UadpNetworkMessageContentMask : i32 { const PublisherId = 1i32; const
1272 GroupHeader = 2i32; const WriterGroupId = 4i32; const GroupVersion = 8i32; const
1273 NetworkMessageNumber = 16i32; const SequenceNumber = 32i32; const PayloadHeader =
1274 64i32; const Timestamp = 128i32; const PicoSeconds = 256i32; const DataSetClassId =
1275 512i32; const PromotedFields = 1024i32; }
1276}
1277impl opcua::types::UaNullable for UadpNetworkMessageContentMask {
1278 fn is_ua_null(&self) -> bool {
1279 self.is_empty()
1280 }
1281}
1282opcua::types::impl_encoded_as!(
1283 UadpNetworkMessageContentMask,
1284 |v| Ok(UadpNetworkMessageContentMask::from_bits_truncate(v)),
1285 |v: &UadpNetworkMessageContentMask| Ok::<_, opcua::types::Error>(v.bits()),
1286 |v: &UadpNetworkMessageContentMask| v.bits().byte_len()
1287);
1288impl Default for UadpNetworkMessageContentMask {
1289 fn default() -> Self {
1290 Self::empty()
1291 }
1292}
1293impl opcua::types::IntoVariant for UadpNetworkMessageContentMask {
1294 fn into_variant(self) -> opcua::types::Variant {
1295 self.bits().into_variant()
1296 }
1297}
1298#[cfg(feature = "xml")]
1299impl opcua::types::xml::XmlType for UadpNetworkMessageContentMask {
1300 const TAG: &'static str = "UadpNetworkMessageContentMask";
1301}
1302bitflags::bitflags! {
1303 #[derive(Debug, Copy, Clone, PartialEq)] #[doc =
1304 "https://reference.opcfoundation.org/v105/Core/docs/Part18/5.2.3"] pub struct
1305 UserConfigurationMask : i32 { #[doc = "The user cannot be deleted."] const NoDelete =
1306 1i32; #[doc = "The user is disabled."] const Disabled = 2i32; #[doc =
1307 "The user cannot change the password."] const NoChangeByUser = 4i32; #[doc =
1308 "The user must change the password to get the assigned roles. If the password is not changed, the user has only the Role Anonymous."]
1309 const MustChangePassword = 8i32; }
1310}
1311impl opcua::types::UaNullable for UserConfigurationMask {
1312 fn is_ua_null(&self) -> bool {
1313 self.is_empty()
1314 }
1315}
1316opcua::types::impl_encoded_as!(
1317 UserConfigurationMask,
1318 |v| Ok(UserConfigurationMask::from_bits_truncate(v)),
1319 |v: &UserConfigurationMask| Ok::<_, opcua::types::Error>(v.bits()),
1320 |v: &UserConfigurationMask| v.bits().byte_len()
1321);
1322impl Default for UserConfigurationMask {
1323 fn default() -> Self {
1324 Self::empty()
1325 }
1326}
1327impl opcua::types::IntoVariant for UserConfigurationMask {
1328 fn into_variant(self) -> opcua::types::Variant {
1329 self.bits().into_variant()
1330 }
1331}
1332#[cfg(feature = "xml")]
1333impl opcua::types::xml::XmlType for UserConfigurationMask {
1334 const TAG: &'static str = "UserConfigurationMask";
1335}
1336#[opcua::types::ua_encodable]
1337#[derive(Debug, Copy, Clone, PartialEq, Eq)]
1339#[repr(i32)]
1340pub enum UserTokenType {
1341 #[opcua(default)]
1342 Anonymous = 0i32,
1343 UserName = 1i32,
1344 Certificate = 2i32,
1345 IssuedToken = 3i32,
1346}