aas-core3 1.0.0
Manipulate, verify and de/serialize asset administration shells in C++.
Loading...
Searching...
No Matches
types.hpp
Go to the documentation of this file.
1#ifndef AAS_CORE_AAS_3_0_TYPES_GUARD_
2#define AAS_CORE_AAS_3_0_TYPES_GUARD_
3
4// This code has been automatically generated by aas-core-codegen.
5// Do NOT edit or append.
6
8
9#pragma warning(push, 0)
10#include <cstddef>
11#include <cstdint>
12#include <memory>
13#include <string>
14#include <vector>
15#pragma warning(pop)
16
17namespace aas_core {
18namespace aas_3_0 {
19
24namespace types {
25
26// region Enumerations
27
73
75enum class ModellingKind : std::uint32_t {
82}; // enum class ModellingKind
83
88enum class QualifierKind : std::uint32_t {
102}; // enum class QualifierKind
103
105enum class AssetKind : std::uint32_t {
107 kType = 0,
112}; // enum class AssetKind
113
134
137enum class EntityType : std::uint32_t {
146}; // enum class EntityType
147
152enum class Direction : std::uint32_t {
157}; // enum class Direction
158
163enum class StateOfEvent : std::uint32_t {
165 kOn = 0,
167 kOff = 1,
168}; // enum class StateOfEvent
169
171enum class ReferenceTypes : std::uint32_t {
176}; // enum class ReferenceTypes
177
228
262
263enum class DataTypeIec61360 : std::uint32_t {
267 kDate = 0,
295 kIri = 10,
308 kIrdi = 11,
322 kTime = 14,
332 kFile = 16,
335 kHtml = 17,
342 kBlob = 18,
343}; // enum class DataTypeIec61360
344
345// endregion Enumerations
346
347// region Forward declaration of interfaces
348
349// endregion Forward declaration of interfaces
350
351class IHasSemantics;
352
353class IExtension;
354
355class IHasExtensions;
356
357class IReferable;
358
359class IIdentifiable;
360
361class IHasKind;
362
363class IHasDataSpecification;
364
365class IAdministrativeInformation;
366
367class IQualifiable;
368
369class IQualifier;
370
371class IAssetAdministrationShell;
372
373class IAssetInformation;
374
375class IResource;
376
377class ISpecificAssetId;
378
379class ISubmodel;
380
381class ISubmodelElement;
382
383class IRelationshipElement;
384
385class ISubmodelElementList;
386
387class ISubmodelElementCollection;
388
389class IDataElement;
390
391class IProperty;
392
393class IMultiLanguageProperty;
394
395class IRange;
396
397class IReferenceElement;
398
399class IBlob;
400
401class IFile;
402
403class IAnnotatedRelationshipElement;
404
405class IEntity;
406
407class IEventPayload;
408
409class IEventElement;
410
411class IBasicEventElement;
412
413class IOperation;
414
415class IOperationVariable;
416
417class ICapability;
418
419class IConceptDescription;
420
421class IReference;
422
423class IKey;
424
425class IAbstractLangString;
426
427class ILangStringNameType;
428
429class ILangStringTextType;
430
431class IEnvironment;
432
433class IDataSpecificationContent;
434
435class IEmbeddedDataSpecification;
436
437class ILevelType;
438
439class IValueReferencePair;
440
441class IValueList;
442
443class ILangStringPreferredNameTypeIec61360;
444
445class ILangStringShortNameTypeIec61360;
446
447class ILangStringDefinitionTypeIec61360;
448
449class IDataSpecificationIec61360;
450
451// region Class interfaces
452
456class IClass {
457 public:
461 virtual ModelType model_type() const = 0;
462 virtual ~IClass() = default;
463};
464
472 : virtual public IClass {
473 public:
479
480 virtual const common::optional<
481 std::shared_ptr<IReference>
482 >& semantic_id() const = 0;
483
484 virtual common::optional<
485 std::shared_ptr<IReference>
487
488 virtual void set_semantic_id(
489 common::optional<
490 std::shared_ptr<IReference>
491 > value
492 ) = 0;
493
495
501
502 virtual const common::optional<
503 std::vector<
504 std::shared_ptr<IReference>
505 >
507
508 virtual common::optional<
509 std::vector<
510 std::shared_ptr<IReference>
511 >
513
515 common::optional<
516 std::vector<
517 std::shared_ptr<IReference>
518 >
519 > value
520 ) = 0;
521
523
524 virtual ~IHasSemantics() = default;
525};
526
529 : virtual public IHasSemantics {
530 public:
533
534 virtual const std::wstring& name() const = 0;
535
536 virtual std::wstring& mutable_name() = 0;
537
538 virtual void set_name(
539 std::wstring value
540 ) = 0;
541
543
548
549 virtual const common::optional<DataTypeDefXsd>& value_type() const = 0;
550
551 virtual common::optional<DataTypeDefXsd>& mutable_value_type() = 0;
552
553 virtual void set_value_type(
554 common::optional<DataTypeDefXsd> value
555 ) = 0;
556
558
561
562 virtual const common::optional<std::wstring>& value() const = 0;
563
564 virtual common::optional<std::wstring>& mutable_value() = 0;
565
566 virtual void set_value(
567 common::optional<std::wstring> value
568 ) = 0;
569
571
574
575 virtual const common::optional<
576 std::vector<
577 std::shared_ptr<IReference>
578 >
579 >& refers_to() const = 0;
580
581 virtual common::optional<
582 std::vector<
583 std::shared_ptr<IReference>
584 >
586
587 virtual void set_refers_to(
588 common::optional<
589 std::vector<
590 std::shared_ptr<IReference>
591 >
592 > value
593 ) = 0;
594
596
598
599 virtual ~IExtension() = default;
600};
601
606 : virtual public IClass {
607 public:
610
611 virtual const common::optional<
612 std::vector<
613 std::shared_ptr<IExtension>
614 >
615 >& extensions() const = 0;
616
617 virtual common::optional<
618 std::vector<
619 std::shared_ptr<IExtension>
620 >
622
623 virtual void set_extensions(
624 common::optional<
625 std::vector<
626 std::shared_ptr<IExtension>
627 >
628 > value
629 ) = 0;
630
632
633 virtual ~IHasExtensions() = default;
634};
635
645 : virtual public IHasExtensions {
646 public:
657
658 virtual const common::optional<std::wstring>& category() const = 0;
659
660 virtual common::optional<std::wstring>& mutable_category() = 0;
661
662 virtual void set_category(
663 common::optional<std::wstring> value
664 ) = 0;
665
667
676
677 virtual const common::optional<std::wstring>& id_short() const = 0;
678
679 virtual common::optional<std::wstring>& mutable_id_short() = 0;
680
681 virtual void set_id_short(
682 common::optional<std::wstring> value
683 ) = 0;
684
686
689
690 virtual const common::optional<
691 std::vector<
692 std::shared_ptr<ILangStringNameType>
693 >
694 >& display_name() const = 0;
695
696 virtual common::optional<
697 std::vector<
698 std::shared_ptr<ILangStringNameType>
699 >
701
702 virtual void set_display_name(
703 common::optional<
704 std::vector<
705 std::shared_ptr<ILangStringNameType>
706 >
707 > value
708 ) = 0;
709
711
724
725 virtual const common::optional<
726 std::vector<
727 std::shared_ptr<ILangStringTextType>
728 >
729 >& description() const = 0;
730
731 virtual common::optional<
732 std::vector<
733 std::shared_ptr<ILangStringTextType>
734 >
736
737 virtual void set_description(
738 common::optional<
739 std::vector<
740 std::shared_ptr<ILangStringTextType>
741 >
742 > value
743 ) = 0;
744
746
747 virtual ~IReferable() = default;
748};
749
752 : virtual public IReferable {
753 public:
759
760 virtual const common::optional<
761 std::shared_ptr<IAdministrativeInformation>
762 >& administration() const = 0;
763
764 virtual common::optional<
765 std::shared_ptr<IAdministrativeInformation>
767
768 virtual void set_administration(
769 common::optional<
770 std::shared_ptr<IAdministrativeInformation>
771 > value
772 ) = 0;
773
775
778
779 virtual const std::wstring& id() const = 0;
780
781 virtual std::wstring& mutable_id() = 0;
782
783 virtual void set_id(
784 std::wstring value
785 ) = 0;
786
788
789 virtual ~IIdentifiable() = default;
790};
791
797 : virtual public IClass {
798 public:
803
804 virtual const common::optional<ModellingKind>& kind() const = 0;
805
806 virtual common::optional<ModellingKind>& mutable_kind() = 0;
807
808 virtual void set_kind(
809 common::optional<ModellingKind> value
810 ) = 0;
811
813
814 virtual ModellingKind KindOrDefault() const = 0;
815
816 virtual ~IHasKind() = default;
817};
818
825 : virtual public IClass {
826 public:
829
830 virtual const common::optional<
831 std::vector<
832 std::shared_ptr<IEmbeddedDataSpecification>
833 >
835
836 virtual common::optional<
837 std::vector<
838 std::shared_ptr<IEmbeddedDataSpecification>
839 >
841
843 common::optional<
844 std::vector<
845 std::shared_ptr<IEmbeddedDataSpecification>
846 >
847 > value
848 ) = 0;
849
851
852 virtual ~IHasDataSpecification() = default;
853};
854
863 : virtual public IHasDataSpecification {
864 public:
867
868 virtual const common::optional<std::wstring>& version() const = 0;
869
870 virtual common::optional<std::wstring>& mutable_version() = 0;
871
872 virtual void set_version(
873 common::optional<std::wstring> value
874 ) = 0;
875
877
880
881 virtual const common::optional<std::wstring>& revision() const = 0;
882
883 virtual common::optional<std::wstring>& mutable_revision() = 0;
884
885 virtual void set_revision(
886 common::optional<std::wstring> value
887 ) = 0;
888
890
893
894 virtual const common::optional<
895 std::shared_ptr<IReference>
896 >& creator() const = 0;
897
898 virtual common::optional<
899 std::shared_ptr<IReference>
901
902 virtual void set_creator(
903 common::optional<
904 std::shared_ptr<IReference>
905 > value
906 ) = 0;
907
909
921
922 virtual const common::optional<std::wstring>& template_id() const = 0;
923
924 virtual common::optional<std::wstring>& mutable_template_id() = 0;
925
926 virtual void set_template_id(
927 common::optional<std::wstring> value
928 ) = 0;
929
931
932 virtual ~IAdministrativeInformation() = default;
933};
934
946 : virtual public IClass {
947 public:
950
951 virtual const common::optional<
952 std::vector<
953 std::shared_ptr<IQualifier>
954 >
955 >& qualifiers() const = 0;
956
957 virtual common::optional<
958 std::vector<
959 std::shared_ptr<IQualifier>
960 >
962
963 virtual void set_qualifiers(
964 common::optional<
965 std::vector<
966 std::shared_ptr<IQualifier>
967 >
968 > value
969 ) = 0;
970
972
973 virtual ~IQualifiable() = default;
974};
975
989 : virtual public IHasSemantics {
990 public:
996
997 virtual const common::optional<QualifierKind>& kind() const = 0;
998
999 virtual common::optional<QualifierKind>& mutable_kind() = 0;
1000
1001 virtual void set_kind(
1002 common::optional<QualifierKind> value
1003 ) = 0;
1004
1006
1010
1011 virtual const std::wstring& type() const = 0;
1012
1013 virtual std::wstring& mutable_type() = 0;
1014
1015 virtual void set_type(
1016 std::wstring value
1017 ) = 0;
1018
1020
1023
1024 virtual DataTypeDefXsd value_type() const = 0;
1025
1027
1028 virtual void set_value_type(
1030 ) = 0;
1031
1033
1036
1037 virtual const common::optional<std::wstring>& value() const = 0;
1038
1039 virtual common::optional<std::wstring>& mutable_value() = 0;
1040
1041 virtual void set_value(
1042 common::optional<std::wstring> value
1043 ) = 0;
1044
1046
1051
1052 virtual const common::optional<
1053 std::shared_ptr<IReference>
1054 >& value_id() const = 0;
1055
1056 virtual common::optional<
1057 std::shared_ptr<IReference>
1059
1060 virtual void set_value_id(
1061 common::optional<
1062 std::shared_ptr<IReference>
1063 > value
1064 ) = 0;
1065
1067
1068 virtual QualifierKind KindOrDefault() const = 0;
1069
1070 virtual ~IQualifier() = default;
1071};
1072
1075 : virtual public IIdentifiable,
1076 virtual public IHasDataSpecification {
1077 public:
1080
1081 virtual const common::optional<
1082 std::shared_ptr<IReference>
1083 >& derived_from() const = 0;
1084
1085 virtual common::optional<
1086 std::shared_ptr<IReference>
1088
1089 virtual void set_derived_from(
1090 common::optional<
1091 std::shared_ptr<IReference>
1092 > value
1093 ) = 0;
1094
1096
1099
1100 virtual const std::shared_ptr<IAssetInformation>& asset_information() const = 0;
1101
1102 virtual std::shared_ptr<IAssetInformation>& mutable_asset_information() = 0;
1103
1105 std::shared_ptr<IAssetInformation> value
1106 ) = 0;
1107
1109
1118
1119 virtual const common::optional<
1120 std::vector<
1121 std::shared_ptr<IReference>
1122 >
1123 >& submodels() const = 0;
1124
1125 virtual common::optional<
1126 std::vector<
1127 std::shared_ptr<IReference>
1128 >
1130
1131 virtual void set_submodels(
1132 common::optional<
1133 std::vector<
1134 std::shared_ptr<IReference>
1135 >
1136 > value
1137 ) = 0;
1138
1140
1141 virtual ~IAssetAdministrationShell() = default;
1142};
1143
1178 : virtual public IClass {
1179 public:
1183
1184 virtual AssetKind asset_kind() const = 0;
1185
1187
1188 virtual void set_asset_kind(
1189 AssetKind value
1190 ) = 0;
1191
1193
1203
1204 virtual const common::optional<std::wstring>& global_asset_id() const = 0;
1205
1206 virtual common::optional<std::wstring>& mutable_global_asset_id() = 0;
1207
1209 common::optional<std::wstring> value
1210 ) = 0;
1211
1213
1217
1218 virtual const common::optional<
1219 std::vector<
1220 std::shared_ptr<ISpecificAssetId>
1221 >
1222 >& specific_asset_ids() const = 0;
1223
1224 virtual common::optional<
1225 std::vector<
1226 std::shared_ptr<ISpecificAssetId>
1227 >
1229
1231 common::optional<
1232 std::vector<
1233 std::shared_ptr<ISpecificAssetId>
1234 >
1235 > value
1236 ) = 0;
1237
1239
1248
1249 virtual const common::optional<std::wstring>& asset_type() const = 0;
1250
1251 virtual common::optional<std::wstring>& mutable_asset_type() = 0;
1252
1253 virtual void set_asset_type(
1254 common::optional<std::wstring> value
1255 ) = 0;
1256
1258
1263
1264 virtual const common::optional<
1265 std::shared_ptr<IResource>
1266 >& default_thumbnail() const = 0;
1267
1268 virtual common::optional<
1269 std::shared_ptr<IResource>
1271
1273 common::optional<
1274 std::shared_ptr<IResource>
1275 > value
1276 ) = 0;
1277
1279
1280 virtual ~IAssetInformation() = default;
1281};
1282
1286 : virtual public IClass {
1287 public:
1292
1293 virtual const std::wstring& path() const = 0;
1294
1295 virtual std::wstring& mutable_path() = 0;
1296
1297 virtual void set_path(
1298 std::wstring value
1299 ) = 0;
1300
1302
1307
1308 virtual const common::optional<std::wstring>& content_type() const = 0;
1309
1310 virtual common::optional<std::wstring>& mutable_content_type() = 0;
1311
1312 virtual void set_content_type(
1313 common::optional<std::wstring> value
1314 ) = 0;
1315
1317
1318 virtual ~IResource() = default;
1319};
1320
1330 : virtual public IHasSemantics {
1331 public:
1334
1335 virtual const std::wstring& name() const = 0;
1336
1337 virtual std::wstring& mutable_name() = 0;
1338
1339 virtual void set_name(
1340 std::wstring value
1341 ) = 0;
1342
1344
1347
1348 virtual const std::wstring& value() const = 0;
1349
1350 virtual std::wstring& mutable_value() = 0;
1351
1352 virtual void set_value(
1353 std::wstring value
1354 ) = 0;
1355
1357
1362
1363 virtual const common::optional<
1364 std::shared_ptr<IReference>
1365 >& external_subject_id() const = 0;
1366
1367 virtual common::optional<
1368 std::shared_ptr<IReference>
1370
1372 common::optional<
1373 std::shared_ptr<IReference>
1374 > value
1375 ) = 0;
1376
1378
1379 virtual ~ISpecificAssetId() = default;
1380};
1381
1389 : virtual public IIdentifiable,
1390 virtual public IHasKind,
1391 virtual public IHasSemantics,
1392 virtual public IQualifiable,
1393 virtual public IHasDataSpecification {
1394 public:
1397
1398 virtual const common::optional<
1399 std::vector<
1400 std::shared_ptr<ISubmodelElement>
1401 >
1402 >& submodel_elements() const = 0;
1403
1404 virtual common::optional<
1405 std::vector<
1406 std::shared_ptr<ISubmodelElement>
1407 >
1409
1411 common::optional<
1412 std::vector<
1413 std::shared_ptr<ISubmodelElement>
1414 >
1415 > value
1416 ) = 0;
1417
1419
1420 virtual ~ISubmodel() = default;
1421};
1422
1435 : virtual public IReferable,
1436 virtual public IHasSemantics,
1437 virtual public IQualifiable,
1438 virtual public IHasDataSpecification {
1439 public:
1440 virtual ~ISubmodelElement() = default;
1441};
1442
1446 : virtual public ISubmodelElement {
1447 public:
1450
1451 virtual const std::shared_ptr<IReference>& first() const = 0;
1452
1453 virtual std::shared_ptr<IReference>& mutable_first() = 0;
1454
1455 virtual void set_first(
1456 std::shared_ptr<IReference> value
1457 ) = 0;
1458
1460
1463
1464 virtual const std::shared_ptr<IReference>& second() const = 0;
1465
1466 virtual std::shared_ptr<IReference>& mutable_second() = 0;
1467
1468 virtual void set_second(
1469 std::shared_ptr<IReference> value
1470 ) = 0;
1471
1473
1474 virtual ~IRelationshipElement() = default;
1475};
1476
1511 : virtual public ISubmodelElement {
1512 public:
1518
1519 virtual const common::optional<bool>& order_relevant() const = 0;
1520
1521 virtual common::optional<bool>& mutable_order_relevant() = 0;
1522
1524 common::optional<bool> value
1525 ) = 0;
1526
1528
1533
1534 virtual const common::optional<
1535 std::shared_ptr<IReference>
1537
1538 virtual common::optional<
1539 std::shared_ptr<IReference>
1541
1543 common::optional<
1544 std::shared_ptr<IReference>
1545 > value
1546 ) = 0;
1547
1549
1552
1554
1556
1559 ) = 0;
1560
1562
1565
1566 virtual const common::optional<DataTypeDefXsd>& value_type_list_element() const = 0;
1567
1568 virtual common::optional<DataTypeDefXsd>& mutable_value_type_list_element() = 0;
1569
1571 common::optional<DataTypeDefXsd> value
1572 ) = 0;
1573
1575
1580
1581 virtual const common::optional<
1582 std::vector<
1583 std::shared_ptr<ISubmodelElement>
1584 >
1585 >& value() const = 0;
1586
1587 virtual common::optional<
1588 std::vector<
1589 std::shared_ptr<ISubmodelElement>
1590 >
1592
1593 virtual void set_value(
1594 common::optional<
1595 std::vector<
1596 std::shared_ptr<ISubmodelElement>
1597 >
1598 > value
1599 ) = 0;
1600
1602
1603 virtual bool OrderRelevantOrDefault() const = 0;
1604
1605 virtual ~ISubmodelElementList() = default;
1606};
1607
1611 : virtual public ISubmodelElement {
1612 public:
1615
1616 virtual const common::optional<
1617 std::vector<
1618 std::shared_ptr<ISubmodelElement>
1619 >
1620 >& value() const = 0;
1621
1622 virtual common::optional<
1623 std::vector<
1624 std::shared_ptr<ISubmodelElement>
1625 >
1627
1628 virtual void set_value(
1629 common::optional<
1630 std::vector<
1631 std::shared_ptr<ISubmodelElement>
1632 >
1633 > value
1634 ) = 0;
1635
1637
1638 virtual ~ISubmodelElementCollection() = default;
1639};
1640
1653 : virtual public ISubmodelElement {
1654 public:
1655 virtual std::wstring CategoryOrDefault() const = 0;
1656
1657 virtual ~IDataElement() = default;
1658};
1659
1667 : virtual public IDataElement {
1668 public:
1671
1672 virtual DataTypeDefXsd value_type() const = 0;
1673
1675
1676 virtual void set_value_type(
1678 ) = 0;
1679
1681
1684
1685 virtual const common::optional<std::wstring>& value() const = 0;
1686
1687 virtual common::optional<std::wstring>& mutable_value() = 0;
1688
1689 virtual void set_value(
1690 common::optional<std::wstring> value
1691 ) = 0;
1692
1694
1699
1700 virtual const common::optional<
1701 std::shared_ptr<IReference>
1702 >& value_id() const = 0;
1703
1704 virtual common::optional<
1705 std::shared_ptr<IReference>
1707
1708 virtual void set_value_id(
1709 common::optional<
1710 std::shared_ptr<IReference>
1711 > value
1712 ) = 0;
1713
1715
1716 virtual ~IProperty() = default;
1717};
1718
1726 : virtual public IDataElement {
1727 public:
1730
1731 virtual const common::optional<
1732 std::vector<
1733 std::shared_ptr<ILangStringTextType>
1734 >
1735 >& value() const = 0;
1736
1737 virtual common::optional<
1738 std::vector<
1739 std::shared_ptr<ILangStringTextType>
1740 >
1742
1743 virtual void set_value(
1744 common::optional<
1745 std::vector<
1746 std::shared_ptr<ILangStringTextType>
1747 >
1748 > value
1749 ) = 0;
1750
1752
1757
1758 virtual const common::optional<
1759 std::shared_ptr<IReference>
1760 >& value_id() const = 0;
1761
1762 virtual common::optional<
1763 std::shared_ptr<IReference>
1765
1766 virtual void set_value_id(
1767 common::optional<
1768 std::shared_ptr<IReference>
1769 > value
1770 ) = 0;
1771
1773
1774 virtual ~IMultiLanguageProperty() = default;
1775};
1776
1779 : virtual public IDataElement {
1780 public:
1783
1784 virtual DataTypeDefXsd value_type() const = 0;
1785
1787
1788 virtual void set_value_type(
1789 DataTypeDefXsd value
1790 ) = 0;
1791
1793
1798
1799 virtual const common::optional<std::wstring>& min() const = 0;
1800
1801 virtual common::optional<std::wstring>& mutable_min() = 0;
1802
1803 virtual void set_min(
1804 common::optional<std::wstring> value
1805 ) = 0;
1806
1808
1813
1814 virtual const common::optional<std::wstring>& max() const = 0;
1815
1816 virtual common::optional<std::wstring>& mutable_max() = 0;
1817
1818 virtual void set_max(
1819 common::optional<std::wstring> value
1820 ) = 0;
1821
1823
1824 virtual ~IRange() = default;
1825};
1826
1831 : virtual public IDataElement {
1832 public:
1837
1838 virtual const common::optional<
1839 std::shared_ptr<IReference>
1840 >& value() const = 0;
1841
1842 virtual common::optional<
1843 std::shared_ptr<IReference>
1845
1846 virtual void set_value(
1847 common::optional<
1848 std::shared_ptr<IReference>
1849 > value
1850 ) = 0;
1851
1853
1854 virtual ~IReferenceElement() = default;
1855};
1856
1860 : virtual public IDataElement {
1861 public:
1867
1868 virtual const common::optional<
1869 std::vector<std::uint8_t>
1870 >& value() const = 0;
1871
1872 virtual common::optional<
1873 std::vector<std::uint8_t>
1875
1876 virtual void set_value(
1877 common::optional<
1878 std::vector<std::uint8_t>
1879 > value
1880 ) = 0;
1881
1883
1893
1894 virtual const std::wstring& content_type() const = 0;
1895
1896 virtual std::wstring& mutable_content_type() = 0;
1897
1898 virtual void set_content_type(
1899 std::wstring value
1900 ) = 0;
1901
1903
1904 virtual ~IBlob() = default;
1905};
1906
1911 : virtual public IDataElement {
1912 public:
1917
1918 virtual const common::optional<std::wstring>& value() const = 0;
1919
1920 virtual common::optional<std::wstring>& mutable_value() = 0;
1921
1922 virtual void set_value(
1923 common::optional<std::wstring> value
1924 ) = 0;
1925
1927
1932
1933 virtual const std::wstring& content_type() const = 0;
1934
1935 virtual std::wstring& mutable_content_type() = 0;
1936
1937 virtual void set_content_type(
1938 std::wstring value
1939 ) = 0;
1940
1942
1943 virtual ~IFile() = default;
1944};
1945
1949 : virtual public IRelationshipElement {
1950 public:
1954
1955 virtual const common::optional<
1956 std::vector<
1957 std::shared_ptr<IDataElement>
1958 >
1959 >& annotations() const = 0;
1960
1961 virtual common::optional<
1962 std::vector<
1963 std::shared_ptr<IDataElement>
1964 >
1966
1967 virtual void set_annotations(
1968 common::optional<
1969 std::vector<
1970 std::shared_ptr<IDataElement>
1971 >
1972 > value
1973 ) = 0;
1974
1976
1978};
1979
1987 : virtual public ISubmodelElement {
1988 public:
1992
1993 virtual const common::optional<
1994 std::vector<
1995 std::shared_ptr<ISubmodelElement>
1996 >
1997 >& statements() const = 0;
1998
1999 virtual common::optional<
2000 std::vector<
2001 std::shared_ptr<ISubmodelElement>
2002 >
2004
2005 virtual void set_statements(
2006 common::optional<
2007 std::vector<
2008 std::shared_ptr<ISubmodelElement>
2009 >
2010 > value
2011 ) = 0;
2012
2014
2017
2018 virtual EntityType entity_type() const = 0;
2019
2021
2022 virtual void set_entity_type(
2023 EntityType value
2024 ) = 0;
2025
2027
2032
2033 virtual const common::optional<std::wstring>& global_asset_id() const = 0;
2034
2035 virtual common::optional<std::wstring>& mutable_global_asset_id() = 0;
2036
2038 common::optional<std::wstring> value
2039 ) = 0;
2040
2042
2046
2047 virtual const common::optional<
2048 std::vector<
2049 std::shared_ptr<ISpecificAssetId>
2050 >
2051 >& specific_asset_ids() const = 0;
2052
2053 virtual common::optional<
2054 std::vector<
2055 std::shared_ptr<ISpecificAssetId>
2056 >
2058
2060 common::optional<
2061 std::vector<
2062 std::shared_ptr<ISpecificAssetId>
2063 >
2064 > value
2065 ) = 0;
2066
2068
2069 virtual ~IEntity() = default;
2070};
2071
2077 : virtual public IClass {
2078 public:
2083
2084 virtual const std::shared_ptr<IReference>& source() const = 0;
2085
2086 virtual std::shared_ptr<IReference>& mutable_source() = 0;
2087
2088 virtual void set_source(
2089 std::shared_ptr<IReference> value
2090 ) = 0;
2091
2093
2098
2099 virtual const common::optional<
2100 std::shared_ptr<IReference>
2101 >& source_semantic_id() const = 0;
2102
2103 virtual common::optional<
2104 std::shared_ptr<IReference>
2106
2108 common::optional<
2109 std::shared_ptr<IReference>
2110 > value
2111 ) = 0;
2112
2114
2120
2121 virtual const std::shared_ptr<IReference>& observable_reference() const = 0;
2122
2123 virtual std::shared_ptr<IReference>& mutable_observable_reference() = 0;
2124
2126 std::shared_ptr<IReference> value
2127 ) = 0;
2128
2130
2136
2137 virtual const common::optional<
2138 std::shared_ptr<IReference>
2140
2141 virtual common::optional<
2142 std::shared_ptr<IReference>
2144
2146 common::optional<
2147 std::shared_ptr<IReference>
2148 > value
2149 ) = 0;
2150
2152
2156
2157 virtual const common::optional<std::wstring>& topic() const = 0;
2158
2159 virtual common::optional<std::wstring>& mutable_topic() = 0;
2160
2161 virtual void set_topic(
2162 common::optional<std::wstring> value
2163 ) = 0;
2164
2166
2171
2172 virtual const common::optional<
2173 std::shared_ptr<IReference>
2174 >& subject_id() const = 0;
2175
2176 virtual common::optional<
2177 std::shared_ptr<IReference>
2179
2180 virtual void set_subject_id(
2181 common::optional<
2182 std::shared_ptr<IReference>
2183 > value
2184 ) = 0;
2185
2187
2190
2191 virtual const std::wstring& time_stamp() const = 0;
2192
2193 virtual std::wstring& mutable_time_stamp() = 0;
2194
2195 virtual void set_time_stamp(
2196 std::wstring value
2197 ) = 0;
2198
2200
2203
2204 virtual const common::optional<
2205 std::vector<std::uint8_t>
2206 >& payload() const = 0;
2207
2208 virtual common::optional<
2209 std::vector<std::uint8_t>
2211
2212 virtual void set_payload(
2213 common::optional<
2214 std::vector<std::uint8_t>
2215 > value
2216 ) = 0;
2217
2219
2220 virtual ~IEventPayload() = default;
2221};
2222
2228 : virtual public ISubmodelElement {
2229 public:
2230 virtual ~IEventElement() = default;
2231};
2232
2238 : virtual public IEventElement {
2239 public:
2247
2248 virtual const std::shared_ptr<IReference>& observed() const = 0;
2249
2250 virtual std::shared_ptr<IReference>& mutable_observed() = 0;
2251
2252 virtual void set_observed(
2253 std::shared_ptr<IReference> value
2254 ) = 0;
2255
2257
2262
2263 virtual Direction direction() const = 0;
2264
2266
2267 virtual void set_direction(
2268 Direction value
2269 ) = 0;
2270
2272
2277
2278 virtual StateOfEvent state() const = 0;
2279
2281
2282 virtual void set_state(
2283 StateOfEvent value
2284 ) = 0;
2285
2287
2291
2292 virtual const common::optional<std::wstring>& message_topic() const = 0;
2293
2294 virtual common::optional<std::wstring>& mutable_message_topic() = 0;
2295
2296 virtual void set_message_topic(
2297 common::optional<std::wstring> value
2298 ) = 0;
2299
2301
2311
2312 virtual const common::optional<
2313 std::shared_ptr<IReference>
2314 >& message_broker() const = 0;
2315
2316 virtual common::optional<
2317 std::shared_ptr<IReference>
2319
2321 common::optional<
2322 std::shared_ptr<IReference>
2323 > value
2324 ) = 0;
2325
2327
2331
2332 virtual const common::optional<std::wstring>& last_update() const = 0;
2333
2334 virtual common::optional<std::wstring>& mutable_last_update() = 0;
2335
2336 virtual void set_last_update(
2337 common::optional<std::wstring> value
2338 ) = 0;
2339
2341
2350
2351 virtual const common::optional<std::wstring>& min_interval() const = 0;
2352
2353 virtual common::optional<std::wstring>& mutable_min_interval() = 0;
2354
2355 virtual void set_min_interval(
2356 common::optional<std::wstring> value
2357 ) = 0;
2358
2360
2369
2370 virtual const common::optional<std::wstring>& max_interval() const = 0;
2371
2372 virtual common::optional<std::wstring>& mutable_max_interval() = 0;
2373
2374 virtual void set_max_interval(
2375 common::optional<std::wstring> value
2376 ) = 0;
2377
2379
2380 virtual ~IBasicEventElement() = default;
2381};
2382
2391 : virtual public ISubmodelElement {
2392 public:
2395
2396 virtual const common::optional<
2397 std::vector<
2398 std::shared_ptr<IOperationVariable>
2399 >
2400 >& input_variables() const = 0;
2401
2402 virtual common::optional<
2403 std::vector<
2404 std::shared_ptr<IOperationVariable>
2405 >
2407
2409 common::optional<
2410 std::vector<
2411 std::shared_ptr<IOperationVariable>
2412 >
2413 > value
2414 ) = 0;
2415
2417
2420
2421 virtual const common::optional<
2422 std::vector<
2423 std::shared_ptr<IOperationVariable>
2424 >
2425 >& output_variables() const = 0;
2426
2427 virtual common::optional<
2428 std::vector<
2429 std::shared_ptr<IOperationVariable>
2430 >
2432
2434 common::optional<
2435 std::vector<
2436 std::shared_ptr<IOperationVariable>
2437 >
2438 > value
2439 ) = 0;
2440
2442
2445
2446 virtual const common::optional<
2447 std::vector<
2448 std::shared_ptr<IOperationVariable>
2449 >
2450 >& inoutput_variables() const = 0;
2451
2452 virtual common::optional<
2453 std::vector<
2454 std::shared_ptr<IOperationVariable>
2455 >
2457
2459 common::optional<
2460 std::vector<
2461 std::shared_ptr<IOperationVariable>
2462 >
2463 > value
2464 ) = 0;
2465
2467
2468 virtual ~IOperation() = default;
2469};
2470
2474 : virtual public IClass {
2475 public:
2478
2479 virtual const std::shared_ptr<ISubmodelElement>& value() const = 0;
2480
2481 virtual std::shared_ptr<ISubmodelElement>& mutable_value() = 0;
2482
2483 virtual void set_value(
2484 std::shared_ptr<ISubmodelElement> value
2485 ) = 0;
2486
2488
2489 virtual ~IOperationVariable() = default;
2490};
2491
2498 : virtual public ISubmodelElement {
2499 public:
2500 virtual ~ICapability() = default;
2501};
2502
2562 : virtual public IIdentifiable,
2563 virtual public IHasDataSpecification {
2564 public:
2572
2573 virtual const common::optional<
2574 std::vector<
2575 std::shared_ptr<IReference>
2576 >
2577 >& is_case_of() const = 0;
2578
2579 virtual common::optional<
2580 std::vector<
2581 std::shared_ptr<IReference>
2582 >
2584
2585 virtual void set_is_case_of(
2586 common::optional<
2587 std::vector<
2588 std::shared_ptr<IReference>
2589 >
2590 > value
2591 ) = 0;
2592
2594
2595 virtual ~IConceptDescription() = default;
2596};
2597
2669 : virtual public IClass {
2670 public:
2675
2676 virtual ReferenceTypes type() const = 0;
2677
2679
2680 virtual void set_type(
2681 ReferenceTypes value
2682 ) = 0;
2683
2685
2693
2694 virtual const common::optional<
2695 std::shared_ptr<IReference>
2696 >& referred_semantic_id() const = 0;
2697
2698 virtual common::optional<
2699 std::shared_ptr<IReference>
2701
2703 common::optional<
2704 std::shared_ptr<IReference>
2705 > value
2706 ) = 0;
2707
2709
2712
2713 virtual const std::vector<
2714 std::shared_ptr<IKey>
2715 >& keys() const = 0;
2716
2717 virtual std::vector<
2718 std::shared_ptr<IKey>
2720
2721 virtual void set_keys(
2722 std::vector<
2723 std::shared_ptr<IKey>
2724 > value
2725 ) = 0;
2726
2728
2729 virtual ~IReference() = default;
2730};
2731
2733class IKey
2734 : virtual public IClass {
2735 public:
2748
2749 virtual KeyTypes type() const = 0;
2750
2751 virtual KeyTypes& mutable_type() = 0;
2752
2753 virtual void set_type(
2755 ) = 0;
2756
2758
2761
2762 virtual const std::wstring& value() const = 0;
2763
2764 virtual std::wstring& mutable_value() = 0;
2765
2766 virtual void set_value(
2767 std::wstring value
2768 ) = 0;
2769
2771
2772 virtual ~IKey() = default;
2773};
2774
2777 : virtual public IClass {
2778 public:
2781
2782 virtual const std::wstring& language() const = 0;
2783
2784 virtual std::wstring& mutable_language() = 0;
2785
2786 virtual void set_language(
2787 std::wstring value
2788 ) = 0;
2789
2791
2794
2795 virtual const std::wstring& text() const = 0;
2796
2797 virtual std::wstring& mutable_text() = 0;
2798
2799 virtual void set_text(
2800 std::wstring value
2801 ) = 0;
2802
2804
2805 virtual ~IAbstractLangString() = default;
2806};
2807
2810 : virtual public IAbstractLangString {
2811 public:
2812 virtual ~ILangStringNameType() = default;
2813};
2814
2817 : virtual public IAbstractLangString {
2818 public:
2819 virtual ~ILangStringTextType() = default;
2820};
2821
2828 : virtual public IClass {
2829 public:
2832
2833 virtual const common::optional<
2834 std::vector<
2835 std::shared_ptr<IAssetAdministrationShell>
2836 >
2838
2839 virtual common::optional<
2840 std::vector<
2841 std::shared_ptr<IAssetAdministrationShell>
2842 >
2844
2846 common::optional<
2847 std::vector<
2848 std::shared_ptr<IAssetAdministrationShell>
2849 >
2850 > value
2851 ) = 0;
2852
2854
2857
2858 virtual const common::optional<
2859 std::vector<
2860 std::shared_ptr<ISubmodel>
2861 >
2862 >& submodels() const = 0;
2863
2864 virtual common::optional<
2865 std::vector<
2866 std::shared_ptr<ISubmodel>
2867 >
2869
2870 virtual void set_submodels(
2871 common::optional<
2872 std::vector<
2873 std::shared_ptr<ISubmodel>
2874 >
2875 > value
2876 ) = 0;
2877
2879
2882
2883 virtual const common::optional<
2884 std::vector<
2885 std::shared_ptr<IConceptDescription>
2886 >
2887 >& concept_descriptions() const = 0;
2888
2889 virtual common::optional<
2890 std::vector<
2891 std::shared_ptr<IConceptDescription>
2892 >
2894
2896 common::optional<
2897 std::vector<
2898 std::shared_ptr<IConceptDescription>
2899 >
2900 > value
2901 ) = 0;
2902
2904
2905 virtual ~IEnvironment() = default;
2906};
2907
2920 : virtual public IClass {
2921 public:
2922 virtual ~IDataSpecificationContent() = default;
2923};
2924
2927 : virtual public IClass {
2928 public:
2931
2932 virtual const std::shared_ptr<IReference>& data_specification() const = 0;
2933
2934 virtual std::shared_ptr<IReference>& mutable_data_specification() = 0;
2935
2937 std::shared_ptr<IReference> value
2938 ) = 0;
2939
2941
2944
2945 virtual const std::shared_ptr<IDataSpecificationContent>& data_specification_content() const = 0;
2946
2947 virtual std::shared_ptr<IDataSpecificationContent>& mutable_data_specification_content() = 0;
2948
2950 std::shared_ptr<IDataSpecificationContent> value
2951 ) = 0;
2952
2954
2955 virtual ~IEmbeddedDataSpecification() = default;
2956};
2957
2990 : virtual public IClass {
2991 public:
2994
2995 virtual bool min() const = 0;
2996
2997 virtual bool& mutable_min() = 0;
2998
2999 virtual void set_min(
3000 bool value
3001 ) = 0;
3002
3004
3007
3008 virtual bool nom() const = 0;
3009
3010 virtual bool& mutable_nom() = 0;
3011
3012 virtual void set_nom(
3013 bool value
3014 ) = 0;
3015
3017
3020
3021 virtual bool typ() const = 0;
3022
3023 virtual bool& mutable_typ() = 0;
3024
3025 virtual void set_typ(
3026 bool value
3027 ) = 0;
3028
3030
3033
3034 virtual bool max() const = 0;
3035
3036 virtual bool& mutable_max() = 0;
3037
3038 virtual void set_max(
3039 bool value
3040 ) = 0;
3041
3043
3044 virtual ~ILevelType() = default;
3045};
3046
3050 : virtual public IClass {
3051 public:
3054
3055 virtual const std::wstring& value() const = 0;
3056
3057 virtual std::wstring& mutable_value() = 0;
3058
3059 virtual void set_value(
3060 std::wstring value
3061 ) = 0;
3062
3064
3069
3070 virtual const std::shared_ptr<IReference>& value_id() const = 0;
3071
3072 virtual std::shared_ptr<IReference>& mutable_value_id() = 0;
3073
3074 virtual void set_value_id(
3075 std::shared_ptr<IReference> value
3076 ) = 0;
3077
3079
3080 virtual ~IValueReferencePair() = default;
3081};
3082
3085 : virtual public IClass {
3086 public:
3089
3090 virtual const std::vector<
3091 std::shared_ptr<IValueReferencePair>
3093
3094 virtual std::vector<
3095 std::shared_ptr<IValueReferencePair>
3097
3099 std::vector<
3100 std::shared_ptr<IValueReferencePair>
3101 > value
3102 ) = 0;
3103
3105
3106 virtual ~IValueList() = default;
3107};
3108
3113 : virtual public IAbstractLangString {
3114 public:
3116};
3117
3120 : virtual public IAbstractLangString {
3121 public:
3123};
3124
3127 : virtual public IAbstractLangString {
3128 public:
3130};
3131
3171class IDataSpecificationIec61360
3172 : virtual public IDataSpecificationContent {
3173 public:
3178
3179 virtual const std::vector<
3180 std::shared_ptr<ILangStringPreferredNameTypeIec61360>
3181 >& preferred_name() const = 0;
3182
3183 virtual std::vector<
3184 std::shared_ptr<ILangStringPreferredNameTypeIec61360>
3185 >& mutable_preferred_name() = 0;
3186
3187 virtual void set_preferred_name(
3188 std::vector<
3189 std::shared_ptr<ILangStringPreferredNameTypeIec61360>
3190 > value
3191 ) = 0;
3192
3194
3197
3198 virtual const common::optional<
3199 std::vector<
3200 std::shared_ptr<ILangStringShortNameTypeIec61360>
3201 >
3202 >& short_name() const = 0;
3203
3204 virtual common::optional<
3205 std::vector<
3206 std::shared_ptr<ILangStringShortNameTypeIec61360>
3207 >
3208 >& mutable_short_name() = 0;
3209
3210 virtual void set_short_name(
3211 common::optional<
3212 std::vector<
3213 std::shared_ptr<ILangStringShortNameTypeIec61360>
3214 >
3215 > value
3216 ) = 0;
3217
3219
3222
3223 virtual const common::optional<std::wstring>& unit() const = 0;
3224
3225 virtual common::optional<std::wstring>& mutable_unit() = 0;
3226
3227 virtual void set_unit(
3228 common::optional<std::wstring> value
3229 ) = 0;
3230
3232
3240
3241 virtual const common::optional<
3242 std::shared_ptr<IReference>
3243 >& unit_id() const = 0;
3244
3245 virtual common::optional<
3246 std::shared_ptr<IReference>
3247 >& mutable_unit_id() = 0;
3248
3249 virtual void set_unit_id(
3250 common::optional<
3251 std::shared_ptr<IReference>
3252 > value
3253 ) = 0;
3254
3256
3259
3260 virtual const common::optional<std::wstring>& source_of_definition() const = 0;
3261
3262 virtual common::optional<std::wstring>& mutable_source_of_definition() = 0;
3263
3264 virtual void set_source_of_definition(
3265 common::optional<std::wstring> value
3266 ) = 0;
3267
3269
3272
3273 virtual const common::optional<std::wstring>& symbol() const = 0;
3274
3275 virtual common::optional<std::wstring>& mutable_symbol() = 0;
3276
3277 virtual void set_symbol(
3278 common::optional<std::wstring> value
3279 ) = 0;
3280
3282
3285
3286 virtual const common::optional<DataTypeIec61360>& data_type() const = 0;
3287
3288 virtual common::optional<DataTypeIec61360>& mutable_data_type() = 0;
3289
3290 virtual void set_data_type(
3291 common::optional<DataTypeIec61360> value
3292 ) = 0;
3293
3295
3298
3299 virtual const common::optional<
3300 std::vector<
3301 std::shared_ptr<ILangStringDefinitionTypeIec61360>
3302 >
3303 >& definition() const = 0;
3304
3305 virtual common::optional<
3306 std::vector<
3307 std::shared_ptr<ILangStringDefinitionTypeIec61360>
3308 >
3309 >& mutable_definition() = 0;
3310
3311 virtual void set_definition(
3312 common::optional<
3313 std::vector<
3314 std::shared_ptr<ILangStringDefinitionTypeIec61360>
3315 >
3316 > value
3317 ) = 0;
3318
3320
3325
3326 virtual const common::optional<std::wstring>& value_format() const = 0;
3327
3328 virtual common::optional<std::wstring>& mutable_value_format() = 0;
3329
3330 virtual void set_value_format(
3331 common::optional<std::wstring> value
3332 ) = 0;
3333
3335
3338
3339 virtual const common::optional<
3340 std::shared_ptr<IValueList>
3341 >& value_list() const = 0;
3342
3343 virtual common::optional<
3344 std::shared_ptr<IValueList>
3345 >& mutable_value_list() = 0;
3346
3347 virtual void set_value_list(
3348 common::optional<
3349 std::shared_ptr<IValueList>
3350 > value
3351 ) = 0;
3352
3354
3357
3358 virtual const common::optional<std::wstring>& value() const = 0;
3359
3360 virtual common::optional<std::wstring>& mutable_value() = 0;
3361
3362 virtual void set_value(
3363 common::optional<std::wstring> value
3364 ) = 0;
3365
3367
3370
3371 virtual const common::optional<
3372 std::shared_ptr<ILevelType>
3373 >& level_type() const = 0;
3374
3375 virtual common::optional<
3376 std::shared_ptr<ILevelType>
3377 >& mutable_level_type() = 0;
3378
3379 virtual void set_level_type(
3380 common::optional<
3381 std::shared_ptr<ILevelType>
3382 > value
3383 ) = 0;
3384
3386
3387 virtual ~IDataSpecificationIec61360() = default;
3388};
3389
3390// endregion
3391
3392// region Definitions of concrete classes
3393
3394class Extension
3395 : public IExtension {
3396 public:
3397 explicit Extension(
3398 std::wstring name,
3399 common::optional<
3400 std::shared_ptr<IReference>
3401 > semantic_id = common::nullopt,
3402 common::optional<
3403 std::vector<
3404 std::shared_ptr<IReference>
3405 >
3406 > supplemental_semantic_ids = common::nullopt,
3407 common::optional<DataTypeDefXsd> value_type = common::nullopt,
3408 common::optional<std::wstring> value = common::nullopt,
3409 common::optional<
3410 std::vector<
3411 std::shared_ptr<IReference>
3412 >
3413 > refers_to = common::nullopt
3414 );
3415
3416 ModelType model_type() const override;
3417
3418 // region Get and set semantic_id_
3419
3420 const common::optional<
3421 std::shared_ptr<IReference>
3422 >& semantic_id() const override;
3423
3424 common::optional<
3425 std::shared_ptr<IReference>
3426 >& mutable_semantic_id() override;
3427
3428 void set_semantic_id(
3429 common::optional<
3430 std::shared_ptr<IReference>
3431 > value
3432 ) override;
3433
3434 // endregion
3435
3436 // region Get and set supplemental_semantic_ids_
3437
3438 const common::optional<
3439 std::vector<
3440 std::shared_ptr<IReference>
3441 >
3442 >& supplemental_semantic_ids() const override;
3443
3444 common::optional<
3445 std::vector<
3446 std::shared_ptr<IReference>
3447 >
3448 >& mutable_supplemental_semantic_ids() override;
3449
3450 void set_supplemental_semantic_ids(
3451 common::optional<
3452 std::vector<
3453 std::shared_ptr<IReference>
3454 >
3455 > value
3456 ) override;
3457
3458 // endregion
3459
3460 // region Get and set name_
3461
3462 const std::wstring& name() const override;
3463
3464 std::wstring& mutable_name() override;
3465
3466 void set_name(
3467 std::wstring value
3468 ) override;
3469
3470 // endregion
3471
3472 // region Get and set value_type_
3473
3474 const common::optional<DataTypeDefXsd>& value_type() const override;
3475
3476 common::optional<DataTypeDefXsd>& mutable_value_type() override;
3477
3478 void set_value_type(
3479 common::optional<DataTypeDefXsd> value
3480 ) override;
3481
3482 // endregion
3483
3484 // region Get and set value_
3485
3486 const common::optional<std::wstring>& value() const override;
3487
3488 common::optional<std::wstring>& mutable_value() override;
3489
3490 void set_value(
3491 common::optional<std::wstring> value
3492 ) override;
3493
3494 // endregion
3495
3496 // region Get and set refers_to_
3497
3498 const common::optional<
3499 std::vector<
3500 std::shared_ptr<IReference>
3501 >
3502 >& refers_to() const override;
3503
3504 common::optional<
3505 std::vector<
3506 std::shared_ptr<IReference>
3507 >
3508 >& mutable_refers_to() override;
3509
3510 void set_refers_to(
3511 common::optional<
3512 std::vector<
3513 std::shared_ptr<IReference>
3514 >
3515 > value
3516 ) override;
3517
3518 // endregion
3519
3520 DataTypeDefXsd ValueTypeOrDefault() const override;
3521
3522 ~Extension() override = default;
3523
3524 private:
3525 common::optional<
3526 std::shared_ptr<IReference>
3527 > semantic_id_;
3528
3529 common::optional<
3530 std::vector<
3531 std::shared_ptr<IReference>
3532 >
3533 > supplemental_semantic_ids_;
3534
3535 std::wstring name_;
3536
3537 common::optional<DataTypeDefXsd> value_type_;
3538
3539 common::optional<std::wstring> value_;
3540
3541 common::optional<
3542 std::vector<
3543 std::shared_ptr<IReference>
3544 >
3545 > refers_to_;
3546};
3547
3548class AdministrativeInformation
3549 : public IAdministrativeInformation {
3550 public:
3551 AdministrativeInformation(
3552 common::optional<
3553 std::vector<
3554 std::shared_ptr<IEmbeddedDataSpecification>
3555 >
3556 > embedded_data_specifications = common::nullopt,
3557 common::optional<std::wstring> version = common::nullopt,
3558 common::optional<std::wstring> revision = common::nullopt,
3559 common::optional<
3560 std::shared_ptr<IReference>
3561 > creator = common::nullopt,
3562 common::optional<std::wstring> template_id = common::nullopt
3563 );
3564
3565 ModelType model_type() const override;
3566
3567 // region Get and set embedded_data_specifications_
3568
3569 const common::optional<
3570 std::vector<
3571 std::shared_ptr<IEmbeddedDataSpecification>
3572 >
3573 >& embedded_data_specifications() const override;
3574
3575 common::optional<
3576 std::vector<
3577 std::shared_ptr<IEmbeddedDataSpecification>
3578 >
3579 >& mutable_embedded_data_specifications() override;
3580
3581 void set_embedded_data_specifications(
3582 common::optional<
3583 std::vector<
3584 std::shared_ptr<IEmbeddedDataSpecification>
3585 >
3586 > value
3587 ) override;
3588
3589 // endregion
3590
3591 // region Get and set version_
3592
3593 const common::optional<std::wstring>& version() const override;
3594
3595 common::optional<std::wstring>& mutable_version() override;
3596
3597 void set_version(
3598 common::optional<std::wstring> value
3599 ) override;
3600
3601 // endregion
3602
3603 // region Get and set revision_
3604
3605 const common::optional<std::wstring>& revision() const override;
3606
3607 common::optional<std::wstring>& mutable_revision() override;
3608
3609 void set_revision(
3610 common::optional<std::wstring> value
3611 ) override;
3612
3613 // endregion
3614
3615 // region Get and set creator_
3616
3617 const common::optional<
3618 std::shared_ptr<IReference>
3619 >& creator() const override;
3620
3621 common::optional<
3622 std::shared_ptr<IReference>
3623 >& mutable_creator() override;
3624
3625 void set_creator(
3626 common::optional<
3627 std::shared_ptr<IReference>
3628 > value
3629 ) override;
3630
3631 // endregion
3632
3633 // region Get and set template_id_
3634
3635 const common::optional<std::wstring>& template_id() const override;
3636
3637 common::optional<std::wstring>& mutable_template_id() override;
3638
3639 void set_template_id(
3640 common::optional<std::wstring> value
3641 ) override;
3642
3643 // endregion
3644
3645 ~AdministrativeInformation() override = default;
3646
3647 private:
3648 common::optional<
3649 std::vector<
3650 std::shared_ptr<IEmbeddedDataSpecification>
3651 >
3652 > embedded_data_specifications_;
3653
3654 common::optional<std::wstring> version_;
3655
3656 common::optional<std::wstring> revision_;
3657
3658 common::optional<
3659 std::shared_ptr<IReference>
3660 > creator_;
3661
3662 common::optional<std::wstring> template_id_;
3663};
3664
3665class Qualifier
3666 : public IQualifier {
3667 public:
3668 Qualifier(
3669 std::wstring type,
3670 DataTypeDefXsd value_type,
3671 common::optional<
3672 std::shared_ptr<IReference>
3673 > semantic_id = common::nullopt,
3674 common::optional<
3675 std::vector<
3676 std::shared_ptr<IReference>
3677 >
3678 > supplemental_semantic_ids = common::nullopt,
3679 common::optional<QualifierKind> kind = common::nullopt,
3680 common::optional<std::wstring> value = common::nullopt,
3681 common::optional<
3682 std::shared_ptr<IReference>
3683 > value_id = common::nullopt
3684 );
3685
3686 ModelType model_type() const override;
3687
3688 // region Get and set semantic_id_
3689
3690 const common::optional<
3691 std::shared_ptr<IReference>
3692 >& semantic_id() const override;
3693
3694 common::optional<
3695 std::shared_ptr<IReference>
3696 >& mutable_semantic_id() override;
3697
3698 void set_semantic_id(
3699 common::optional<
3700 std::shared_ptr<IReference>
3701 > value
3702 ) override;
3703
3704 // endregion
3705
3706 // region Get and set supplemental_semantic_ids_
3707
3708 const common::optional<
3709 std::vector<
3710 std::shared_ptr<IReference>
3711 >
3712 >& supplemental_semantic_ids() const override;
3713
3714 common::optional<
3715 std::vector<
3716 std::shared_ptr<IReference>
3717 >
3718 >& mutable_supplemental_semantic_ids() override;
3719
3720 void set_supplemental_semantic_ids(
3721 common::optional<
3722 std::vector<
3723 std::shared_ptr<IReference>
3724 >
3725 > value
3726 ) override;
3727
3728 // endregion
3729
3730 // region Get and set kind_
3731
3732 const common::optional<QualifierKind>& kind() const override;
3733
3734 common::optional<QualifierKind>& mutable_kind() override;
3735
3736 void set_kind(
3737 common::optional<QualifierKind> value
3738 ) override;
3739
3740 // endregion
3741
3742 // region Get and set type_
3743
3744 const std::wstring& type() const override;
3745
3746 std::wstring& mutable_type() override;
3747
3748 void set_type(
3749 std::wstring value
3750 ) override;
3751
3752 // endregion
3753
3754 // region Get and set value_type_
3755
3756 DataTypeDefXsd value_type() const override;
3757
3758 DataTypeDefXsd& mutable_value_type() override;
3759
3760 void set_value_type(
3761 DataTypeDefXsd value
3762 ) override;
3763
3764 // endregion
3765
3766 // region Get and set value_
3767
3768 const common::optional<std::wstring>& value() const override;
3769
3770 common::optional<std::wstring>& mutable_value() override;
3771
3772 void set_value(
3773 common::optional<std::wstring> value
3774 ) override;
3775
3776 // endregion
3777
3778 // region Get and set value_id_
3779
3780 const common::optional<
3781 std::shared_ptr<IReference>
3782 >& value_id() const override;
3783
3784 common::optional<
3785 std::shared_ptr<IReference>
3786 >& mutable_value_id() override;
3787
3788 void set_value_id(
3789 common::optional<
3790 std::shared_ptr<IReference>
3791 > value
3792 ) override;
3793
3794 // endregion
3795
3796 QualifierKind KindOrDefault() const override;
3797
3798 ~Qualifier() override = default;
3799
3800 private:
3801 common::optional<
3802 std::shared_ptr<IReference>
3803 > semantic_id_;
3804
3805 common::optional<
3806 std::vector<
3807 std::shared_ptr<IReference>
3808 >
3809 > supplemental_semantic_ids_;
3810
3811 common::optional<QualifierKind> kind_;
3812
3813 std::wstring type_;
3814
3815 DataTypeDefXsd value_type_;
3816
3817 common::optional<std::wstring> value_;
3818
3819 common::optional<
3820 std::shared_ptr<IReference>
3821 > value_id_;
3822};
3823
3824class AssetAdministrationShell
3825 : public IAssetAdministrationShell {
3826 public:
3827 AssetAdministrationShell(
3828 std::wstring id,
3829 std::shared_ptr<IAssetInformation> asset_information,
3830 common::optional<
3831 std::vector<
3832 std::shared_ptr<IExtension>
3833 >
3834 > extensions = common::nullopt,
3835 common::optional<std::wstring> category = common::nullopt,
3836 common::optional<std::wstring> id_short = common::nullopt,
3837 common::optional<
3838 std::vector<
3839 std::shared_ptr<ILangStringNameType>
3840 >
3841 > display_name = common::nullopt,
3842 common::optional<
3843 std::vector<
3844 std::shared_ptr<ILangStringTextType>
3845 >
3846 > description = common::nullopt,
3847 common::optional<
3848 std::shared_ptr<IAdministrativeInformation>
3849 > administration = common::nullopt,
3850 common::optional<
3851 std::vector<
3852 std::shared_ptr<IEmbeddedDataSpecification>
3853 >
3854 > embedded_data_specifications = common::nullopt,
3855 common::optional<
3856 std::shared_ptr<IReference>
3857 > derived_from = common::nullopt,
3858 common::optional<
3859 std::vector<
3860 std::shared_ptr<IReference>
3861 >
3862 > submodels = common::nullopt
3863 );
3864
3865 ModelType model_type() const override;
3866
3867 // region Get and set extensions_
3868
3869 const common::optional<
3870 std::vector<
3871 std::shared_ptr<IExtension>
3872 >
3873 >& extensions() const override;
3874
3875 common::optional<
3876 std::vector<
3877 std::shared_ptr<IExtension>
3878 >
3879 >& mutable_extensions() override;
3880
3881 void set_extensions(
3882 common::optional<
3883 std::vector<
3884 std::shared_ptr<IExtension>
3885 >
3886 > value
3887 ) override;
3888
3889 // endregion
3890
3891 // region Get and set category_
3892
3893 const common::optional<std::wstring>& category() const override;
3894
3895 common::optional<std::wstring>& mutable_category() override;
3896
3897 void set_category(
3898 common::optional<std::wstring> value
3899 ) override;
3900
3901 // endregion
3902
3903 // region Get and set id_short_
3904
3905 const common::optional<std::wstring>& id_short() const override;
3906
3907 common::optional<std::wstring>& mutable_id_short() override;
3908
3909 void set_id_short(
3910 common::optional<std::wstring> value
3911 ) override;
3912
3913 // endregion
3914
3915 // region Get and set display_name_
3916
3917 const common::optional<
3918 std::vector<
3919 std::shared_ptr<ILangStringNameType>
3920 >
3921 >& display_name() const override;
3922
3923 common::optional<
3924 std::vector<
3925 std::shared_ptr<ILangStringNameType>
3926 >
3927 >& mutable_display_name() override;
3928
3929 void set_display_name(
3930 common::optional<
3931 std::vector<
3932 std::shared_ptr<ILangStringNameType>
3933 >
3934 > value
3935 ) override;
3936
3937 // endregion
3938
3939 // region Get and set description_
3940
3941 const common::optional<
3942 std::vector<
3943 std::shared_ptr<ILangStringTextType>
3944 >
3945 >& description() const override;
3946
3947 common::optional<
3948 std::vector<
3949 std::shared_ptr<ILangStringTextType>
3950 >
3951 >& mutable_description() override;
3952
3953 void set_description(
3954 common::optional<
3955 std::vector<
3956 std::shared_ptr<ILangStringTextType>
3957 >
3958 > value
3959 ) override;
3960
3961 // endregion
3962
3963 // region Get and set administration_
3964
3965 const common::optional<
3966 std::shared_ptr<IAdministrativeInformation>
3967 >& administration() const override;
3968
3969 common::optional<
3970 std::shared_ptr<IAdministrativeInformation>
3971 >& mutable_administration() override;
3972
3973 void set_administration(
3974 common::optional<
3975 std::shared_ptr<IAdministrativeInformation>
3976 > value
3977 ) override;
3978
3979 // endregion
3980
3981 // region Get and set id_
3982
3983 const std::wstring& id() const override;
3984
3985 std::wstring& mutable_id() override;
3986
3987 void set_id(
3988 std::wstring value
3989 ) override;
3990
3991 // endregion
3992
3993 // region Get and set embedded_data_specifications_
3994
3995 const common::optional<
3996 std::vector<
3997 std::shared_ptr<IEmbeddedDataSpecification>
3998 >
3999 >& embedded_data_specifications() const override;
4000
4001 common::optional<
4002 std::vector<
4003 std::shared_ptr<IEmbeddedDataSpecification>
4004 >
4005 >& mutable_embedded_data_specifications() override;
4006
4007 void set_embedded_data_specifications(
4008 common::optional<
4009 std::vector<
4010 std::shared_ptr<IEmbeddedDataSpecification>
4011 >
4012 > value
4013 ) override;
4014
4015 // endregion
4016
4017 // region Get and set derived_from_
4018
4019 const common::optional<
4020 std::shared_ptr<IReference>
4021 >& derived_from() const override;
4022
4023 common::optional<
4024 std::shared_ptr<IReference>
4025 >& mutable_derived_from() override;
4026
4027 void set_derived_from(
4028 common::optional<
4029 std::shared_ptr<IReference>
4030 > value
4031 ) override;
4032
4033 // endregion
4034
4035 // region Get and set asset_information_
4036
4037 const std::shared_ptr<IAssetInformation>& asset_information() const override;
4038
4039 std::shared_ptr<IAssetInformation>& mutable_asset_information() override;
4040
4041 void set_asset_information(
4042 std::shared_ptr<IAssetInformation> value
4043 ) override;
4044
4045 // endregion
4046
4047 // region Get and set submodels_
4048
4049 const common::optional<
4050 std::vector<
4051 std::shared_ptr<IReference>
4052 >
4053 >& submodels() const override;
4054
4055 common::optional<
4056 std::vector<
4057 std::shared_ptr<IReference>
4058 >
4059 >& mutable_submodels() override;
4060
4061 void set_submodels(
4062 common::optional<
4063 std::vector<
4064 std::shared_ptr<IReference>
4065 >
4066 > value
4067 ) override;
4068
4069 // endregion
4070
4071 ~AssetAdministrationShell() override = default;
4072
4073 private:
4074 common::optional<
4075 std::vector<
4076 std::shared_ptr<IExtension>
4077 >
4078 > extensions_;
4079
4080 common::optional<std::wstring> category_;
4081
4082 common::optional<std::wstring> id_short_;
4083
4084 common::optional<
4085 std::vector<
4086 std::shared_ptr<ILangStringNameType>
4087 >
4088 > display_name_;
4089
4090 common::optional<
4091 std::vector<
4092 std::shared_ptr<ILangStringTextType>
4093 >
4094 > description_;
4095
4096 common::optional<
4097 std::shared_ptr<IAdministrativeInformation>
4098 > administration_;
4099
4100 std::wstring id_;
4101
4102 common::optional<
4103 std::vector<
4104 std::shared_ptr<IEmbeddedDataSpecification>
4105 >
4106 > embedded_data_specifications_;
4107
4108 common::optional<
4109 std::shared_ptr<IReference>
4110 > derived_from_;
4111
4112 std::shared_ptr<IAssetInformation> asset_information_;
4113
4114 common::optional<
4115 std::vector<
4116 std::shared_ptr<IReference>
4117 >
4118 > submodels_;
4119};
4120
4121class AssetInformation
4122 : public IAssetInformation {
4123 public:
4124 explicit AssetInformation(
4125 AssetKind asset_kind,
4126 common::optional<std::wstring> global_asset_id = common::nullopt,
4127 common::optional<
4128 std::vector<
4129 std::shared_ptr<ISpecificAssetId>
4130 >
4131 > specific_asset_ids = common::nullopt,
4132 common::optional<std::wstring> asset_type = common::nullopt,
4133 common::optional<
4134 std::shared_ptr<IResource>
4135 > default_thumbnail = common::nullopt
4136 );
4137
4138 ModelType model_type() const override;
4139
4140 // region Get and set asset_kind_
4141
4142 AssetKind asset_kind() const override;
4143
4144 AssetKind& mutable_asset_kind() override;
4145
4146 void set_asset_kind(
4147 AssetKind value
4148 ) override;
4149
4150 // endregion
4151
4152 // region Get and set global_asset_id_
4153
4154 const common::optional<std::wstring>& global_asset_id() const override;
4155
4156 common::optional<std::wstring>& mutable_global_asset_id() override;
4157
4158 void set_global_asset_id(
4159 common::optional<std::wstring> value
4160 ) override;
4161
4162 // endregion
4163
4164 // region Get and set specific_asset_ids_
4165
4166 const common::optional<
4167 std::vector<
4168 std::shared_ptr<ISpecificAssetId>
4169 >
4170 >& specific_asset_ids() const override;
4171
4172 common::optional<
4173 std::vector<
4174 std::shared_ptr<ISpecificAssetId>
4175 >
4176 >& mutable_specific_asset_ids() override;
4177
4178 void set_specific_asset_ids(
4179 common::optional<
4180 std::vector<
4181 std::shared_ptr<ISpecificAssetId>
4182 >
4183 > value
4184 ) override;
4185
4186 // endregion
4187
4188 // region Get and set asset_type_
4189
4190 const common::optional<std::wstring>& asset_type() const override;
4191
4192 common::optional<std::wstring>& mutable_asset_type() override;
4193
4194 void set_asset_type(
4195 common::optional<std::wstring> value
4196 ) override;
4197
4198 // endregion
4199
4200 // region Get and set default_thumbnail_
4201
4202 const common::optional<
4203 std::shared_ptr<IResource>
4204 >& default_thumbnail() const override;
4205
4206 common::optional<
4207 std::shared_ptr<IResource>
4208 >& mutable_default_thumbnail() override;
4209
4210 void set_default_thumbnail(
4211 common::optional<
4212 std::shared_ptr<IResource>
4213 > value
4214 ) override;
4215
4216 // endregion
4217
4218 ~AssetInformation() override = default;
4219
4220 private:
4221 AssetKind asset_kind_;
4222
4223 common::optional<std::wstring> global_asset_id_;
4224
4225 common::optional<
4226 std::vector<
4227 std::shared_ptr<ISpecificAssetId>
4228 >
4229 > specific_asset_ids_;
4230
4231 common::optional<std::wstring> asset_type_;
4232
4233 common::optional<
4234 std::shared_ptr<IResource>
4235 > default_thumbnail_;
4236};
4237
4238class Resource
4239 : public IResource {
4240 public:
4241 explicit Resource(
4242 std::wstring path,
4243 common::optional<std::wstring> content_type = common::nullopt
4244 );
4245
4246 ModelType model_type() const override;
4247
4248 // region Get and set path_
4249
4250 const std::wstring& path() const override;
4251
4252 std::wstring& mutable_path() override;
4253
4254 void set_path(
4255 std::wstring value
4256 ) override;
4257
4258 // endregion
4259
4260 // region Get and set content_type_
4261
4262 const common::optional<std::wstring>& content_type() const override;
4263
4264 common::optional<std::wstring>& mutable_content_type() override;
4265
4266 void set_content_type(
4267 common::optional<std::wstring> value
4268 ) override;
4269
4270 // endregion
4271
4272 ~Resource() override = default;
4273
4274 private:
4275 std::wstring path_;
4276
4277 common::optional<std::wstring> content_type_;
4278};
4279
4280class SpecificAssetId
4281 : public ISpecificAssetId {
4282 public:
4283 SpecificAssetId(
4284 std::wstring name,
4285 std::wstring value,
4286 common::optional<
4287 std::shared_ptr<IReference>
4288 > semantic_id = common::nullopt,
4289 common::optional<
4290 std::vector<
4291 std::shared_ptr<IReference>
4292 >
4293 > supplemental_semantic_ids = common::nullopt,
4294 common::optional<
4295 std::shared_ptr<IReference>
4296 > external_subject_id = common::nullopt
4297 );
4298
4299 ModelType model_type() const override;
4300
4301 // region Get and set semantic_id_
4302
4303 const common::optional<
4304 std::shared_ptr<IReference>
4305 >& semantic_id() const override;
4306
4307 common::optional<
4308 std::shared_ptr<IReference>
4309 >& mutable_semantic_id() override;
4310
4311 void set_semantic_id(
4312 common::optional<
4313 std::shared_ptr<IReference>
4314 > value
4315 ) override;
4316
4317 // endregion
4318
4319 // region Get and set supplemental_semantic_ids_
4320
4321 const common::optional<
4322 std::vector<
4323 std::shared_ptr<IReference>
4324 >
4325 >& supplemental_semantic_ids() const override;
4326
4327 common::optional<
4328 std::vector<
4329 std::shared_ptr<IReference>
4330 >
4331 >& mutable_supplemental_semantic_ids() override;
4332
4333 void set_supplemental_semantic_ids(
4334 common::optional<
4335 std::vector<
4336 std::shared_ptr<IReference>
4337 >
4338 > value
4339 ) override;
4340
4341 // endregion
4342
4343 // region Get and set name_
4344
4345 const std::wstring& name() const override;
4346
4347 std::wstring& mutable_name() override;
4348
4349 void set_name(
4350 std::wstring value
4351 ) override;
4352
4353 // endregion
4354
4355 // region Get and set value_
4356
4357 const std::wstring& value() const override;
4358
4359 std::wstring& mutable_value() override;
4360
4361 void set_value(
4362 std::wstring value
4363 ) override;
4364
4365 // endregion
4366
4367 // region Get and set external_subject_id_
4368
4369 const common::optional<
4370 std::shared_ptr<IReference>
4371 >& external_subject_id() const override;
4372
4373 common::optional<
4374 std::shared_ptr<IReference>
4375 >& mutable_external_subject_id() override;
4376
4377 void set_external_subject_id(
4378 common::optional<
4379 std::shared_ptr<IReference>
4380 > value
4381 ) override;
4382
4383 // endregion
4384
4385 ~SpecificAssetId() override = default;
4386
4387 private:
4388 common::optional<
4389 std::shared_ptr<IReference>
4390 > semantic_id_;
4391
4392 common::optional<
4393 std::vector<
4394 std::shared_ptr<IReference>
4395 >
4396 > supplemental_semantic_ids_;
4397
4398 std::wstring name_;
4399
4400 std::wstring value_;
4401
4402 common::optional<
4403 std::shared_ptr<IReference>
4404 > external_subject_id_;
4405};
4406
4407class Submodel
4408 : public ISubmodel {
4409 public:
4410 explicit Submodel(
4411 std::wstring id,
4412 common::optional<
4413 std::vector<
4414 std::shared_ptr<IExtension>
4415 >
4416 > extensions = common::nullopt,
4417 common::optional<std::wstring> category = common::nullopt,
4418 common::optional<std::wstring> id_short = common::nullopt,
4419 common::optional<
4420 std::vector<
4421 std::shared_ptr<ILangStringNameType>
4422 >
4423 > display_name = common::nullopt,
4424 common::optional<
4425 std::vector<
4426 std::shared_ptr<ILangStringTextType>
4427 >
4428 > description = common::nullopt,
4429 common::optional<
4430 std::shared_ptr<IAdministrativeInformation>
4431 > administration = common::nullopt,
4432 common::optional<ModellingKind> kind = common::nullopt,
4433 common::optional<
4434 std::shared_ptr<IReference>
4435 > semantic_id = common::nullopt,
4436 common::optional<
4437 std::vector<
4438 std::shared_ptr<IReference>
4439 >
4440 > supplemental_semantic_ids = common::nullopt,
4441 common::optional<
4442 std::vector<
4443 std::shared_ptr<IQualifier>
4444 >
4445 > qualifiers = common::nullopt,
4446 common::optional<
4447 std::vector<
4448 std::shared_ptr<IEmbeddedDataSpecification>
4449 >
4450 > embedded_data_specifications = common::nullopt,
4451 common::optional<
4452 std::vector<
4453 std::shared_ptr<ISubmodelElement>
4454 >
4455 > submodel_elements = common::nullopt
4456 );
4457
4458 ModelType model_type() const override;
4459
4460 // region Get and set extensions_
4461
4462 const common::optional<
4463 std::vector<
4464 std::shared_ptr<IExtension>
4465 >
4466 >& extensions() const override;
4467
4468 common::optional<
4469 std::vector<
4470 std::shared_ptr<IExtension>
4471 >
4472 >& mutable_extensions() override;
4473
4474 void set_extensions(
4475 common::optional<
4476 std::vector<
4477 std::shared_ptr<IExtension>
4478 >
4479 > value
4480 ) override;
4481
4482 // endregion
4483
4484 // region Get and set category_
4485
4486 const common::optional<std::wstring>& category() const override;
4487
4488 common::optional<std::wstring>& mutable_category() override;
4489
4490 void set_category(
4491 common::optional<std::wstring> value
4492 ) override;
4493
4494 // endregion
4495
4496 // region Get and set id_short_
4497
4498 const common::optional<std::wstring>& id_short() const override;
4499
4500 common::optional<std::wstring>& mutable_id_short() override;
4501
4502 void set_id_short(
4503 common::optional<std::wstring> value
4504 ) override;
4505
4506 // endregion
4507
4508 // region Get and set display_name_
4509
4510 const common::optional<
4511 std::vector<
4512 std::shared_ptr<ILangStringNameType>
4513 >
4514 >& display_name() const override;
4515
4516 common::optional<
4517 std::vector<
4518 std::shared_ptr<ILangStringNameType>
4519 >
4520 >& mutable_display_name() override;
4521
4522 void set_display_name(
4523 common::optional<
4524 std::vector<
4525 std::shared_ptr<ILangStringNameType>
4526 >
4527 > value
4528 ) override;
4529
4530 // endregion
4531
4532 // region Get and set description_
4533
4534 const common::optional<
4535 std::vector<
4536 std::shared_ptr<ILangStringTextType>
4537 >
4538 >& description() const override;
4539
4540 common::optional<
4541 std::vector<
4542 std::shared_ptr<ILangStringTextType>
4543 >
4544 >& mutable_description() override;
4545
4546 void set_description(
4547 common::optional<
4548 std::vector<
4549 std::shared_ptr<ILangStringTextType>
4550 >
4551 > value
4552 ) override;
4553
4554 // endregion
4555
4556 // region Get and set administration_
4557
4558 const common::optional<
4559 std::shared_ptr<IAdministrativeInformation>
4560 >& administration() const override;
4561
4562 common::optional<
4563 std::shared_ptr<IAdministrativeInformation>
4564 >& mutable_administration() override;
4565
4566 void set_administration(
4567 common::optional<
4568 std::shared_ptr<IAdministrativeInformation>
4569 > value
4570 ) override;
4571
4572 // endregion
4573
4574 // region Get and set id_
4575
4576 const std::wstring& id() const override;
4577
4578 std::wstring& mutable_id() override;
4579
4580 void set_id(
4581 std::wstring value
4582 ) override;
4583
4584 // endregion
4585
4586 // region Get and set kind_
4587
4588 const common::optional<ModellingKind>& kind() const override;
4589
4590 common::optional<ModellingKind>& mutable_kind() override;
4591
4592 void set_kind(
4593 common::optional<ModellingKind> value
4594 ) override;
4595
4596 // endregion
4597
4598 // region Get and set semantic_id_
4599
4600 const common::optional<
4601 std::shared_ptr<IReference>
4602 >& semantic_id() const override;
4603
4604 common::optional<
4605 std::shared_ptr<IReference>
4606 >& mutable_semantic_id() override;
4607
4608 void set_semantic_id(
4609 common::optional<
4610 std::shared_ptr<IReference>
4611 > value
4612 ) override;
4613
4614 // endregion
4615
4616 // region Get and set supplemental_semantic_ids_
4617
4618 const common::optional<
4619 std::vector<
4620 std::shared_ptr<IReference>
4621 >
4622 >& supplemental_semantic_ids() const override;
4623
4624 common::optional<
4625 std::vector<
4626 std::shared_ptr<IReference>
4627 >
4628 >& mutable_supplemental_semantic_ids() override;
4629
4630 void set_supplemental_semantic_ids(
4631 common::optional<
4632 std::vector<
4633 std::shared_ptr<IReference>
4634 >
4635 > value
4636 ) override;
4637
4638 // endregion
4639
4640 // region Get and set qualifiers_
4641
4642 const common::optional<
4643 std::vector<
4644 std::shared_ptr<IQualifier>
4645 >
4646 >& qualifiers() const override;
4647
4648 common::optional<
4649 std::vector<
4650 std::shared_ptr<IQualifier>
4651 >
4652 >& mutable_qualifiers() override;
4653
4654 void set_qualifiers(
4655 common::optional<
4656 std::vector<
4657 std::shared_ptr<IQualifier>
4658 >
4659 > value
4660 ) override;
4661
4662 // endregion
4663
4664 // region Get and set embedded_data_specifications_
4665
4666 const common::optional<
4667 std::vector<
4668 std::shared_ptr<IEmbeddedDataSpecification>
4669 >
4670 >& embedded_data_specifications() const override;
4671
4672 common::optional<
4673 std::vector<
4674 std::shared_ptr<IEmbeddedDataSpecification>
4675 >
4676 >& mutable_embedded_data_specifications() override;
4677
4678 void set_embedded_data_specifications(
4679 common::optional<
4680 std::vector<
4681 std::shared_ptr<IEmbeddedDataSpecification>
4682 >
4683 > value
4684 ) override;
4685
4686 // endregion
4687
4688 // region Get and set submodel_elements_
4689
4690 const common::optional<
4691 std::vector<
4692 std::shared_ptr<ISubmodelElement>
4693 >
4694 >& submodel_elements() const override;
4695
4696 common::optional<
4697 std::vector<
4698 std::shared_ptr<ISubmodelElement>
4699 >
4700 >& mutable_submodel_elements() override;
4701
4702 void set_submodel_elements(
4703 common::optional<
4704 std::vector<
4705 std::shared_ptr<ISubmodelElement>
4706 >
4707 > value
4708 ) override;
4709
4710 // endregion
4711
4712 ModellingKind KindOrDefault() const override;
4713
4714 ~Submodel() override = default;
4715
4716 private:
4717 common::optional<
4718 std::vector<
4719 std::shared_ptr<IExtension>
4720 >
4721 > extensions_;
4722
4723 common::optional<std::wstring> category_;
4724
4725 common::optional<std::wstring> id_short_;
4726
4727 common::optional<
4728 std::vector<
4729 std::shared_ptr<ILangStringNameType>
4730 >
4731 > display_name_;
4732
4733 common::optional<
4734 std::vector<
4735 std::shared_ptr<ILangStringTextType>
4736 >
4737 > description_;
4738
4739 common::optional<
4740 std::shared_ptr<IAdministrativeInformation>
4741 > administration_;
4742
4743 std::wstring id_;
4744
4745 common::optional<ModellingKind> kind_;
4746
4747 common::optional<
4748 std::shared_ptr<IReference>
4749 > semantic_id_;
4750
4751 common::optional<
4752 std::vector<
4753 std::shared_ptr<IReference>
4754 >
4755 > supplemental_semantic_ids_;
4756
4757 common::optional<
4758 std::vector<
4759 std::shared_ptr<IQualifier>
4760 >
4761 > qualifiers_;
4762
4763 common::optional<
4764 std::vector<
4765 std::shared_ptr<IEmbeddedDataSpecification>
4766 >
4767 > embedded_data_specifications_;
4768
4769 common::optional<
4770 std::vector<
4771 std::shared_ptr<ISubmodelElement>
4772 >
4773 > submodel_elements_;
4774};
4775
4776class RelationshipElement
4777 : public IRelationshipElement {
4778 public:
4779 RelationshipElement(
4780 std::shared_ptr<IReference> first,
4781 std::shared_ptr<IReference> second,
4782 common::optional<
4783 std::vector<
4784 std::shared_ptr<IExtension>
4785 >
4786 > extensions = common::nullopt,
4787 common::optional<std::wstring> category = common::nullopt,
4788 common::optional<std::wstring> id_short = common::nullopt,
4789 common::optional<
4790 std::vector<
4791 std::shared_ptr<ILangStringNameType>
4792 >
4793 > display_name = common::nullopt,
4794 common::optional<
4795 std::vector<
4796 std::shared_ptr<ILangStringTextType>
4797 >
4798 > description = common::nullopt,
4799 common::optional<
4800 std::shared_ptr<IReference>
4801 > semantic_id = common::nullopt,
4802 common::optional<
4803 std::vector<
4804 std::shared_ptr<IReference>
4805 >
4806 > supplemental_semantic_ids = common::nullopt,
4807 common::optional<
4808 std::vector<
4809 std::shared_ptr<IQualifier>
4810 >
4811 > qualifiers = common::nullopt,
4812 common::optional<
4813 std::vector<
4814 std::shared_ptr<IEmbeddedDataSpecification>
4815 >
4816 > embedded_data_specifications = common::nullopt
4817 );
4818
4819 ModelType model_type() const override;
4820
4821 // region Get and set extensions_
4822
4823 const common::optional<
4824 std::vector<
4825 std::shared_ptr<IExtension>
4826 >
4827 >& extensions() const override;
4828
4829 common::optional<
4830 std::vector<
4831 std::shared_ptr<IExtension>
4832 >
4833 >& mutable_extensions() override;
4834
4835 void set_extensions(
4836 common::optional<
4837 std::vector<
4838 std::shared_ptr<IExtension>
4839 >
4840 > value
4841 ) override;
4842
4843 // endregion
4844
4845 // region Get and set category_
4846
4847 const common::optional<std::wstring>& category() const override;
4848
4849 common::optional<std::wstring>& mutable_category() override;
4850
4851 void set_category(
4852 common::optional<std::wstring> value
4853 ) override;
4854
4855 // endregion
4856
4857 // region Get and set id_short_
4858
4859 const common::optional<std::wstring>& id_short() const override;
4860
4861 common::optional<std::wstring>& mutable_id_short() override;
4862
4863 void set_id_short(
4864 common::optional<std::wstring> value
4865 ) override;
4866
4867 // endregion
4868
4869 // region Get and set display_name_
4870
4871 const common::optional<
4872 std::vector<
4873 std::shared_ptr<ILangStringNameType>
4874 >
4875 >& display_name() const override;
4876
4877 common::optional<
4878 std::vector<
4879 std::shared_ptr<ILangStringNameType>
4880 >
4881 >& mutable_display_name() override;
4882
4883 void set_display_name(
4884 common::optional<
4885 std::vector<
4886 std::shared_ptr<ILangStringNameType>
4887 >
4888 > value
4889 ) override;
4890
4891 // endregion
4892
4893 // region Get and set description_
4894
4895 const common::optional<
4896 std::vector<
4897 std::shared_ptr<ILangStringTextType>
4898 >
4899 >& description() const override;
4900
4901 common::optional<
4902 std::vector<
4903 std::shared_ptr<ILangStringTextType>
4904 >
4905 >& mutable_description() override;
4906
4907 void set_description(
4908 common::optional<
4909 std::vector<
4910 std::shared_ptr<ILangStringTextType>
4911 >
4912 > value
4913 ) override;
4914
4915 // endregion
4916
4917 // region Get and set semantic_id_
4918
4919 const common::optional<
4920 std::shared_ptr<IReference>
4921 >& semantic_id() const override;
4922
4923 common::optional<
4924 std::shared_ptr<IReference>
4925 >& mutable_semantic_id() override;
4926
4927 void set_semantic_id(
4928 common::optional<
4929 std::shared_ptr<IReference>
4930 > value
4931 ) override;
4932
4933 // endregion
4934
4935 // region Get and set supplemental_semantic_ids_
4936
4937 const common::optional<
4938 std::vector<
4939 std::shared_ptr<IReference>
4940 >
4941 >& supplemental_semantic_ids() const override;
4942
4943 common::optional<
4944 std::vector<
4945 std::shared_ptr<IReference>
4946 >
4947 >& mutable_supplemental_semantic_ids() override;
4948
4949 void set_supplemental_semantic_ids(
4950 common::optional<
4951 std::vector<
4952 std::shared_ptr<IReference>
4953 >
4954 > value
4955 ) override;
4956
4957 // endregion
4958
4959 // region Get and set qualifiers_
4960
4961 const common::optional<
4962 std::vector<
4963 std::shared_ptr<IQualifier>
4964 >
4965 >& qualifiers() const override;
4966
4967 common::optional<
4968 std::vector<
4969 std::shared_ptr<IQualifier>
4970 >
4971 >& mutable_qualifiers() override;
4972
4973 void set_qualifiers(
4974 common::optional<
4975 std::vector<
4976 std::shared_ptr<IQualifier>
4977 >
4978 > value
4979 ) override;
4980
4981 // endregion
4982
4983 // region Get and set embedded_data_specifications_
4984
4985 const common::optional<
4986 std::vector<
4987 std::shared_ptr<IEmbeddedDataSpecification>
4988 >
4989 >& embedded_data_specifications() const override;
4990
4991 common::optional<
4992 std::vector<
4993 std::shared_ptr<IEmbeddedDataSpecification>
4994 >
4995 >& mutable_embedded_data_specifications() override;
4996
4997 void set_embedded_data_specifications(
4998 common::optional<
4999 std::vector<
5000 std::shared_ptr<IEmbeddedDataSpecification>
5001 >
5002 > value
5003 ) override;
5004
5005 // endregion
5006
5007 // region Get and set first_
5008
5009 const std::shared_ptr<IReference>& first() const override;
5010
5011 std::shared_ptr<IReference>& mutable_first() override;
5012
5013 void set_first(
5014 std::shared_ptr<IReference> value
5015 ) override;
5016
5017 // endregion
5018
5019 // region Get and set second_
5020
5021 const std::shared_ptr<IReference>& second() const override;
5022
5023 std::shared_ptr<IReference>& mutable_second() override;
5024
5025 void set_second(
5026 std::shared_ptr<IReference> value
5027 ) override;
5028
5029 // endregion
5030
5031 ~RelationshipElement() override = default;
5032
5033 private:
5034 common::optional<
5035 std::vector<
5036 std::shared_ptr<IExtension>
5037 >
5038 > extensions_;
5039
5040 common::optional<std::wstring> category_;
5041
5042 common::optional<std::wstring> id_short_;
5043
5044 common::optional<
5045 std::vector<
5046 std::shared_ptr<ILangStringNameType>
5047 >
5048 > display_name_;
5049
5050 common::optional<
5051 std::vector<
5052 std::shared_ptr<ILangStringTextType>
5053 >
5054 > description_;
5055
5056 common::optional<
5057 std::shared_ptr<IReference>
5058 > semantic_id_;
5059
5060 common::optional<
5061 std::vector<
5062 std::shared_ptr<IReference>
5063 >
5064 > supplemental_semantic_ids_;
5065
5066 common::optional<
5067 std::vector<
5068 std::shared_ptr<IQualifier>
5069 >
5070 > qualifiers_;
5071
5072 common::optional<
5073 std::vector<
5074 std::shared_ptr<IEmbeddedDataSpecification>
5075 >
5076 > embedded_data_specifications_;
5077
5078 std::shared_ptr<IReference> first_;
5079
5080 std::shared_ptr<IReference> second_;
5081};
5082
5083class SubmodelElementList
5084 : public ISubmodelElementList {
5085 public:
5086 explicit SubmodelElementList(
5087 AasSubmodelElements type_value_list_element,
5088 common::optional<
5089 std::vector<
5090 std::shared_ptr<IExtension>
5091 >
5092 > extensions = common::nullopt,
5093 common::optional<std::wstring> category = common::nullopt,
5094 common::optional<std::wstring> id_short = common::nullopt,
5095 common::optional<
5096 std::vector<
5097 std::shared_ptr<ILangStringNameType>
5098 >
5099 > display_name = common::nullopt,
5100 common::optional<
5101 std::vector<
5102 std::shared_ptr<ILangStringTextType>
5103 >
5104 > description = common::nullopt,
5105 common::optional<
5106 std::shared_ptr<IReference>
5107 > semantic_id = common::nullopt,
5108 common::optional<
5109 std::vector<
5110 std::shared_ptr<IReference>
5111 >
5112 > supplemental_semantic_ids = common::nullopt,
5113 common::optional<
5114 std::vector<
5115 std::shared_ptr<IQualifier>
5116 >
5117 > qualifiers = common::nullopt,
5118 common::optional<
5119 std::vector<
5120 std::shared_ptr<IEmbeddedDataSpecification>
5121 >
5122 > embedded_data_specifications = common::nullopt,
5123 common::optional<bool> order_relevant = common::nullopt,
5124 common::optional<
5125 std::shared_ptr<IReference>
5126 > semantic_id_list_element = common::nullopt,
5127 common::optional<DataTypeDefXsd> value_type_list_element = common::nullopt,
5128 common::optional<
5129 std::vector<
5130 std::shared_ptr<ISubmodelElement>
5131 >
5132 > value = common::nullopt
5133 );
5134
5135 ModelType model_type() const override;
5136
5137 // region Get and set extensions_
5138
5139 const common::optional<
5140 std::vector<
5141 std::shared_ptr<IExtension>
5142 >
5143 >& extensions() const override;
5144
5145 common::optional<
5146 std::vector<
5147 std::shared_ptr<IExtension>
5148 >
5149 >& mutable_extensions() override;
5150
5151 void set_extensions(
5152 common::optional<
5153 std::vector<
5154 std::shared_ptr<IExtension>
5155 >
5156 > value
5157 ) override;
5158
5159 // endregion
5160
5161 // region Get and set category_
5162
5163 const common::optional<std::wstring>& category() const override;
5164
5165 common::optional<std::wstring>& mutable_category() override;
5166
5167 void set_category(
5168 common::optional<std::wstring> value
5169 ) override;
5170
5171 // endregion
5172
5173 // region Get and set id_short_
5174
5175 const common::optional<std::wstring>& id_short() const override;
5176
5177 common::optional<std::wstring>& mutable_id_short() override;
5178
5179 void set_id_short(
5180 common::optional<std::wstring> value
5181 ) override;
5182
5183 // endregion
5184
5185 // region Get and set display_name_
5186
5187 const common::optional<
5188 std::vector<
5189 std::shared_ptr<ILangStringNameType>
5190 >
5191 >& display_name() const override;
5192
5193 common::optional<
5194 std::vector<
5195 std::shared_ptr<ILangStringNameType>
5196 >
5197 >& mutable_display_name() override;
5198
5199 void set_display_name(
5200 common::optional<
5201 std::vector<
5202 std::shared_ptr<ILangStringNameType>
5203 >
5204 > value
5205 ) override;
5206
5207 // endregion
5208
5209 // region Get and set description_
5210
5211 const common::optional<
5212 std::vector<
5213 std::shared_ptr<ILangStringTextType>
5214 >
5215 >& description() const override;
5216
5217 common::optional<
5218 std::vector<
5219 std::shared_ptr<ILangStringTextType>
5220 >
5221 >& mutable_description() override;
5222
5223 void set_description(
5224 common::optional<
5225 std::vector<
5226 std::shared_ptr<ILangStringTextType>
5227 >
5228 > value
5229 ) override;
5230
5231 // endregion
5232
5233 // region Get and set semantic_id_
5234
5235 const common::optional<
5236 std::shared_ptr<IReference>
5237 >& semantic_id() const override;
5238
5239 common::optional<
5240 std::shared_ptr<IReference>
5241 >& mutable_semantic_id() override;
5242
5243 void set_semantic_id(
5244 common::optional<
5245 std::shared_ptr<IReference>
5246 > value
5247 ) override;
5248
5249 // endregion
5250
5251 // region Get and set supplemental_semantic_ids_
5252
5253 const common::optional<
5254 std::vector<
5255 std::shared_ptr<IReference>
5256 >
5257 >& supplemental_semantic_ids() const override;
5258
5259 common::optional<
5260 std::vector<
5261 std::shared_ptr<IReference>
5262 >
5263 >& mutable_supplemental_semantic_ids() override;
5264
5265 void set_supplemental_semantic_ids(
5266 common::optional<
5267 std::vector<
5268 std::shared_ptr<IReference>
5269 >
5270 > value
5271 ) override;
5272
5273 // endregion
5274
5275 // region Get and set qualifiers_
5276
5277 const common::optional<
5278 std::vector<
5279 std::shared_ptr<IQualifier>
5280 >
5281 >& qualifiers() const override;
5282
5283 common::optional<
5284 std::vector<
5285 std::shared_ptr<IQualifier>
5286 >
5287 >& mutable_qualifiers() override;
5288
5289 void set_qualifiers(
5290 common::optional<
5291 std::vector<
5292 std::shared_ptr<IQualifier>
5293 >
5294 > value
5295 ) override;
5296
5297 // endregion
5298
5299 // region Get and set embedded_data_specifications_
5300
5301 const common::optional<
5302 std::vector<
5303 std::shared_ptr<IEmbeddedDataSpecification>
5304 >
5305 >& embedded_data_specifications() const override;
5306
5307 common::optional<
5308 std::vector<
5309 std::shared_ptr<IEmbeddedDataSpecification>
5310 >
5311 >& mutable_embedded_data_specifications() override;
5312
5313 void set_embedded_data_specifications(
5314 common::optional<
5315 std::vector<
5316 std::shared_ptr<IEmbeddedDataSpecification>
5317 >
5318 > value
5319 ) override;
5320
5321 // endregion
5322
5323 // region Get and set order_relevant_
5324
5325 const common::optional<bool>& order_relevant() const override;
5326
5327 common::optional<bool>& mutable_order_relevant() override;
5328
5329 void set_order_relevant(
5330 common::optional<bool> value
5331 ) override;
5332
5333 // endregion
5334
5335 // region Get and set semantic_id_list_element_
5336
5337 const common::optional<
5338 std::shared_ptr<IReference>
5339 >& semantic_id_list_element() const override;
5340
5341 common::optional<
5342 std::shared_ptr<IReference>
5343 >& mutable_semantic_id_list_element() override;
5344
5345 void set_semantic_id_list_element(
5346 common::optional<
5347 std::shared_ptr<IReference>
5348 > value
5349 ) override;
5350
5351 // endregion
5352
5353 // region Get and set type_value_list_element_
5354
5355 AasSubmodelElements type_value_list_element() const override;
5356
5357 AasSubmodelElements& mutable_type_value_list_element() override;
5358
5359 void set_type_value_list_element(
5360 AasSubmodelElements value
5361 ) override;
5362
5363 // endregion
5364
5365 // region Get and set value_type_list_element_
5366
5367 const common::optional<DataTypeDefXsd>& value_type_list_element() const override;
5368
5369 common::optional<DataTypeDefXsd>& mutable_value_type_list_element() override;
5370
5371 void set_value_type_list_element(
5372 common::optional<DataTypeDefXsd> value
5373 ) override;
5374
5375 // endregion
5376
5377 // region Get and set value_
5378
5379 const common::optional<
5380 std::vector<
5381 std::shared_ptr<ISubmodelElement>
5382 >
5383 >& value() const override;
5384
5385 common::optional<
5386 std::vector<
5387 std::shared_ptr<ISubmodelElement>
5388 >
5389 >& mutable_value() override;
5390
5391 void set_value(
5392 common::optional<
5393 std::vector<
5394 std::shared_ptr<ISubmodelElement>
5395 >
5396 > value
5397 ) override;
5398
5399 // endregion
5400
5401 bool OrderRelevantOrDefault() const override;
5402
5403 ~SubmodelElementList() override = default;
5404
5405 private:
5406 common::optional<
5407 std::vector<
5408 std::shared_ptr<IExtension>
5409 >
5410 > extensions_;
5411
5412 common::optional<std::wstring> category_;
5413
5414 common::optional<std::wstring> id_short_;
5415
5416 common::optional<
5417 std::vector<
5418 std::shared_ptr<ILangStringNameType>
5419 >
5420 > display_name_;
5421
5422 common::optional<
5423 std::vector<
5424 std::shared_ptr<ILangStringTextType>
5425 >
5426 > description_;
5427
5428 common::optional<
5429 std::shared_ptr<IReference>
5430 > semantic_id_;
5431
5432 common::optional<
5433 std::vector<
5434 std::shared_ptr<IReference>
5435 >
5436 > supplemental_semantic_ids_;
5437
5438 common::optional<
5439 std::vector<
5440 std::shared_ptr<IQualifier>
5441 >
5442 > qualifiers_;
5443
5444 common::optional<
5445 std::vector<
5446 std::shared_ptr<IEmbeddedDataSpecification>
5447 >
5448 > embedded_data_specifications_;
5449
5450 common::optional<bool> order_relevant_;
5451
5452 common::optional<
5453 std::shared_ptr<IReference>
5454 > semantic_id_list_element_;
5455
5456 AasSubmodelElements type_value_list_element_;
5457
5458 common::optional<DataTypeDefXsd> value_type_list_element_;
5459
5460 common::optional<
5461 std::vector<
5462 std::shared_ptr<ISubmodelElement>
5463 >
5464 > value_;
5465};
5466
5467class SubmodelElementCollection
5469 public:
5470 SubmodelElementCollection(
5471 common::optional<
5472 std::vector<
5473 std::shared_ptr<IExtension>
5474 >
5475 > extensions = common::nullopt,
5476 common::optional<std::wstring> category = common::nullopt,
5477 common::optional<std::wstring> id_short = common::nullopt,
5478 common::optional<
5479 std::vector<
5480 std::shared_ptr<ILangStringNameType>
5481 >
5482 > display_name = common::nullopt,
5483 common::optional<
5484 std::vector<
5485 std::shared_ptr<ILangStringTextType>
5486 >
5487 > description = common::nullopt,
5488 common::optional<
5489 std::shared_ptr<IReference>
5490 > semantic_id = common::nullopt,
5491 common::optional<
5492 std::vector<
5493 std::shared_ptr<IReference>
5494 >
5495 > supplemental_semantic_ids = common::nullopt,
5496 common::optional<
5497 std::vector<
5498 std::shared_ptr<IQualifier>
5499 >
5500 > qualifiers = common::nullopt,
5501 common::optional<
5502 std::vector<
5503 std::shared_ptr<IEmbeddedDataSpecification>
5504 >
5505 > embedded_data_specifications = common::nullopt,
5506 common::optional<
5507 std::vector<
5508 std::shared_ptr<ISubmodelElement>
5509 >
5510 > value = common::nullopt
5511 );
5512
5513 ModelType model_type() const override;
5514
5515 // region Get and set extensions_
5516
5517 const common::optional<
5518 std::vector<
5519 std::shared_ptr<IExtension>
5520 >
5521 >& extensions() const override;
5522
5523 common::optional<
5524 std::vector<
5525 std::shared_ptr<IExtension>
5526 >
5527 >& mutable_extensions() override;
5528
5529 void set_extensions(
5530 common::optional<
5531 std::vector<
5532 std::shared_ptr<IExtension>
5533 >
5534 > value
5535 ) override;
5536
5537 // endregion
5538
5539 // region Get and set category_
5540
5541 const common::optional<std::wstring>& category() const override;
5542
5543 common::optional<std::wstring>& mutable_category() override;
5544
5545 void set_category(
5546 common::optional<std::wstring> value
5547 ) override;
5548
5549 // endregion
5550
5551 // region Get and set id_short_
5552
5553 const common::optional<std::wstring>& id_short() const override;
5554
5555 common::optional<std::wstring>& mutable_id_short() override;
5556
5557 void set_id_short(
5558 common::optional<std::wstring> value
5559 ) override;
5560
5561 // endregion
5562
5563 // region Get and set display_name_
5564
5565 const common::optional<
5566 std::vector<
5567 std::shared_ptr<ILangStringNameType>
5568 >
5569 >& display_name() const override;
5570
5571 common::optional<
5572 std::vector<
5573 std::shared_ptr<ILangStringNameType>
5574 >
5575 >& mutable_display_name() override;
5576
5577 void set_display_name(
5578 common::optional<
5579 std::vector<
5580 std::shared_ptr<ILangStringNameType>
5581 >
5582 > value
5583 ) override;
5584
5585 // endregion
5586
5587 // region Get and set description_
5588
5589 const common::optional<
5590 std::vector<
5591 std::shared_ptr<ILangStringTextType>
5592 >
5593 >& description() const override;
5594
5595 common::optional<
5596 std::vector<
5597 std::shared_ptr<ILangStringTextType>
5598 >
5599 >& mutable_description() override;
5600
5601 void set_description(
5602 common::optional<
5603 std::vector<
5604 std::shared_ptr<ILangStringTextType>
5605 >
5606 > value
5607 ) override;
5608
5609 // endregion
5610
5611 // region Get and set semantic_id_
5612
5613 const common::optional<
5614 std::shared_ptr<IReference>
5615 >& semantic_id() const override;
5616
5617 common::optional<
5618 std::shared_ptr<IReference>
5619 >& mutable_semantic_id() override;
5620
5621 void set_semantic_id(
5622 common::optional<
5623 std::shared_ptr<IReference>
5624 > value
5625 ) override;
5626
5627 // endregion
5628
5629 // region Get and set supplemental_semantic_ids_
5630
5631 const common::optional<
5632 std::vector<
5633 std::shared_ptr<IReference>
5634 >
5635 >& supplemental_semantic_ids() const override;
5636
5637 common::optional<
5638 std::vector<
5639 std::shared_ptr<IReference>
5640 >
5641 >& mutable_supplemental_semantic_ids() override;
5642
5643 void set_supplemental_semantic_ids(
5644 common::optional<
5645 std::vector<
5646 std::shared_ptr<IReference>
5647 >
5648 > value
5649 ) override;
5650
5651 // endregion
5652
5653 // region Get and set qualifiers_
5654
5655 const common::optional<
5656 std::vector<
5657 std::shared_ptr<IQualifier>
5658 >
5659 >& qualifiers() const override;
5660
5661 common::optional<
5662 std::vector<
5663 std::shared_ptr<IQualifier>
5664 >
5665 >& mutable_qualifiers() override;
5666
5667 void set_qualifiers(
5668 common::optional<
5669 std::vector<
5670 std::shared_ptr<IQualifier>
5671 >
5672 > value
5673 ) override;
5674
5675 // endregion
5676
5677 // region Get and set embedded_data_specifications_
5678
5679 const common::optional<
5680 std::vector<
5681 std::shared_ptr<IEmbeddedDataSpecification>
5682 >
5683 >& embedded_data_specifications() const override;
5684
5685 common::optional<
5686 std::vector<
5687 std::shared_ptr<IEmbeddedDataSpecification>
5688 >
5689 >& mutable_embedded_data_specifications() override;
5690
5691 void set_embedded_data_specifications(
5692 common::optional<
5693 std::vector<
5694 std::shared_ptr<IEmbeddedDataSpecification>
5695 >
5696 > value
5697 ) override;
5698
5699 // endregion
5700
5701 // region Get and set value_
5702
5703 const common::optional<
5704 std::vector<
5705 std::shared_ptr<ISubmodelElement>
5706 >
5707 >& value() const override;
5708
5709 common::optional<
5710 std::vector<
5711 std::shared_ptr<ISubmodelElement>
5712 >
5713 >& mutable_value() override;
5714
5715 void set_value(
5716 common::optional<
5717 std::vector<
5718 std::shared_ptr<ISubmodelElement>
5719 >
5720 > value
5721 ) override;
5722
5723 // endregion
5724
5725 ~SubmodelElementCollection() override = default;
5726
5727 private:
5728 common::optional<
5729 std::vector<
5730 std::shared_ptr<IExtension>
5731 >
5732 > extensions_;
5733
5734 common::optional<std::wstring> category_;
5735
5736 common::optional<std::wstring> id_short_;
5737
5738 common::optional<
5739 std::vector<
5740 std::shared_ptr<ILangStringNameType>
5741 >
5742 > display_name_;
5743
5744 common::optional<
5745 std::vector<
5746 std::shared_ptr<ILangStringTextType>
5747 >
5748 > description_;
5749
5750 common::optional<
5751 std::shared_ptr<IReference>
5752 > semantic_id_;
5753
5754 common::optional<
5755 std::vector<
5756 std::shared_ptr<IReference>
5757 >
5758 > supplemental_semantic_ids_;
5759
5760 common::optional<
5761 std::vector<
5762 std::shared_ptr<IQualifier>
5763 >
5764 > qualifiers_;
5765
5766 common::optional<
5767 std::vector<
5768 std::shared_ptr<IEmbeddedDataSpecification>
5769 >
5770 > embedded_data_specifications_;
5771
5772 common::optional<
5773 std::vector<
5774 std::shared_ptr<ISubmodelElement>
5775 >
5776 > value_;
5777};
5778
5779class Property
5780 : public IProperty {
5781 public:
5782 explicit Property(
5783 DataTypeDefXsd value_type,
5784 common::optional<
5785 std::vector<
5786 std::shared_ptr<IExtension>
5787 >
5788 > extensions = common::nullopt,
5789 common::optional<std::wstring> category = common::nullopt,
5790 common::optional<std::wstring> id_short = common::nullopt,
5791 common::optional<
5792 std::vector<
5793 std::shared_ptr<ILangStringNameType>
5794 >
5795 > display_name = common::nullopt,
5796 common::optional<
5797 std::vector<
5798 std::shared_ptr<ILangStringTextType>
5799 >
5800 > description = common::nullopt,
5801 common::optional<
5802 std::shared_ptr<IReference>
5803 > semantic_id = common::nullopt,
5804 common::optional<
5805 std::vector<
5806 std::shared_ptr<IReference>
5807 >
5808 > supplemental_semantic_ids = common::nullopt,
5809 common::optional<
5810 std::vector<
5811 std::shared_ptr<IQualifier>
5812 >
5813 > qualifiers = common::nullopt,
5814 common::optional<
5815 std::vector<
5816 std::shared_ptr<IEmbeddedDataSpecification>
5817 >
5818 > embedded_data_specifications = common::nullopt,
5819 common::optional<std::wstring> value = common::nullopt,
5820 common::optional<
5821 std::shared_ptr<IReference>
5822 > value_id = common::nullopt
5823 );
5824
5825 ModelType model_type() const override;
5826
5827 // region Get and set extensions_
5828
5829 const common::optional<
5830 std::vector<
5831 std::shared_ptr<IExtension>
5832 >
5833 >& extensions() const override;
5834
5835 common::optional<
5836 std::vector<
5837 std::shared_ptr<IExtension>
5838 >
5839 >& mutable_extensions() override;
5840
5841 void set_extensions(
5842 common::optional<
5843 std::vector<
5844 std::shared_ptr<IExtension>
5845 >
5846 > value
5847 ) override;
5848
5849 // endregion
5850
5851 // region Get and set category_
5852
5853 const common::optional<std::wstring>& category() const override;
5854
5855 common::optional<std::wstring>& mutable_category() override;
5856
5857 void set_category(
5858 common::optional<std::wstring> value
5859 ) override;
5860
5861 // endregion
5862
5863 // region Get and set id_short_
5864
5865 const common::optional<std::wstring>& id_short() const override;
5866
5867 common::optional<std::wstring>& mutable_id_short() override;
5868
5869 void set_id_short(
5870 common::optional<std::wstring> value
5871 ) override;
5872
5873 // endregion
5874
5875 // region Get and set display_name_
5876
5877 const common::optional<
5878 std::vector<
5879 std::shared_ptr<ILangStringNameType>
5880 >
5881 >& display_name() const override;
5882
5883 common::optional<
5884 std::vector<
5885 std::shared_ptr<ILangStringNameType>
5886 >
5887 >& mutable_display_name() override;
5888
5889 void set_display_name(
5890 common::optional<
5891 std::vector<
5892 std::shared_ptr<ILangStringNameType>
5893 >
5894 > value
5895 ) override;
5896
5897 // endregion
5898
5899 // region Get and set description_
5900
5901 const common::optional<
5902 std::vector<
5903 std::shared_ptr<ILangStringTextType>
5904 >
5905 >& description() const override;
5906
5907 common::optional<
5908 std::vector<
5909 std::shared_ptr<ILangStringTextType>
5910 >
5911 >& mutable_description() override;
5912
5913 void set_description(
5914 common::optional<
5915 std::vector<
5916 std::shared_ptr<ILangStringTextType>
5917 >
5918 > value
5919 ) override;
5920
5921 // endregion
5922
5923 // region Get and set semantic_id_
5924
5925 const common::optional<
5926 std::shared_ptr<IReference>
5927 >& semantic_id() const override;
5928
5929 common::optional<
5930 std::shared_ptr<IReference>
5931 >& mutable_semantic_id() override;
5932
5933 void set_semantic_id(
5934 common::optional<
5935 std::shared_ptr<IReference>
5936 > value
5937 ) override;
5938
5939 // endregion
5940
5941 // region Get and set supplemental_semantic_ids_
5942
5943 const common::optional<
5944 std::vector<
5945 std::shared_ptr<IReference>
5946 >
5947 >& supplemental_semantic_ids() const override;
5948
5949 common::optional<
5950 std::vector<
5951 std::shared_ptr<IReference>
5952 >
5953 >& mutable_supplemental_semantic_ids() override;
5954
5955 void set_supplemental_semantic_ids(
5956 common::optional<
5957 std::vector<
5958 std::shared_ptr<IReference>
5959 >
5960 > value
5961 ) override;
5962
5963 // endregion
5964
5965 // region Get and set qualifiers_
5966
5967 const common::optional<
5968 std::vector<
5969 std::shared_ptr<IQualifier>
5970 >
5971 >& qualifiers() const override;
5972
5973 common::optional<
5974 std::vector<
5975 std::shared_ptr<IQualifier>
5976 >
5977 >& mutable_qualifiers() override;
5978
5979 void set_qualifiers(
5980 common::optional<
5981 std::vector<
5982 std::shared_ptr<IQualifier>
5983 >
5984 > value
5985 ) override;
5986
5987 // endregion
5988
5989 // region Get and set embedded_data_specifications_
5990
5991 const common::optional<
5992 std::vector<
5993 std::shared_ptr<IEmbeddedDataSpecification>
5994 >
5995 >& embedded_data_specifications() const override;
5996
5997 common::optional<
5998 std::vector<
5999 std::shared_ptr<IEmbeddedDataSpecification>
6000 >
6001 >& mutable_embedded_data_specifications() override;
6002
6003 void set_embedded_data_specifications(
6004 common::optional<
6005 std::vector<
6006 std::shared_ptr<IEmbeddedDataSpecification>
6007 >
6008 > value
6009 ) override;
6010
6011 // endregion
6012
6013 // region Get and set value_type_
6014
6015 DataTypeDefXsd value_type() const override;
6016
6017 DataTypeDefXsd& mutable_value_type() override;
6018
6019 void set_value_type(
6020 DataTypeDefXsd value
6021 ) override;
6022
6023 // endregion
6024
6025 // region Get and set value_
6026
6027 const common::optional<std::wstring>& value() const override;
6028
6029 common::optional<std::wstring>& mutable_value() override;
6030
6031 void set_value(
6032 common::optional<std::wstring> value
6033 ) override;
6034
6035 // endregion
6036
6037 // region Get and set value_id_
6038
6039 const common::optional<
6040 std::shared_ptr<IReference>
6041 >& value_id() const override;
6042
6043 common::optional<
6044 std::shared_ptr<IReference>
6045 >& mutable_value_id() override;
6046
6047 void set_value_id(
6048 common::optional<
6049 std::shared_ptr<IReference>
6050 > value
6051 ) override;
6052
6053 // endregion
6054
6055 std::wstring CategoryOrDefault() const override;
6056
6057 ~Property() override = default;
6058
6059 private:
6060 common::optional<
6061 std::vector<
6062 std::shared_ptr<IExtension>
6063 >
6064 > extensions_;
6065
6066 common::optional<std::wstring> category_;
6067
6068 common::optional<std::wstring> id_short_;
6069
6070 common::optional<
6071 std::vector<
6072 std::shared_ptr<ILangStringNameType>
6073 >
6074 > display_name_;
6075
6076 common::optional<
6077 std::vector<
6078 std::shared_ptr<ILangStringTextType>
6079 >
6080 > description_;
6081
6082 common::optional<
6083 std::shared_ptr<IReference>
6084 > semantic_id_;
6085
6086 common::optional<
6087 std::vector<
6088 std::shared_ptr<IReference>
6089 >
6090 > supplemental_semantic_ids_;
6091
6092 common::optional<
6093 std::vector<
6094 std::shared_ptr<IQualifier>
6095 >
6096 > qualifiers_;
6097
6098 common::optional<
6099 std::vector<
6100 std::shared_ptr<IEmbeddedDataSpecification>
6101 >
6102 > embedded_data_specifications_;
6103
6104 DataTypeDefXsd value_type_;
6105
6106 common::optional<std::wstring> value_;
6107
6108 common::optional<
6109 std::shared_ptr<IReference>
6110 > value_id_;
6111};
6112
6113class MultiLanguageProperty
6114 : public IMultiLanguageProperty {
6115 public:
6116 MultiLanguageProperty(
6117 common::optional<
6118 std::vector<
6119 std::shared_ptr<IExtension>
6120 >
6121 > extensions = common::nullopt,
6122 common::optional<std::wstring> category = common::nullopt,
6123 common::optional<std::wstring> id_short = common::nullopt,
6124 common::optional<
6125 std::vector<
6126 std::shared_ptr<ILangStringNameType>
6127 >
6128 > display_name = common::nullopt,
6129 common::optional<
6130 std::vector<
6131 std::shared_ptr<ILangStringTextType>
6132 >
6133 > description = common::nullopt,
6134 common::optional<
6135 std::shared_ptr<IReference>
6136 > semantic_id = common::nullopt,
6137 common::optional<
6138 std::vector<
6139 std::shared_ptr<IReference>
6140 >
6141 > supplemental_semantic_ids = common::nullopt,
6142 common::optional<
6143 std::vector<
6144 std::shared_ptr<IQualifier>
6145 >
6146 > qualifiers = common::nullopt,
6147 common::optional<
6148 std::vector<
6149 std::shared_ptr<IEmbeddedDataSpecification>
6150 >
6151 > embedded_data_specifications = common::nullopt,
6152 common::optional<
6153 std::vector<
6154 std::shared_ptr<ILangStringTextType>
6155 >
6156 > value = common::nullopt,
6157 common::optional<
6158 std::shared_ptr<IReference>
6159 > value_id = common::nullopt
6160 );
6161
6162 ModelType model_type() const override;
6163
6164 // region Get and set extensions_
6165
6166 const common::optional<
6167 std::vector<
6168 std::shared_ptr<IExtension>
6169 >
6170 >& extensions() const override;
6171
6172 common::optional<
6173 std::vector<
6174 std::shared_ptr<IExtension>
6175 >
6176 >& mutable_extensions() override;
6177
6178 void set_extensions(
6179 common::optional<
6180 std::vector<
6181 std::shared_ptr<IExtension>
6182 >
6183 > value
6184 ) override;
6185
6186 // endregion
6187
6188 // region Get and set category_
6189
6190 const common::optional<std::wstring>& category() const override;
6191
6192 common::optional<std::wstring>& mutable_category() override;
6193
6194 void set_category(
6195 common::optional<std::wstring> value
6196 ) override;
6197
6198 // endregion
6199
6200 // region Get and set id_short_
6201
6202 const common::optional<std::wstring>& id_short() const override;
6203
6204 common::optional<std::wstring>& mutable_id_short() override;
6205
6206 void set_id_short(
6207 common::optional<std::wstring> value
6208 ) override;
6209
6210 // endregion
6211
6212 // region Get and set display_name_
6213
6214 const common::optional<
6215 std::vector<
6216 std::shared_ptr<ILangStringNameType>
6217 >
6218 >& display_name() const override;
6219
6220 common::optional<
6221 std::vector<
6222 std::shared_ptr<ILangStringNameType>
6223 >
6224 >& mutable_display_name() override;
6225
6226 void set_display_name(
6227 common::optional<
6228 std::vector<
6229 std::shared_ptr<ILangStringNameType>
6230 >
6231 > value
6232 ) override;
6233
6234 // endregion
6235
6236 // region Get and set description_
6237
6238 const common::optional<
6239 std::vector<
6240 std::shared_ptr<ILangStringTextType>
6241 >
6242 >& description() const override;
6243
6244 common::optional<
6245 std::vector<
6246 std::shared_ptr<ILangStringTextType>
6247 >
6248 >& mutable_description() override;
6249
6250 void set_description(
6251 common::optional<
6252 std::vector<
6253 std::shared_ptr<ILangStringTextType>
6254 >
6255 > value
6256 ) override;
6257
6258 // endregion
6259
6260 // region Get and set semantic_id_
6261
6262 const common::optional<
6263 std::shared_ptr<IReference>
6264 >& semantic_id() const override;
6265
6266 common::optional<
6267 std::shared_ptr<IReference>
6268 >& mutable_semantic_id() override;
6269
6270 void set_semantic_id(
6271 common::optional<
6272 std::shared_ptr<IReference>
6273 > value
6274 ) override;
6275
6276 // endregion
6277
6278 // region Get and set supplemental_semantic_ids_
6279
6280 const common::optional<
6281 std::vector<
6282 std::shared_ptr<IReference>
6283 >
6284 >& supplemental_semantic_ids() const override;
6285
6286 common::optional<
6287 std::vector<
6288 std::shared_ptr<IReference>
6289 >
6290 >& mutable_supplemental_semantic_ids() override;
6291
6292 void set_supplemental_semantic_ids(
6293 common::optional<
6294 std::vector<
6295 std::shared_ptr<IReference>
6296 >
6297 > value
6298 ) override;
6299
6300 // endregion
6301
6302 // region Get and set qualifiers_
6303
6304 const common::optional<
6305 std::vector<
6306 std::shared_ptr<IQualifier>
6307 >
6308 >& qualifiers() const override;
6309
6310 common::optional<
6311 std::vector<
6312 std::shared_ptr<IQualifier>
6313 >
6314 >& mutable_qualifiers() override;
6315
6316 void set_qualifiers(
6317 common::optional<
6318 std::vector<
6319 std::shared_ptr<IQualifier>
6320 >
6321 > value
6322 ) override;
6323
6324 // endregion
6325
6326 // region Get and set embedded_data_specifications_
6327
6328 const common::optional<
6329 std::vector<
6330 std::shared_ptr<IEmbeddedDataSpecification>
6331 >
6332 >& embedded_data_specifications() const override;
6333
6334 common::optional<
6335 std::vector<
6336 std::shared_ptr<IEmbeddedDataSpecification>
6337 >
6338 >& mutable_embedded_data_specifications() override;
6339
6340 void set_embedded_data_specifications(
6341 common::optional<
6342 std::vector<
6343 std::shared_ptr<IEmbeddedDataSpecification>
6344 >
6345 > value
6346 ) override;
6347
6348 // endregion
6349
6350 // region Get and set value_
6351
6352 const common::optional<
6353 std::vector<
6354 std::shared_ptr<ILangStringTextType>
6355 >
6356 >& value() const override;
6357
6358 common::optional<
6359 std::vector<
6360 std::shared_ptr<ILangStringTextType>
6361 >
6362 >& mutable_value() override;
6363
6364 void set_value(
6365 common::optional<
6366 std::vector<
6367 std::shared_ptr<ILangStringTextType>
6368 >
6369 > value
6370 ) override;
6371
6372 // endregion
6373
6374 // region Get and set value_id_
6375
6376 const common::optional<
6377 std::shared_ptr<IReference>
6378 >& value_id() const override;
6379
6380 common::optional<
6381 std::shared_ptr<IReference>
6382 >& mutable_value_id() override;
6383
6384 void set_value_id(
6385 common::optional<
6386 std::shared_ptr<IReference>
6387 > value
6388 ) override;
6389
6390 // endregion
6391
6392 std::wstring CategoryOrDefault() const override;
6393
6394 ~MultiLanguageProperty() override = default;
6395
6396 private:
6397 common::optional<
6398 std::vector<
6399 std::shared_ptr<IExtension>
6400 >
6401 > extensions_;
6402
6403 common::optional<std::wstring> category_;
6404
6405 common::optional<std::wstring> id_short_;
6406
6407 common::optional<
6408 std::vector<
6409 std::shared_ptr<ILangStringNameType>
6410 >
6411 > display_name_;
6412
6413 common::optional<
6414 std::vector<
6415 std::shared_ptr<ILangStringTextType>
6416 >
6417 > description_;
6418
6419 common::optional<
6420 std::shared_ptr<IReference>
6421 > semantic_id_;
6422
6423 common::optional<
6424 std::vector<
6425 std::shared_ptr<IReference>
6426 >
6427 > supplemental_semantic_ids_;
6428
6429 common::optional<
6430 std::vector<
6431 std::shared_ptr<IQualifier>
6432 >
6433 > qualifiers_;
6434
6435 common::optional<
6436 std::vector<
6437 std::shared_ptr<IEmbeddedDataSpecification>
6438 >
6439 > embedded_data_specifications_;
6440
6441 common::optional<
6442 std::vector<
6443 std::shared_ptr<ILangStringTextType>
6444 >
6445 > value_;
6446
6447 common::optional<
6448 std::shared_ptr<IReference>
6449 > value_id_;
6450};
6451
6452class Range
6453 : public IRange {
6454 public:
6455 explicit Range(
6456 DataTypeDefXsd value_type,
6457 common::optional<
6458 std::vector<
6459 std::shared_ptr<IExtension>
6460 >
6461 > extensions = common::nullopt,
6462 common::optional<std::wstring> category = common::nullopt,
6463 common::optional<std::wstring> id_short = common::nullopt,
6464 common::optional<
6465 std::vector<
6466 std::shared_ptr<ILangStringNameType>
6467 >
6468 > display_name = common::nullopt,
6469 common::optional<
6470 std::vector<
6471 std::shared_ptr<ILangStringTextType>
6472 >
6473 > description = common::nullopt,
6474 common::optional<
6475 std::shared_ptr<IReference>
6476 > semantic_id = common::nullopt,
6477 common::optional<
6478 std::vector<
6479 std::shared_ptr<IReference>
6480 >
6481 > supplemental_semantic_ids = common::nullopt,
6482 common::optional<
6483 std::vector<
6484 std::shared_ptr<IQualifier>
6485 >
6486 > qualifiers = common::nullopt,
6487 common::optional<
6488 std::vector<
6489 std::shared_ptr<IEmbeddedDataSpecification>
6490 >
6491 > embedded_data_specifications = common::nullopt,
6492 common::optional<std::wstring> min = common::nullopt,
6493 common::optional<std::wstring> max = common::nullopt
6494 );
6495
6496 ModelType model_type() const override;
6497
6498 // region Get and set extensions_
6499
6500 const common::optional<
6501 std::vector<
6502 std::shared_ptr<IExtension>
6503 >
6504 >& extensions() const override;
6505
6506 common::optional<
6507 std::vector<
6508 std::shared_ptr<IExtension>
6509 >
6510 >& mutable_extensions() override;
6511
6512 void set_extensions(
6513 common::optional<
6514 std::vector<
6515 std::shared_ptr<IExtension>
6516 >
6517 > value
6518 ) override;
6519
6520 // endregion
6521
6522 // region Get and set category_
6523
6524 const common::optional<std::wstring>& category() const override;
6525
6526 common::optional<std::wstring>& mutable_category() override;
6527
6528 void set_category(
6529 common::optional<std::wstring> value
6530 ) override;
6531
6532 // endregion
6533
6534 // region Get and set id_short_
6535
6536 const common::optional<std::wstring>& id_short() const override;
6537
6538 common::optional<std::wstring>& mutable_id_short() override;
6539
6540 void set_id_short(
6541 common::optional<std::wstring> value
6542 ) override;
6543
6544 // endregion
6545
6546 // region Get and set display_name_
6547
6548 const common::optional<
6549 std::vector<
6550 std::shared_ptr<ILangStringNameType>
6551 >
6552 >& display_name() const override;
6553
6554 common::optional<
6555 std::vector<
6556 std::shared_ptr<ILangStringNameType>
6557 >
6558 >& mutable_display_name() override;
6559
6560 void set_display_name(
6561 common::optional<
6562 std::vector<
6563 std::shared_ptr<ILangStringNameType>
6564 >
6565 > value
6566 ) override;
6567
6568 // endregion
6569
6570 // region Get and set description_
6571
6572 const common::optional<
6573 std::vector<
6574 std::shared_ptr<ILangStringTextType>
6575 >
6576 >& description() const override;
6577
6578 common::optional<
6579 std::vector<
6580 std::shared_ptr<ILangStringTextType>
6581 >
6582 >& mutable_description() override;
6583
6584 void set_description(
6585 common::optional<
6586 std::vector<
6587 std::shared_ptr<ILangStringTextType>
6588 >
6589 > value
6590 ) override;
6591
6592 // endregion
6593
6594 // region Get and set semantic_id_
6595
6596 const common::optional<
6597 std::shared_ptr<IReference>
6598 >& semantic_id() const override;
6599
6600 common::optional<
6601 std::shared_ptr<IReference>
6602 >& mutable_semantic_id() override;
6603
6604 void set_semantic_id(
6605 common::optional<
6606 std::shared_ptr<IReference>
6607 > value
6608 ) override;
6609
6610 // endregion
6611
6612 // region Get and set supplemental_semantic_ids_
6613
6614 const common::optional<
6615 std::vector<
6616 std::shared_ptr<IReference>
6617 >
6618 >& supplemental_semantic_ids() const override;
6619
6620 common::optional<
6621 std::vector<
6622 std::shared_ptr<IReference>
6623 >
6624 >& mutable_supplemental_semantic_ids() override;
6625
6626 void set_supplemental_semantic_ids(
6627 common::optional<
6628 std::vector<
6629 std::shared_ptr<IReference>
6630 >
6631 > value
6632 ) override;
6633
6634 // endregion
6635
6636 // region Get and set qualifiers_
6637
6638 const common::optional<
6639 std::vector<
6640 std::shared_ptr<IQualifier>
6641 >
6642 >& qualifiers() const override;
6643
6644 common::optional<
6645 std::vector<
6646 std::shared_ptr<IQualifier>
6647 >
6648 >& mutable_qualifiers() override;
6649
6650 void set_qualifiers(
6651 common::optional<
6652 std::vector<
6653 std::shared_ptr<IQualifier>
6654 >
6655 > value
6656 ) override;
6657
6658 // endregion
6659
6660 // region Get and set embedded_data_specifications_
6661
6662 const common::optional<
6663 std::vector<
6664 std::shared_ptr<IEmbeddedDataSpecification>
6665 >
6666 >& embedded_data_specifications() const override;
6667
6668 common::optional<
6669 std::vector<
6670 std::shared_ptr<IEmbeddedDataSpecification>
6671 >
6672 >& mutable_embedded_data_specifications() override;
6673
6674 void set_embedded_data_specifications(
6675 common::optional<
6676 std::vector<
6677 std::shared_ptr<IEmbeddedDataSpecification>
6678 >
6679 > value
6680 ) override;
6681
6682 // endregion
6683
6684 // region Get and set value_type_
6685
6686 DataTypeDefXsd value_type() const override;
6687
6688 DataTypeDefXsd& mutable_value_type() override;
6689
6690 void set_value_type(
6691 DataTypeDefXsd value
6692 ) override;
6693
6694 // endregion
6695
6696 // region Get and set min_
6697
6698 const common::optional<std::wstring>& min() const override;
6699
6700 common::optional<std::wstring>& mutable_min() override;
6701
6702 void set_min(
6703 common::optional<std::wstring> value
6704 ) override;
6705
6706 // endregion
6707
6708 // region Get and set max_
6709
6710 const common::optional<std::wstring>& max() const override;
6711
6712 common::optional<std::wstring>& mutable_max() override;
6713
6714 void set_max(
6715 common::optional<std::wstring> value
6716 ) override;
6717
6718 // endregion
6719
6720 std::wstring CategoryOrDefault() const override;
6721
6722 ~Range() override = default;
6723
6724 private:
6725 common::optional<
6726 std::vector<
6727 std::shared_ptr<IExtension>
6728 >
6729 > extensions_;
6730
6731 common::optional<std::wstring> category_;
6732
6733 common::optional<std::wstring> id_short_;
6734
6735 common::optional<
6736 std::vector<
6737 std::shared_ptr<ILangStringNameType>
6738 >
6739 > display_name_;
6740
6741 common::optional<
6742 std::vector<
6743 std::shared_ptr<ILangStringTextType>
6744 >
6745 > description_;
6746
6747 common::optional<
6748 std::shared_ptr<IReference>
6749 > semantic_id_;
6750
6751 common::optional<
6752 std::vector<
6753 std::shared_ptr<IReference>
6754 >
6755 > supplemental_semantic_ids_;
6756
6757 common::optional<
6758 std::vector<
6759 std::shared_ptr<IQualifier>
6760 >
6761 > qualifiers_;
6762
6763 common::optional<
6764 std::vector<
6765 std::shared_ptr<IEmbeddedDataSpecification>
6766 >
6767 > embedded_data_specifications_;
6768
6769 DataTypeDefXsd value_type_;
6770
6771 common::optional<std::wstring> min_;
6772
6773 common::optional<std::wstring> max_;
6774};
6775
6776class ReferenceElement
6777 : public IReferenceElement {
6778 public:
6779 ReferenceElement(
6780 common::optional<
6781 std::vector<
6782 std::shared_ptr<IExtension>
6783 >
6784 > extensions = common::nullopt,
6785 common::optional<std::wstring> category = common::nullopt,
6786 common::optional<std::wstring> id_short = common::nullopt,
6787 common::optional<
6788 std::vector<
6789 std::shared_ptr<ILangStringNameType>
6790 >
6791 > display_name = common::nullopt,
6792 common::optional<
6793 std::vector<
6794 std::shared_ptr<ILangStringTextType>
6795 >
6796 > description = common::nullopt,
6797 common::optional<
6798 std::shared_ptr<IReference>
6799 > semantic_id = common::nullopt,
6800 common::optional<
6801 std::vector<
6802 std::shared_ptr<IReference>
6803 >
6804 > supplemental_semantic_ids = common::nullopt,
6805 common::optional<
6806 std::vector<
6807 std::shared_ptr<IQualifier>
6808 >
6809 > qualifiers = common::nullopt,
6810 common::optional<
6811 std::vector<
6812 std::shared_ptr<IEmbeddedDataSpecification>
6813 >
6814 > embedded_data_specifications = common::nullopt,
6815 common::optional<
6816 std::shared_ptr<IReference>
6817 > value = common::nullopt
6818 );
6819
6820 ModelType model_type() const override;
6821
6822 // region Get and set extensions_
6823
6824 const common::optional<
6825 std::vector<
6826 std::shared_ptr<IExtension>
6827 >
6828 >& extensions() const override;
6829
6830 common::optional<
6831 std::vector<
6832 std::shared_ptr<IExtension>
6833 >
6834 >& mutable_extensions() override;
6835
6836 void set_extensions(
6837 common::optional<
6838 std::vector<
6839 std::shared_ptr<IExtension>
6840 >
6841 > value
6842 ) override;
6843
6844 // endregion
6845
6846 // region Get and set category_
6847
6848 const common::optional<std::wstring>& category() const override;
6849
6850 common::optional<std::wstring>& mutable_category() override;
6851
6852 void set_category(
6853 common::optional<std::wstring> value
6854 ) override;
6855
6856 // endregion
6857
6858 // region Get and set id_short_
6859
6860 const common::optional<std::wstring>& id_short() const override;
6861
6862 common::optional<std::wstring>& mutable_id_short() override;
6863
6864 void set_id_short(
6865 common::optional<std::wstring> value
6866 ) override;
6867
6868 // endregion
6869
6870 // region Get and set display_name_
6871
6872 const common::optional<
6873 std::vector<
6874 std::shared_ptr<ILangStringNameType>
6875 >
6876 >& display_name() const override;
6877
6878 common::optional<
6879 std::vector<
6880 std::shared_ptr<ILangStringNameType>
6881 >
6882 >& mutable_display_name() override;
6883
6884 void set_display_name(
6885 common::optional<
6886 std::vector<
6887 std::shared_ptr<ILangStringNameType>
6888 >
6889 > value
6890 ) override;
6891
6892 // endregion
6893
6894 // region Get and set description_
6895
6896 const common::optional<
6897 std::vector<
6898 std::shared_ptr<ILangStringTextType>
6899 >
6900 >& description() const override;
6901
6902 common::optional<
6903 std::vector<
6904 std::shared_ptr<ILangStringTextType>
6905 >
6906 >& mutable_description() override;
6907
6908 void set_description(
6909 common::optional<
6910 std::vector<
6911 std::shared_ptr<ILangStringTextType>
6912 >
6913 > value
6914 ) override;
6915
6916 // endregion
6917
6918 // region Get and set semantic_id_
6919
6920 const common::optional<
6921 std::shared_ptr<IReference>
6922 >& semantic_id() const override;
6923
6924 common::optional<
6925 std::shared_ptr<IReference>
6926 >& mutable_semantic_id() override;
6927
6928 void set_semantic_id(
6929 common::optional<
6930 std::shared_ptr<IReference>
6931 > value
6932 ) override;
6933
6934 // endregion
6935
6936 // region Get and set supplemental_semantic_ids_
6937
6938 const common::optional<
6939 std::vector<
6940 std::shared_ptr<IReference>
6941 >
6942 >& supplemental_semantic_ids() const override;
6943
6944 common::optional<
6945 std::vector<
6946 std::shared_ptr<IReference>
6947 >
6948 >& mutable_supplemental_semantic_ids() override;
6949
6950 void set_supplemental_semantic_ids(
6951 common::optional<
6952 std::vector<
6953 std::shared_ptr<IReference>
6954 >
6955 > value
6956 ) override;
6957
6958 // endregion
6959
6960 // region Get and set qualifiers_
6961
6962 const common::optional<
6963 std::vector<
6964 std::shared_ptr<IQualifier>
6965 >
6966 >& qualifiers() const override;
6967
6968 common::optional<
6969 std::vector<
6970 std::shared_ptr<IQualifier>
6971 >
6972 >& mutable_qualifiers() override;
6973
6974 void set_qualifiers(
6975 common::optional<
6976 std::vector<
6977 std::shared_ptr<IQualifier>
6978 >
6979 > value
6980 ) override;
6981
6982 // endregion
6983
6984 // region Get and set embedded_data_specifications_
6985
6986 const common::optional<
6987 std::vector<
6988 std::shared_ptr<IEmbeddedDataSpecification>
6989 >
6990 >& embedded_data_specifications() const override;
6991
6992 common::optional<
6993 std::vector<
6994 std::shared_ptr<IEmbeddedDataSpecification>
6995 >
6996 >& mutable_embedded_data_specifications() override;
6997
6998 void set_embedded_data_specifications(
6999 common::optional<
7000 std::vector<
7001 std::shared_ptr<IEmbeddedDataSpecification>
7002 >
7003 > value
7004 ) override;
7005
7006 // endregion
7007
7008 // region Get and set value_
7009
7010 const common::optional<
7011 std::shared_ptr<IReference>
7012 >& value() const override;
7013
7014 common::optional<
7015 std::shared_ptr<IReference>
7016 >& mutable_value() override;
7017
7018 void set_value(
7019 common::optional<
7020 std::shared_ptr<IReference>
7021 > value
7022 ) override;
7023
7024 // endregion
7025
7026 std::wstring CategoryOrDefault() const override;
7027
7028 ~ReferenceElement() override = default;
7029
7030 private:
7031 common::optional<
7032 std::vector<
7033 std::shared_ptr<IExtension>
7034 >
7035 > extensions_;
7036
7037 common::optional<std::wstring> category_;
7038
7039 common::optional<std::wstring> id_short_;
7040
7041 common::optional<
7042 std::vector<
7043 std::shared_ptr<ILangStringNameType>
7044 >
7045 > display_name_;
7046
7047 common::optional<
7048 std::vector<
7049 std::shared_ptr<ILangStringTextType>
7050 >
7051 > description_;
7052
7053 common::optional<
7054 std::shared_ptr<IReference>
7055 > semantic_id_;
7056
7057 common::optional<
7058 std::vector<
7059 std::shared_ptr<IReference>
7060 >
7061 > supplemental_semantic_ids_;
7062
7063 common::optional<
7064 std::vector<
7065 std::shared_ptr<IQualifier>
7066 >
7067 > qualifiers_;
7068
7069 common::optional<
7070 std::vector<
7071 std::shared_ptr<IEmbeddedDataSpecification>
7072 >
7073 > embedded_data_specifications_;
7074
7075 common::optional<
7076 std::shared_ptr<IReference>
7077 > value_;
7078};
7079
7080class Blob
7081 : public IBlob {
7082 public:
7083 explicit Blob(
7084 std::wstring content_type,
7085 common::optional<
7086 std::vector<
7087 std::shared_ptr<IExtension>
7088 >
7089 > extensions = common::nullopt,
7090 common::optional<std::wstring> category = common::nullopt,
7091 common::optional<std::wstring> id_short = common::nullopt,
7092 common::optional<
7093 std::vector<
7094 std::shared_ptr<ILangStringNameType>
7095 >
7096 > display_name = common::nullopt,
7097 common::optional<
7098 std::vector<
7099 std::shared_ptr<ILangStringTextType>
7100 >
7101 > description = common::nullopt,
7102 common::optional<
7103 std::shared_ptr<IReference>
7104 > semantic_id = common::nullopt,
7105 common::optional<
7106 std::vector<
7107 std::shared_ptr<IReference>
7108 >
7109 > supplemental_semantic_ids = common::nullopt,
7110 common::optional<
7111 std::vector<
7112 std::shared_ptr<IQualifier>
7113 >
7114 > qualifiers = common::nullopt,
7115 common::optional<
7116 std::vector<
7117 std::shared_ptr<IEmbeddedDataSpecification>
7118 >
7119 > embedded_data_specifications = common::nullopt,
7120 common::optional<
7121 std::vector<std::uint8_t>
7122 > value = common::nullopt
7123 );
7124
7125 ModelType model_type() const override;
7126
7127 // region Get and set extensions_
7128
7129 const common::optional<
7130 std::vector<
7131 std::shared_ptr<IExtension>
7132 >
7133 >& extensions() const override;
7134
7135 common::optional<
7136 std::vector<
7137 std::shared_ptr<IExtension>
7138 >
7139 >& mutable_extensions() override;
7140
7141 void set_extensions(
7142 common::optional<
7143 std::vector<
7144 std::shared_ptr<IExtension>
7145 >
7146 > value
7147 ) override;
7148
7149 // endregion
7150
7151 // region Get and set category_
7152
7153 const common::optional<std::wstring>& category() const override;
7154
7155 common::optional<std::wstring>& mutable_category() override;
7156
7157 void set_category(
7158 common::optional<std::wstring> value
7159 ) override;
7160
7161 // endregion
7162
7163 // region Get and set id_short_
7164
7165 const common::optional<std::wstring>& id_short() const override;
7166
7167 common::optional<std::wstring>& mutable_id_short() override;
7168
7169 void set_id_short(
7170 common::optional<std::wstring> value
7171 ) override;
7172
7173 // endregion
7174
7175 // region Get and set display_name_
7176
7177 const common::optional<
7178 std::vector<
7179 std::shared_ptr<ILangStringNameType>
7180 >
7181 >& display_name() const override;
7182
7183 common::optional<
7184 std::vector<
7185 std::shared_ptr<ILangStringNameType>
7186 >
7187 >& mutable_display_name() override;
7188
7189 void set_display_name(
7190 common::optional<
7191 std::vector<
7192 std::shared_ptr<ILangStringNameType>
7193 >
7194 > value
7195 ) override;
7196
7197 // endregion
7198
7199 // region Get and set description_
7200
7201 const common::optional<
7202 std::vector<
7203 std::shared_ptr<ILangStringTextType>
7204 >
7205 >& description() const override;
7206
7207 common::optional<
7208 std::vector<
7209 std::shared_ptr<ILangStringTextType>
7210 >
7211 >& mutable_description() override;
7212
7213 void set_description(
7214 common::optional<
7215 std::vector<
7216 std::shared_ptr<ILangStringTextType>
7217 >
7218 > value
7219 ) override;
7220
7221 // endregion
7222
7223 // region Get and set semantic_id_
7224
7225 const common::optional<
7226 std::shared_ptr<IReference>
7227 >& semantic_id() const override;
7228
7229 common::optional<
7230 std::shared_ptr<IReference>
7231 >& mutable_semantic_id() override;
7232
7233 void set_semantic_id(
7234 common::optional<
7235 std::shared_ptr<IReference>
7236 > value
7237 ) override;
7238
7239 // endregion
7240
7241 // region Get and set supplemental_semantic_ids_
7242
7243 const common::optional<
7244 std::vector<
7245 std::shared_ptr<IReference>
7246 >
7247 >& supplemental_semantic_ids() const override;
7248
7249 common::optional<
7250 std::vector<
7251 std::shared_ptr<IReference>
7252 >
7253 >& mutable_supplemental_semantic_ids() override;
7254
7255 void set_supplemental_semantic_ids(
7256 common::optional<
7257 std::vector<
7258 std::shared_ptr<IReference>
7259 >
7260 > value
7261 ) override;
7262
7263 // endregion
7264
7265 // region Get and set qualifiers_
7266
7267 const common::optional<
7268 std::vector<
7269 std::shared_ptr<IQualifier>
7270 >
7271 >& qualifiers() const override;
7272
7273 common::optional<
7274 std::vector<
7275 std::shared_ptr<IQualifier>
7276 >
7277 >& mutable_qualifiers() override;
7278
7279 void set_qualifiers(
7280 common::optional<
7281 std::vector<
7282 std::shared_ptr<IQualifier>
7283 >
7284 > value
7285 ) override;
7286
7287 // endregion
7288
7289 // region Get and set embedded_data_specifications_
7290
7291 const common::optional<
7292 std::vector<
7293 std::shared_ptr<IEmbeddedDataSpecification>
7294 >
7295 >& embedded_data_specifications() const override;
7296
7297 common::optional<
7298 std::vector<
7299 std::shared_ptr<IEmbeddedDataSpecification>
7300 >
7301 >& mutable_embedded_data_specifications() override;
7302
7303 void set_embedded_data_specifications(
7304 common::optional<
7305 std::vector<
7306 std::shared_ptr<IEmbeddedDataSpecification>
7307 >
7308 > value
7309 ) override;
7310
7311 // endregion
7312
7313 // region Get and set value_
7314
7315 const common::optional<
7316 std::vector<std::uint8_t>
7317 >& value() const override;
7318
7319 common::optional<
7320 std::vector<std::uint8_t>
7321 >& mutable_value() override;
7322
7323 void set_value(
7324 common::optional<
7325 std::vector<std::uint8_t>
7326 > value
7327 ) override;
7328
7329 // endregion
7330
7331 // region Get and set content_type_
7332
7333 const std::wstring& content_type() const override;
7334
7335 std::wstring& mutable_content_type() override;
7336
7337 void set_content_type(
7338 std::wstring value
7339 ) override;
7340
7341 // endregion
7342
7343 std::wstring CategoryOrDefault() const override;
7344
7345 ~Blob() override = default;
7346
7347 private:
7348 common::optional<
7349 std::vector<
7350 std::shared_ptr<IExtension>
7351 >
7352 > extensions_;
7353
7354 common::optional<std::wstring> category_;
7355
7356 common::optional<std::wstring> id_short_;
7357
7358 common::optional<
7359 std::vector<
7360 std::shared_ptr<ILangStringNameType>
7361 >
7362 > display_name_;
7363
7364 common::optional<
7365 std::vector<
7366 std::shared_ptr<ILangStringTextType>
7367 >
7368 > description_;
7369
7370 common::optional<
7371 std::shared_ptr<IReference>
7372 > semantic_id_;
7373
7374 common::optional<
7375 std::vector<
7376 std::shared_ptr<IReference>
7377 >
7378 > supplemental_semantic_ids_;
7379
7380 common::optional<
7381 std::vector<
7382 std::shared_ptr<IQualifier>
7383 >
7384 > qualifiers_;
7385
7386 common::optional<
7387 std::vector<
7388 std::shared_ptr<IEmbeddedDataSpecification>
7389 >
7390 > embedded_data_specifications_;
7391
7392 common::optional<
7393 std::vector<std::uint8_t>
7394 > value_;
7395
7396 std::wstring content_type_;
7397};
7398
7399class File
7400 : public IFile {
7401 public:
7402 explicit File(
7403 std::wstring content_type,
7404 common::optional<
7405 std::vector<
7406 std::shared_ptr<IExtension>
7407 >
7408 > extensions = common::nullopt,
7409 common::optional<std::wstring> category = common::nullopt,
7410 common::optional<std::wstring> id_short = common::nullopt,
7411 common::optional<
7412 std::vector<
7413 std::shared_ptr<ILangStringNameType>
7414 >
7415 > display_name = common::nullopt,
7416 common::optional<
7417 std::vector<
7418 std::shared_ptr<ILangStringTextType>
7419 >
7420 > description = common::nullopt,
7421 common::optional<
7422 std::shared_ptr<IReference>
7423 > semantic_id = common::nullopt,
7424 common::optional<
7425 std::vector<
7426 std::shared_ptr<IReference>
7427 >
7428 > supplemental_semantic_ids = common::nullopt,
7429 common::optional<
7430 std::vector<
7431 std::shared_ptr<IQualifier>
7432 >
7433 > qualifiers = common::nullopt,
7434 common::optional<
7435 std::vector<
7436 std::shared_ptr<IEmbeddedDataSpecification>
7437 >
7438 > embedded_data_specifications = common::nullopt,
7439 common::optional<std::wstring> value = common::nullopt
7440 );
7441
7442 ModelType model_type() const override;
7443
7444 // region Get and set extensions_
7445
7446 const common::optional<
7447 std::vector<
7448 std::shared_ptr<IExtension>
7449 >
7450 >& extensions() const override;
7451
7452 common::optional<
7453 std::vector<
7454 std::shared_ptr<IExtension>
7455 >
7456 >& mutable_extensions() override;
7457
7458 void set_extensions(
7459 common::optional<
7460 std::vector<
7461 std::shared_ptr<IExtension>
7462 >
7463 > value
7464 ) override;
7465
7466 // endregion
7467
7468 // region Get and set category_
7469
7470 const common::optional<std::wstring>& category() const override;
7471
7472 common::optional<std::wstring>& mutable_category() override;
7473
7474 void set_category(
7475 common::optional<std::wstring> value
7476 ) override;
7477
7478 // endregion
7479
7480 // region Get and set id_short_
7481
7482 const common::optional<std::wstring>& id_short() const override;
7483
7484 common::optional<std::wstring>& mutable_id_short() override;
7485
7486 void set_id_short(
7487 common::optional<std::wstring> value
7488 ) override;
7489
7490 // endregion
7491
7492 // region Get and set display_name_
7493
7494 const common::optional<
7495 std::vector<
7496 std::shared_ptr<ILangStringNameType>
7497 >
7498 >& display_name() const override;
7499
7500 common::optional<
7501 std::vector<
7502 std::shared_ptr<ILangStringNameType>
7503 >
7504 >& mutable_display_name() override;
7505
7506 void set_display_name(
7507 common::optional<
7508 std::vector<
7509 std::shared_ptr<ILangStringNameType>
7510 >
7511 > value
7512 ) override;
7513
7514 // endregion
7515
7516 // region Get and set description_
7517
7518 const common::optional<
7519 std::vector<
7520 std::shared_ptr<ILangStringTextType>
7521 >
7522 >& description() const override;
7523
7524 common::optional<
7525 std::vector<
7526 std::shared_ptr<ILangStringTextType>
7527 >
7528 >& mutable_description() override;
7529
7530 void set_description(
7531 common::optional<
7532 std::vector<
7533 std::shared_ptr<ILangStringTextType>
7534 >
7535 > value
7536 ) override;
7537
7538 // endregion
7539
7540 // region Get and set semantic_id_
7541
7542 const common::optional<
7543 std::shared_ptr<IReference>
7544 >& semantic_id() const override;
7545
7546 common::optional<
7547 std::shared_ptr<IReference>
7548 >& mutable_semantic_id() override;
7549
7550 void set_semantic_id(
7551 common::optional<
7552 std::shared_ptr<IReference>
7553 > value
7554 ) override;
7555
7556 // endregion
7557
7558 // region Get and set supplemental_semantic_ids_
7559
7560 const common::optional<
7561 std::vector<
7562 std::shared_ptr<IReference>
7563 >
7564 >& supplemental_semantic_ids() const override;
7565
7566 common::optional<
7567 std::vector<
7568 std::shared_ptr<IReference>
7569 >
7570 >& mutable_supplemental_semantic_ids() override;
7571
7572 void set_supplemental_semantic_ids(
7573 common::optional<
7574 std::vector<
7575 std::shared_ptr<IReference>
7576 >
7577 > value
7578 ) override;
7579
7580 // endregion
7581
7582 // region Get and set qualifiers_
7583
7584 const common::optional<
7585 std::vector<
7586 std::shared_ptr<IQualifier>
7587 >
7588 >& qualifiers() const override;
7589
7590 common::optional<
7591 std::vector<
7592 std::shared_ptr<IQualifier>
7593 >
7594 >& mutable_qualifiers() override;
7595
7596 void set_qualifiers(
7597 common::optional<
7598 std::vector<
7599 std::shared_ptr<IQualifier>
7600 >
7601 > value
7602 ) override;
7603
7604 // endregion
7605
7606 // region Get and set embedded_data_specifications_
7607
7608 const common::optional<
7609 std::vector<
7610 std::shared_ptr<IEmbeddedDataSpecification>
7611 >
7612 >& embedded_data_specifications() const override;
7613
7614 common::optional<
7615 std::vector<
7616 std::shared_ptr<IEmbeddedDataSpecification>
7617 >
7618 >& mutable_embedded_data_specifications() override;
7619
7620 void set_embedded_data_specifications(
7621 common::optional<
7622 std::vector<
7623 std::shared_ptr<IEmbeddedDataSpecification>
7624 >
7625 > value
7626 ) override;
7627
7628 // endregion
7629
7630 // region Get and set value_
7631
7632 const common::optional<std::wstring>& value() const override;
7633
7634 common::optional<std::wstring>& mutable_value() override;
7635
7636 void set_value(
7637 common::optional<std::wstring> value
7638 ) override;
7639
7640 // endregion
7641
7642 // region Get and set content_type_
7643
7644 const std::wstring& content_type() const override;
7645
7646 std::wstring& mutable_content_type() override;
7647
7648 void set_content_type(
7649 std::wstring value
7650 ) override;
7651
7652 // endregion
7653
7654 std::wstring CategoryOrDefault() const override;
7655
7656 ~File() override = default;
7657
7658 private:
7659 common::optional<
7660 std::vector<
7661 std::shared_ptr<IExtension>
7662 >
7663 > extensions_;
7664
7665 common::optional<std::wstring> category_;
7666
7667 common::optional<std::wstring> id_short_;
7668
7669 common::optional<
7670 std::vector<
7671 std::shared_ptr<ILangStringNameType>
7672 >
7673 > display_name_;
7674
7675 common::optional<
7676 std::vector<
7677 std::shared_ptr<ILangStringTextType>
7678 >
7679 > description_;
7680
7681 common::optional<
7682 std::shared_ptr<IReference>
7683 > semantic_id_;
7684
7685 common::optional<
7686 std::vector<
7687 std::shared_ptr<IReference>
7688 >
7689 > supplemental_semantic_ids_;
7690
7691 common::optional<
7692 std::vector<
7693 std::shared_ptr<IQualifier>
7694 >
7695 > qualifiers_;
7696
7697 common::optional<
7698 std::vector<
7699 std::shared_ptr<IEmbeddedDataSpecification>
7700 >
7701 > embedded_data_specifications_;
7702
7703 common::optional<std::wstring> value_;
7704
7705 std::wstring content_type_;
7706};
7707
7708class AnnotatedRelationshipElement
7710 public:
7711 AnnotatedRelationshipElement(
7712 std::shared_ptr<IReference> first,
7713 std::shared_ptr<IReference> second,
7714 common::optional<
7715 std::vector<
7716 std::shared_ptr<IExtension>
7717 >
7718 > extensions = common::nullopt,
7719 common::optional<std::wstring> category = common::nullopt,
7720 common::optional<std::wstring> id_short = common::nullopt,
7721 common::optional<
7722 std::vector<
7723 std::shared_ptr<ILangStringNameType>
7724 >
7725 > display_name = common::nullopt,
7726 common::optional<
7727 std::vector<
7728 std::shared_ptr<ILangStringTextType>
7729 >
7730 > description = common::nullopt,
7731 common::optional<
7732 std::shared_ptr<IReference>
7733 > semantic_id = common::nullopt,
7734 common::optional<
7735 std::vector<
7736 std::shared_ptr<IReference>
7737 >
7738 > supplemental_semantic_ids = common::nullopt,
7739 common::optional<
7740 std::vector<
7741 std::shared_ptr<IQualifier>
7742 >
7743 > qualifiers = common::nullopt,
7744 common::optional<
7745 std::vector<
7746 std::shared_ptr<IEmbeddedDataSpecification>
7747 >
7748 > embedded_data_specifications = common::nullopt,
7749 common::optional<
7750 std::vector<
7751 std::shared_ptr<IDataElement>
7752 >
7753 > annotations = common::nullopt
7754 );
7755
7756 ModelType model_type() const override;
7757
7758 // region Get and set extensions_
7759
7760 const common::optional<
7761 std::vector<
7762 std::shared_ptr<IExtension>
7763 >
7764 >& extensions() const override;
7765
7766 common::optional<
7767 std::vector<
7768 std::shared_ptr<IExtension>
7769 >
7770 >& mutable_extensions() override;
7771
7772 void set_extensions(
7773 common::optional<
7774 std::vector<
7775 std::shared_ptr<IExtension>
7776 >
7777 > value
7778 ) override;
7779
7780 // endregion
7781
7782 // region Get and set category_
7783
7784 const common::optional<std::wstring>& category() const override;
7785
7786 common::optional<std::wstring>& mutable_category() override;
7787
7788 void set_category(
7789 common::optional<std::wstring> value
7790 ) override;
7791
7792 // endregion
7793
7794 // region Get and set id_short_
7795
7796 const common::optional<std::wstring>& id_short() const override;
7797
7798 common::optional<std::wstring>& mutable_id_short() override;
7799
7800 void set_id_short(
7801 common::optional<std::wstring> value
7802 ) override;
7803
7804 // endregion
7805
7806 // region Get and set display_name_
7807
7808 const common::optional<
7809 std::vector<
7810 std::shared_ptr<ILangStringNameType>
7811 >
7812 >& display_name() const override;
7813
7814 common::optional<
7815 std::vector<
7816 std::shared_ptr<ILangStringNameType>
7817 >
7818 >& mutable_display_name() override;
7819
7820 void set_display_name(
7821 common::optional<
7822 std::vector<
7823 std::shared_ptr<ILangStringNameType>
7824 >
7825 > value
7826 ) override;
7827
7828 // endregion
7829
7830 // region Get and set description_
7831
7832 const common::optional<
7833 std::vector<
7834 std::shared_ptr<ILangStringTextType>
7835 >
7836 >& description() const override;
7837
7838 common::optional<
7839 std::vector<
7840 std::shared_ptr<ILangStringTextType>
7841 >
7842 >& mutable_description() override;
7843
7844 void set_description(
7845 common::optional<
7846 std::vector<
7847 std::shared_ptr<ILangStringTextType>
7848 >
7849 > value
7850 ) override;
7851
7852 // endregion
7853
7854 // region Get and set semantic_id_
7855
7856 const common::optional<
7857 std::shared_ptr<IReference>
7858 >& semantic_id() const override;
7859
7860 common::optional<
7861 std::shared_ptr<IReference>
7862 >& mutable_semantic_id() override;
7863
7864 void set_semantic_id(
7865 common::optional<
7866 std::shared_ptr<IReference>
7867 > value
7868 ) override;
7869
7870 // endregion
7871
7872 // region Get and set supplemental_semantic_ids_
7873
7874 const common::optional<
7875 std::vector<
7876 std::shared_ptr<IReference>
7877 >
7878 >& supplemental_semantic_ids() const override;
7879
7880 common::optional<
7881 std::vector<
7882 std::shared_ptr<IReference>
7883 >
7884 >& mutable_supplemental_semantic_ids() override;
7885
7886 void set_supplemental_semantic_ids(
7887 common::optional<
7888 std::vector<
7889 std::shared_ptr<IReference>
7890 >
7891 > value
7892 ) override;
7893
7894 // endregion
7895
7896 // region Get and set qualifiers_
7897
7898 const common::optional<
7899 std::vector<
7900 std::shared_ptr<IQualifier>
7901 >
7902 >& qualifiers() const override;
7903
7904 common::optional<
7905 std::vector<
7906 std::shared_ptr<IQualifier>
7907 >
7908 >& mutable_qualifiers() override;
7909
7910 void set_qualifiers(
7911 common::optional<
7912 std::vector<
7913 std::shared_ptr<IQualifier>
7914 >
7915 > value
7916 ) override;
7917
7918 // endregion
7919
7920 // region Get and set embedded_data_specifications_
7921
7922 const common::optional<
7923 std::vector<
7924 std::shared_ptr<IEmbeddedDataSpecification>
7925 >
7926 >& embedded_data_specifications() const override;
7927
7928 common::optional<
7929 std::vector<
7930 std::shared_ptr<IEmbeddedDataSpecification>
7931 >
7932 >& mutable_embedded_data_specifications() override;
7933
7934 void set_embedded_data_specifications(
7935 common::optional<
7936 std::vector<
7937 std::shared_ptr<IEmbeddedDataSpecification>
7938 >
7939 > value
7940 ) override;
7941
7942 // endregion
7943
7944 // region Get and set first_
7945
7946 const std::shared_ptr<IReference>& first() const override;
7947
7948 std::shared_ptr<IReference>& mutable_first() override;
7949
7950 void set_first(
7951 std::shared_ptr<IReference> value
7952 ) override;
7953
7954 // endregion
7955
7956 // region Get and set second_
7957
7958 const std::shared_ptr<IReference>& second() const override;
7959
7960 std::shared_ptr<IReference>& mutable_second() override;
7961
7962 void set_second(
7963 std::shared_ptr<IReference> value
7964 ) override;
7965
7966 // endregion
7967
7968 // region Get and set annotations_
7969
7970 const common::optional<
7971 std::vector<
7972 std::shared_ptr<IDataElement>
7973 >
7974 >& annotations() const override;
7975
7976 common::optional<
7977 std::vector<
7978 std::shared_ptr<IDataElement>
7979 >
7980 >& mutable_annotations() override;
7981
7982 void set_annotations(
7983 common::optional<
7984 std::vector<
7985 std::shared_ptr<IDataElement>
7986 >
7987 > value
7988 ) override;
7989
7990 // endregion
7991
7992 ~AnnotatedRelationshipElement() override = default;
7993
7994 private:
7995 common::optional<
7996 std::vector<
7997 std::shared_ptr<IExtension>
7998 >
7999 > extensions_;
8000
8001 common::optional<std::wstring> category_;
8002
8003 common::optional<std::wstring> id_short_;
8004
8005 common::optional<
8006 std::vector<
8007 std::shared_ptr<ILangStringNameType>
8008 >
8009 > display_name_;
8010
8011 common::optional<
8012 std::vector<
8013 std::shared_ptr<ILangStringTextType>
8014 >
8015 > description_;
8016
8017 common::optional<
8018 std::shared_ptr<IReference>
8019 > semantic_id_;
8020
8021 common::optional<
8022 std::vector<
8023 std::shared_ptr<IReference>
8024 >
8025 > supplemental_semantic_ids_;
8026
8027 common::optional<
8028 std::vector<
8029 std::shared_ptr<IQualifier>
8030 >
8031 > qualifiers_;
8032
8033 common::optional<
8034 std::vector<
8035 std::shared_ptr<IEmbeddedDataSpecification>
8036 >
8037 > embedded_data_specifications_;
8038
8039 std::shared_ptr<IReference> first_;
8040
8041 std::shared_ptr<IReference> second_;
8042
8043 common::optional<
8044 std::vector<
8045 std::shared_ptr<IDataElement>
8046 >
8047 > annotations_;
8048};
8049
8050class Entity
8051 : public IEntity {
8052 public:
8053 explicit Entity(
8054 EntityType entity_type,
8055 common::optional<
8056 std::vector<
8057 std::shared_ptr<IExtension>
8058 >
8059 > extensions = common::nullopt,
8060 common::optional<std::wstring> category = common::nullopt,
8061 common::optional<std::wstring> id_short = common::nullopt,
8062 common::optional<
8063 std::vector<
8064 std::shared_ptr<ILangStringNameType>
8065 >
8066 > display_name = common::nullopt,
8067 common::optional<
8068 std::vector<
8069 std::shared_ptr<ILangStringTextType>
8070 >
8071 > description = common::nullopt,
8072 common::optional<
8073 std::shared_ptr<IReference>
8074 > semantic_id = common::nullopt,
8075 common::optional<
8076 std::vector<
8077 std::shared_ptr<IReference>
8078 >
8079 > supplemental_semantic_ids = common::nullopt,
8080 common::optional<
8081 std::vector<
8082 std::shared_ptr<IQualifier>
8083 >
8084 > qualifiers = common::nullopt,
8085 common::optional<
8086 std::vector<
8087 std::shared_ptr<IEmbeddedDataSpecification>
8088 >
8089 > embedded_data_specifications = common::nullopt,
8090 common::optional<
8091 std::vector<
8092 std::shared_ptr<ISubmodelElement>
8093 >
8094 > statements = common::nullopt,
8095 common::optional<std::wstring> global_asset_id = common::nullopt,
8096 common::optional<
8097 std::vector<
8098 std::shared_ptr<ISpecificAssetId>
8099 >
8100 > specific_asset_ids = common::nullopt
8101 );
8102
8103 ModelType model_type() const override;
8104
8105 // region Get and set extensions_
8106
8107 const common::optional<
8108 std::vector<
8109 std::shared_ptr<IExtension>
8110 >
8111 >& extensions() const override;
8112
8113 common::optional<
8114 std::vector<
8115 std::shared_ptr<IExtension>
8116 >
8117 >& mutable_extensions() override;
8118
8119 void set_extensions(
8120 common::optional<
8121 std::vector<
8122 std::shared_ptr<IExtension>
8123 >
8124 > value
8125 ) override;
8126
8127 // endregion
8128
8129 // region Get and set category_
8130
8131 const common::optional<std::wstring>& category() const override;
8132
8133 common::optional<std::wstring>& mutable_category() override;
8134
8135 void set_category(
8136 common::optional<std::wstring> value
8137 ) override;
8138
8139 // endregion
8140
8141 // region Get and set id_short_
8142
8143 const common::optional<std::wstring>& id_short() const override;
8144
8145 common::optional<std::wstring>& mutable_id_short() override;
8146
8147 void set_id_short(
8148 common::optional<std::wstring> value
8149 ) override;
8150
8151 // endregion
8152
8153 // region Get and set display_name_
8154
8155 const common::optional<
8156 std::vector<
8157 std::shared_ptr<ILangStringNameType>
8158 >
8159 >& display_name() const override;
8160
8161 common::optional<
8162 std::vector<
8163 std::shared_ptr<ILangStringNameType>
8164 >
8165 >& mutable_display_name() override;
8166
8167 void set_display_name(
8168 common::optional<
8169 std::vector<
8170 std::shared_ptr<ILangStringNameType>
8171 >
8172 > value
8173 ) override;
8174
8175 // endregion
8176
8177 // region Get and set description_
8178
8179 const common::optional<
8180 std::vector<
8181 std::shared_ptr<ILangStringTextType>
8182 >
8183 >& description() const override;
8184
8185 common::optional<
8186 std::vector<
8187 std::shared_ptr<ILangStringTextType>
8188 >
8189 >& mutable_description() override;
8190
8191 void set_description(
8192 common::optional<
8193 std::vector<
8194 std::shared_ptr<ILangStringTextType>
8195 >
8196 > value
8197 ) override;
8198
8199 // endregion
8200
8201 // region Get and set semantic_id_
8202
8203 const common::optional<
8204 std::shared_ptr<IReference>
8205 >& semantic_id() const override;
8206
8207 common::optional<
8208 std::shared_ptr<IReference>
8209 >& mutable_semantic_id() override;
8210
8211 void set_semantic_id(
8212 common::optional<
8213 std::shared_ptr<IReference>
8214 > value
8215 ) override;
8216
8217 // endregion
8218
8219 // region Get and set supplemental_semantic_ids_
8220
8221 const common::optional<
8222 std::vector<
8223 std::shared_ptr<IReference>
8224 >
8225 >& supplemental_semantic_ids() const override;
8226
8227 common::optional<
8228 std::vector<
8229 std::shared_ptr<IReference>
8230 >
8231 >& mutable_supplemental_semantic_ids() override;
8232
8233 void set_supplemental_semantic_ids(
8234 common::optional<
8235 std::vector<
8236 std::shared_ptr<IReference>
8237 >
8238 > value
8239 ) override;
8240
8241 // endregion
8242
8243 // region Get and set qualifiers_
8244
8245 const common::optional<
8246 std::vector<
8247 std::shared_ptr<IQualifier>
8248 >
8249 >& qualifiers() const override;
8250
8251 common::optional<
8252 std::vector<
8253 std::shared_ptr<IQualifier>
8254 >
8255 >& mutable_qualifiers() override;
8256
8257 void set_qualifiers(
8258 common::optional<
8259 std::vector<
8260 std::shared_ptr<IQualifier>
8261 >
8262 > value
8263 ) override;
8264
8265 // endregion
8266
8267 // region Get and set embedded_data_specifications_
8268
8269 const common::optional<
8270 std::vector<
8271 std::shared_ptr<IEmbeddedDataSpecification>
8272 >
8273 >& embedded_data_specifications() const override;
8274
8275 common::optional<
8276 std::vector<
8277 std::shared_ptr<IEmbeddedDataSpecification>
8278 >
8279 >& mutable_embedded_data_specifications() override;
8280
8281 void set_embedded_data_specifications(
8282 common::optional<
8283 std::vector<
8284 std::shared_ptr<IEmbeddedDataSpecification>
8285 >
8286 > value
8287 ) override;
8288
8289 // endregion
8290
8291 // region Get and set statements_
8292
8293 const common::optional<
8294 std::vector<
8295 std::shared_ptr<ISubmodelElement>
8296 >
8297 >& statements() const override;
8298
8299 common::optional<
8300 std::vector<
8301 std::shared_ptr<ISubmodelElement>
8302 >
8303 >& mutable_statements() override;
8304
8305 void set_statements(
8306 common::optional<
8307 std::vector<
8308 std::shared_ptr<ISubmodelElement>
8309 >
8310 > value
8311 ) override;
8312
8313 // endregion
8314
8315 // region Get and set entity_type_
8316
8317 EntityType entity_type() const override;
8318
8319 EntityType& mutable_entity_type() override;
8320
8321 void set_entity_type(
8322 EntityType value
8323 ) override;
8324
8325 // endregion
8326
8327 // region Get and set global_asset_id_
8328
8329 const common::optional<std::wstring>& global_asset_id() const override;
8330
8331 common::optional<std::wstring>& mutable_global_asset_id() override;
8332
8333 void set_global_asset_id(
8334 common::optional<std::wstring> value
8335 ) override;
8336
8337 // endregion
8338
8339 // region Get and set specific_asset_ids_
8340
8341 const common::optional<
8342 std::vector<
8343 std::shared_ptr<ISpecificAssetId>
8344 >
8345 >& specific_asset_ids() const override;
8346
8347 common::optional<
8348 std::vector<
8349 std::shared_ptr<ISpecificAssetId>
8350 >
8351 >& mutable_specific_asset_ids() override;
8352
8353 void set_specific_asset_ids(
8354 common::optional<
8355 std::vector<
8356 std::shared_ptr<ISpecificAssetId>
8357 >
8358 > value
8359 ) override;
8360
8361 // endregion
8362
8363 ~Entity() override = default;
8364
8365 private:
8366 common::optional<
8367 std::vector<
8368 std::shared_ptr<IExtension>
8369 >
8370 > extensions_;
8371
8372 common::optional<std::wstring> category_;
8373
8374 common::optional<std::wstring> id_short_;
8375
8376 common::optional<
8377 std::vector<
8378 std::shared_ptr<ILangStringNameType>
8379 >
8380 > display_name_;
8381
8382 common::optional<
8383 std::vector<
8384 std::shared_ptr<ILangStringTextType>
8385 >
8386 > description_;
8387
8388 common::optional<
8389 std::shared_ptr<IReference>
8390 > semantic_id_;
8391
8392 common::optional<
8393 std::vector<
8394 std::shared_ptr<IReference>
8395 >
8396 > supplemental_semantic_ids_;
8397
8398 common::optional<
8399 std::vector<
8400 std::shared_ptr<IQualifier>
8401 >
8402 > qualifiers_;
8403
8404 common::optional<
8405 std::vector<
8406 std::shared_ptr<IEmbeddedDataSpecification>
8407 >
8408 > embedded_data_specifications_;
8409
8410 common::optional<
8411 std::vector<
8412 std::shared_ptr<ISubmodelElement>
8413 >
8414 > statements_;
8415
8416 EntityType entity_type_;
8417
8418 common::optional<std::wstring> global_asset_id_;
8419
8420 common::optional<
8421 std::vector<
8422 std::shared_ptr<ISpecificAssetId>
8423 >
8424 > specific_asset_ids_;
8425};
8426
8427class EventPayload
8428 : public IEventPayload {
8429 public:
8430 EventPayload(
8431 std::shared_ptr<IReference> source,
8432 std::shared_ptr<IReference> observable_reference,
8433 std::wstring time_stamp,
8434 common::optional<
8435 std::shared_ptr<IReference>
8436 > source_semantic_id = common::nullopt,
8437 common::optional<
8438 std::shared_ptr<IReference>
8439 > observable_semantic_id = common::nullopt,
8440 common::optional<std::wstring> topic = common::nullopt,
8441 common::optional<
8442 std::shared_ptr<IReference>
8443 > subject_id = common::nullopt,
8444 common::optional<
8445 std::vector<std::uint8_t>
8446 > payload = common::nullopt
8447 );
8448
8449 ModelType model_type() const override;
8450
8451 // region Get and set source_
8452
8453 const std::shared_ptr<IReference>& source() const override;
8454
8455 std::shared_ptr<IReference>& mutable_source() override;
8456
8457 void set_source(
8458 std::shared_ptr<IReference> value
8459 ) override;
8460
8461 // endregion
8462
8463 // region Get and set source_semantic_id_
8464
8465 const common::optional<
8466 std::shared_ptr<IReference>
8467 >& source_semantic_id() const override;
8468
8469 common::optional<
8470 std::shared_ptr<IReference>
8471 >& mutable_source_semantic_id() override;
8472
8473 void set_source_semantic_id(
8474 common::optional<
8475 std::shared_ptr<IReference>
8476 > value
8477 ) override;
8478
8479 // endregion
8480
8481 // region Get and set observable_reference_
8482
8483 const std::shared_ptr<IReference>& observable_reference() const override;
8484
8485 std::shared_ptr<IReference>& mutable_observable_reference() override;
8486
8487 void set_observable_reference(
8488 std::shared_ptr<IReference> value
8489 ) override;
8490
8491 // endregion
8492
8493 // region Get and set observable_semantic_id_
8494
8495 const common::optional<
8496 std::shared_ptr<IReference>
8497 >& observable_semantic_id() const override;
8498
8499 common::optional<
8500 std::shared_ptr<IReference>
8501 >& mutable_observable_semantic_id() override;
8502
8503 void set_observable_semantic_id(
8504 common::optional<
8505 std::shared_ptr<IReference>
8506 > value
8507 ) override;
8508
8509 // endregion
8510
8511 // region Get and set topic_
8512
8513 const common::optional<std::wstring>& topic() const override;
8514
8515 common::optional<std::wstring>& mutable_topic() override;
8516
8517 void set_topic(
8518 common::optional<std::wstring> value
8519 ) override;
8520
8521 // endregion
8522
8523 // region Get and set subject_id_
8524
8525 const common::optional<
8526 std::shared_ptr<IReference>
8527 >& subject_id() const override;
8528
8529 common::optional<
8530 std::shared_ptr<IReference>
8531 >& mutable_subject_id() override;
8532
8533 void set_subject_id(
8534 common::optional<
8535 std::shared_ptr<IReference>
8536 > value
8537 ) override;
8538
8539 // endregion
8540
8541 // region Get and set time_stamp_
8542
8543 const std::wstring& time_stamp() const override;
8544
8545 std::wstring& mutable_time_stamp() override;
8546
8547 void set_time_stamp(
8548 std::wstring value
8549 ) override;
8550
8551 // endregion
8552
8553 // region Get and set payload_
8554
8555 const common::optional<
8556 std::vector<std::uint8_t>
8557 >& payload() const override;
8558
8559 common::optional<
8560 std::vector<std::uint8_t>
8561 >& mutable_payload() override;
8562
8563 void set_payload(
8564 common::optional<
8565 std::vector<std::uint8_t>
8566 > value
8567 ) override;
8568
8569 // endregion
8570
8571 ~EventPayload() override = default;
8572
8573 private:
8574 std::shared_ptr<IReference> source_;
8575
8576 common::optional<
8577 std::shared_ptr<IReference>
8578 > source_semantic_id_;
8579
8580 std::shared_ptr<IReference> observable_reference_;
8581
8582 common::optional<
8583 std::shared_ptr<IReference>
8584 > observable_semantic_id_;
8585
8586 common::optional<std::wstring> topic_;
8587
8588 common::optional<
8589 std::shared_ptr<IReference>
8590 > subject_id_;
8591
8592 std::wstring time_stamp_;
8593
8594 common::optional<
8595 std::vector<std::uint8_t>
8596 > payload_;
8597};
8598
8599class BasicEventElement
8600 : public IBasicEventElement {
8601 public:
8602 BasicEventElement(
8603 std::shared_ptr<IReference> observed,
8604 Direction direction,
8605 StateOfEvent state,
8606 common::optional<
8607 std::vector<
8608 std::shared_ptr<IExtension>
8609 >
8610 > extensions = common::nullopt,
8611 common::optional<std::wstring> category = common::nullopt,
8612 common::optional<std::wstring> id_short = common::nullopt,
8613 common::optional<
8614 std::vector<
8615 std::shared_ptr<ILangStringNameType>
8616 >
8617 > display_name = common::nullopt,
8618 common::optional<
8619 std::vector<
8620 std::shared_ptr<ILangStringTextType>
8621 >
8622 > description = common::nullopt,
8623 common::optional<
8624 std::shared_ptr<IReference>
8625 > semantic_id = common::nullopt,
8626 common::optional<
8627 std::vector<
8628 std::shared_ptr<IReference>
8629 >
8630 > supplemental_semantic_ids = common::nullopt,
8631 common::optional<
8632 std::vector<
8633 std::shared_ptr<IQualifier>
8634 >
8635 > qualifiers = common::nullopt,
8636 common::optional<
8637 std::vector<
8638 std::shared_ptr<IEmbeddedDataSpecification>
8639 >
8640 > embedded_data_specifications = common::nullopt,
8641 common::optional<std::wstring> message_topic = common::nullopt,
8642 common::optional<
8643 std::shared_ptr<IReference>
8644 > message_broker = common::nullopt,
8645 common::optional<std::wstring> last_update = common::nullopt,
8646 common::optional<std::wstring> min_interval = common::nullopt,
8647 common::optional<std::wstring> max_interval = common::nullopt
8648 );
8649
8650 ModelType model_type() const override;
8651
8652 // region Get and set extensions_
8653
8654 const common::optional<
8655 std::vector<
8656 std::shared_ptr<IExtension>
8657 >
8658 >& extensions() const override;
8659
8660 common::optional<
8661 std::vector<
8662 std::shared_ptr<IExtension>
8663 >
8664 >& mutable_extensions() override;
8665
8666 void set_extensions(
8667 common::optional<
8668 std::vector<
8669 std::shared_ptr<IExtension>
8670 >
8671 > value
8672 ) override;
8673
8674 // endregion
8675
8676 // region Get and set category_
8677
8678 const common::optional<std::wstring>& category() const override;
8679
8680 common::optional<std::wstring>& mutable_category() override;
8681
8682 void set_category(
8683 common::optional<std::wstring> value
8684 ) override;
8685
8686 // endregion
8687
8688 // region Get and set id_short_
8689
8690 const common::optional<std::wstring>& id_short() const override;
8691
8692 common::optional<std::wstring>& mutable_id_short() override;
8693
8694 void set_id_short(
8695 common::optional<std::wstring> value
8696 ) override;
8697
8698 // endregion
8699
8700 // region Get and set display_name_
8701
8702 const common::optional<
8703 std::vector<
8704 std::shared_ptr<ILangStringNameType>
8705 >
8706 >& display_name() const override;
8707
8708 common::optional<
8709 std::vector<
8710 std::shared_ptr<ILangStringNameType>
8711 >
8712 >& mutable_display_name() override;
8713
8714 void set_display_name(
8715 common::optional<
8716 std::vector<
8717 std::shared_ptr<ILangStringNameType>
8718 >
8719 > value
8720 ) override;
8721
8722 // endregion
8723
8724 // region Get and set description_
8725
8726 const common::optional<
8727 std::vector<
8728 std::shared_ptr<ILangStringTextType>
8729 >
8730 >& description() const override;
8731
8732 common::optional<
8733 std::vector<
8734 std::shared_ptr<ILangStringTextType>
8735 >
8736 >& mutable_description() override;
8737
8738 void set_description(
8739 common::optional<
8740 std::vector<
8741 std::shared_ptr<ILangStringTextType>
8742 >
8743 > value
8744 ) override;
8745
8746 // endregion
8747
8748 // region Get and set semantic_id_
8749
8750 const common::optional<
8751 std::shared_ptr<IReference>
8752 >& semantic_id() const override;
8753
8754 common::optional<
8755 std::shared_ptr<IReference>
8756 >& mutable_semantic_id() override;
8757
8758 void set_semantic_id(
8759 common::optional<
8760 std::shared_ptr<IReference>
8761 > value
8762 ) override;
8763
8764 // endregion
8765
8766 // region Get and set supplemental_semantic_ids_
8767
8768 const common::optional<
8769 std::vector<
8770 std::shared_ptr<IReference>
8771 >
8772 >& supplemental_semantic_ids() const override;
8773
8774 common::optional<
8775 std::vector<
8776 std::shared_ptr<IReference>
8777 >
8778 >& mutable_supplemental_semantic_ids() override;
8779
8780 void set_supplemental_semantic_ids(
8781 common::optional<
8782 std::vector<
8783 std::shared_ptr<IReference>
8784 >
8785 > value
8786 ) override;
8787
8788 // endregion
8789
8790 // region Get and set qualifiers_
8791
8792 const common::optional<
8793 std::vector<
8794 std::shared_ptr<IQualifier>
8795 >
8796 >& qualifiers() const override;
8797
8798 common::optional<
8799 std::vector<
8800 std::shared_ptr<IQualifier>
8801 >
8802 >& mutable_qualifiers() override;
8803
8804 void set_qualifiers(
8805 common::optional<
8806 std::vector<
8807 std::shared_ptr<IQualifier>
8808 >
8809 > value
8810 ) override;
8811
8812 // endregion
8813
8814 // region Get and set embedded_data_specifications_
8815
8816 const common::optional<
8817 std::vector<
8818 std::shared_ptr<IEmbeddedDataSpecification>
8819 >
8820 >& embedded_data_specifications() const override;
8821
8822 common::optional<
8823 std::vector<
8824 std::shared_ptr<IEmbeddedDataSpecification>
8825 >
8826 >& mutable_embedded_data_specifications() override;
8827
8828 void set_embedded_data_specifications(
8829 common::optional<
8830 std::vector<
8831 std::shared_ptr<IEmbeddedDataSpecification>
8832 >
8833 > value
8834 ) override;
8835
8836 // endregion
8837
8838 // region Get and set observed_
8839
8840 const std::shared_ptr<IReference>& observed() const override;
8841
8842 std::shared_ptr<IReference>& mutable_observed() override;
8843
8844 void set_observed(
8845 std::shared_ptr<IReference> value
8846 ) override;
8847
8848 // endregion
8849
8850 // region Get and set direction_
8851
8852 Direction direction() const override;
8853
8854 Direction& mutable_direction() override;
8855
8856 void set_direction(
8857 Direction value
8858 ) override;
8859
8860 // endregion
8861
8862 // region Get and set state_
8863
8864 StateOfEvent state() const override;
8865
8866 StateOfEvent& mutable_state() override;
8867
8868 void set_state(
8869 StateOfEvent value
8870 ) override;
8871
8872 // endregion
8873
8874 // region Get and set message_topic_
8875
8876 const common::optional<std::wstring>& message_topic() const override;
8877
8878 common::optional<std::wstring>& mutable_message_topic() override;
8879
8880 void set_message_topic(
8881 common::optional<std::wstring> value
8882 ) override;
8883
8884 // endregion
8885
8886 // region Get and set message_broker_
8887
8888 const common::optional<
8889 std::shared_ptr<IReference>
8890 >& message_broker() const override;
8891
8892 common::optional<
8893 std::shared_ptr<IReference>
8894 >& mutable_message_broker() override;
8895
8896 void set_message_broker(
8897 common::optional<
8898 std::shared_ptr<IReference>
8899 > value
8900 ) override;
8901
8902 // endregion
8903
8904 // region Get and set last_update_
8905
8906 const common::optional<std::wstring>& last_update() const override;
8907
8908 common::optional<std::wstring>& mutable_last_update() override;
8909
8910 void set_last_update(
8911 common::optional<std::wstring> value
8912 ) override;
8913
8914 // endregion
8915
8916 // region Get and set min_interval_
8917
8918 const common::optional<std::wstring>& min_interval() const override;
8919
8920 common::optional<std::wstring>& mutable_min_interval() override;
8921
8922 void set_min_interval(
8923 common::optional<std::wstring> value
8924 ) override;
8925
8926 // endregion
8927
8928 // region Get and set max_interval_
8929
8930 const common::optional<std::wstring>& max_interval() const override;
8931
8932 common::optional<std::wstring>& mutable_max_interval() override;
8933
8934 void set_max_interval(
8935 common::optional<std::wstring> value
8936 ) override;
8937
8938 // endregion
8939
8940 ~BasicEventElement() override = default;
8941
8942 private:
8943 common::optional<
8944 std::vector<
8945 std::shared_ptr<IExtension>
8946 >
8947 > extensions_;
8948
8949 common::optional<std::wstring> category_;
8950
8951 common::optional<std::wstring> id_short_;
8952
8953 common::optional<
8954 std::vector<
8955 std::shared_ptr<ILangStringNameType>
8956 >
8957 > display_name_;
8958
8959 common::optional<
8960 std::vector<
8961 std::shared_ptr<ILangStringTextType>
8962 >
8963 > description_;
8964
8965 common::optional<
8966 std::shared_ptr<IReference>
8967 > semantic_id_;
8968
8969 common::optional<
8970 std::vector<
8971 std::shared_ptr<IReference>
8972 >
8973 > supplemental_semantic_ids_;
8974
8975 common::optional<
8976 std::vector<
8977 std::shared_ptr<IQualifier>
8978 >
8979 > qualifiers_;
8980
8981 common::optional<
8982 std::vector<
8983 std::shared_ptr<IEmbeddedDataSpecification>
8984 >
8985 > embedded_data_specifications_;
8986
8987 std::shared_ptr<IReference> observed_;
8988
8989 Direction direction_;
8990
8991 StateOfEvent state_;
8992
8993 common::optional<std::wstring> message_topic_;
8994
8995 common::optional<
8996 std::shared_ptr<IReference>
8997 > message_broker_;
8998
8999 common::optional<std::wstring> last_update_;
9000
9001 common::optional<std::wstring> min_interval_;
9002
9003 common::optional<std::wstring> max_interval_;
9004};
9005
9006class Operation
9007 : public IOperation {
9008 public:
9009 Operation(
9010 common::optional<
9011 std::vector<
9012 std::shared_ptr<IExtension>
9013 >
9014 > extensions = common::nullopt,
9015 common::optional<std::wstring> category = common::nullopt,
9016 common::optional<std::wstring> id_short = common::nullopt,
9017 common::optional<
9018 std::vector<
9019 std::shared_ptr<ILangStringNameType>
9020 >
9021 > display_name = common::nullopt,
9022 common::optional<
9023 std::vector<
9024 std::shared_ptr<ILangStringTextType>
9025 >
9026 > description = common::nullopt,
9027 common::optional<
9028 std::shared_ptr<IReference>
9029 > semantic_id = common::nullopt,
9030 common::optional<
9031 std::vector<
9032 std::shared_ptr<IReference>
9033 >
9034 > supplemental_semantic_ids = common::nullopt,
9035 common::optional<
9036 std::vector<
9037 std::shared_ptr<IQualifier>
9038 >
9039 > qualifiers = common::nullopt,
9040 common::optional<
9041 std::vector<
9042 std::shared_ptr<IEmbeddedDataSpecification>
9043 >
9044 > embedded_data_specifications = common::nullopt,
9045 common::optional<
9046 std::vector<
9047 std::shared_ptr<IOperationVariable>
9048 >
9049 > input_variables = common::nullopt,
9050 common::optional<
9051 std::vector<
9052 std::shared_ptr<IOperationVariable>
9053 >
9054 > output_variables = common::nullopt,
9055 common::optional<
9056 std::vector<
9057 std::shared_ptr<IOperationVariable>
9058 >
9059 > inoutput_variables = common::nullopt
9060 );
9061
9062 ModelType model_type() const override;
9063
9064 // region Get and set extensions_
9065
9066 const common::optional<
9067 std::vector<
9068 std::shared_ptr<IExtension>
9069 >
9070 >& extensions() const override;
9071
9072 common::optional<
9073 std::vector<
9074 std::shared_ptr<IExtension>
9075 >
9076 >& mutable_extensions() override;
9077
9078 void set_extensions(
9079 common::optional<
9080 std::vector<
9081 std::shared_ptr<IExtension>
9082 >
9083 > value
9084 ) override;
9085
9086 // endregion
9087
9088 // region Get and set category_
9089
9090 const common::optional<std::wstring>& category() const override;
9091
9092 common::optional<std::wstring>& mutable_category() override;
9093
9094 void set_category(
9095 common::optional<std::wstring> value
9096 ) override;
9097
9098 // endregion
9099
9100 // region Get and set id_short_
9101
9102 const common::optional<std::wstring>& id_short() const override;
9103
9104 common::optional<std::wstring>& mutable_id_short() override;
9105
9106 void set_id_short(
9107 common::optional<std::wstring> value
9108 ) override;
9109
9110 // endregion
9111
9112 // region Get and set display_name_
9113
9114 const common::optional<
9115 std::vector<
9116 std::shared_ptr<ILangStringNameType>
9117 >
9118 >& display_name() const override;
9119
9120 common::optional<
9121 std::vector<
9122 std::shared_ptr<ILangStringNameType>
9123 >
9124 >& mutable_display_name() override;
9125
9126 void set_display_name(
9127 common::optional<
9128 std::vector<
9129 std::shared_ptr<ILangStringNameType>
9130 >
9131 > value
9132 ) override;
9133
9134 // endregion
9135
9136 // region Get and set description_
9137
9138 const common::optional<
9139 std::vector<
9140 std::shared_ptr<ILangStringTextType>
9141 >
9142 >& description() const override;
9143
9144 common::optional<
9145 std::vector<
9146 std::shared_ptr<ILangStringTextType>
9147 >
9148 >& mutable_description() override;
9149
9150 void set_description(
9151 common::optional<
9152 std::vector<
9153 std::shared_ptr<ILangStringTextType>
9154 >
9155 > value
9156 ) override;
9157
9158 // endregion
9159
9160 // region Get and set semantic_id_
9161
9162 const common::optional<
9163 std::shared_ptr<IReference>
9164 >& semantic_id() const override;
9165
9166 common::optional<
9167 std::shared_ptr<IReference>
9168 >& mutable_semantic_id() override;
9169
9170 void set_semantic_id(
9171 common::optional<
9172 std::shared_ptr<IReference>
9173 > value
9174 ) override;
9175
9176 // endregion
9177
9178 // region Get and set supplemental_semantic_ids_
9179
9180 const common::optional<
9181 std::vector<
9182 std::shared_ptr<IReference>
9183 >
9184 >& supplemental_semantic_ids() const override;
9185
9186 common::optional<
9187 std::vector<
9188 std::shared_ptr<IReference>
9189 >
9190 >& mutable_supplemental_semantic_ids() override;
9191
9192 void set_supplemental_semantic_ids(
9193 common::optional<
9194 std::vector<
9195 std::shared_ptr<IReference>
9196 >
9197 > value
9198 ) override;
9199
9200 // endregion
9201
9202 // region Get and set qualifiers_
9203
9204 const common::optional<
9205 std::vector<
9206 std::shared_ptr<IQualifier>
9207 >
9208 >& qualifiers() const override;
9209
9210 common::optional<
9211 std::vector<
9212 std::shared_ptr<IQualifier>
9213 >
9214 >& mutable_qualifiers() override;
9215
9216 void set_qualifiers(
9217 common::optional<
9218 std::vector<
9219 std::shared_ptr<IQualifier>
9220 >
9221 > value
9222 ) override;
9223
9224 // endregion
9225
9226 // region Get and set embedded_data_specifications_
9227
9228 const common::optional<
9229 std::vector<
9230 std::shared_ptr<IEmbeddedDataSpecification>
9231 >
9232 >& embedded_data_specifications() const override;
9233
9234 common::optional<
9235 std::vector<
9236 std::shared_ptr<IEmbeddedDataSpecification>
9237 >
9238 >& mutable_embedded_data_specifications() override;
9239
9240 void set_embedded_data_specifications(
9241 common::optional<
9242 std::vector<
9243 std::shared_ptr<IEmbeddedDataSpecification>
9244 >
9245 > value
9246 ) override;
9247
9248 // endregion
9249
9250 // region Get and set input_variables_
9251
9252 const common::optional<
9253 std::vector<
9254 std::shared_ptr<IOperationVariable>
9255 >
9256 >& input_variables() const override;
9257
9258 common::optional<
9259 std::vector<
9260 std::shared_ptr<IOperationVariable>
9261 >
9262 >& mutable_input_variables() override;
9263
9264 void set_input_variables(
9265 common::optional<
9266 std::vector<
9267 std::shared_ptr<IOperationVariable>
9268 >
9269 > value
9270 ) override;
9271
9272 // endregion
9273
9274 // region Get and set output_variables_
9275
9276 const common::optional<
9277 std::vector<
9278 std::shared_ptr<IOperationVariable>
9279 >
9280 >& output_variables() const override;
9281
9282 common::optional<
9283 std::vector<
9284 std::shared_ptr<IOperationVariable>
9285 >
9286 >& mutable_output_variables() override;
9287
9288 void set_output_variables(
9289 common::optional<
9290 std::vector<
9291 std::shared_ptr<IOperationVariable>
9292 >
9293 > value
9294 ) override;
9295
9296 // endregion
9297
9298 // region Get and set inoutput_variables_
9299
9300 const common::optional<
9301 std::vector<
9302 std::shared_ptr<IOperationVariable>
9303 >
9304 >& inoutput_variables() const override;
9305
9306 common::optional<
9307 std::vector<
9308 std::shared_ptr<IOperationVariable>
9309 >
9310 >& mutable_inoutput_variables() override;
9311
9312 void set_inoutput_variables(
9313 common::optional<
9314 std::vector<
9315 std::shared_ptr<IOperationVariable>
9316 >
9317 > value
9318 ) override;
9319
9320 // endregion
9321
9322 ~Operation() override = default;
9323
9324 private:
9325 common::optional<
9326 std::vector<
9327 std::shared_ptr<IExtension>
9328 >
9329 > extensions_;
9330
9331 common::optional<std::wstring> category_;
9332
9333 common::optional<std::wstring> id_short_;
9334
9335 common::optional<
9336 std::vector<
9337 std::shared_ptr<ILangStringNameType>
9338 >
9339 > display_name_;
9340
9341 common::optional<
9342 std::vector<
9343 std::shared_ptr<ILangStringTextType>
9344 >
9345 > description_;
9346
9347 common::optional<
9348 std::shared_ptr<IReference>
9349 > semantic_id_;
9350
9351 common::optional<
9352 std::vector<
9353 std::shared_ptr<IReference>
9354 >
9355 > supplemental_semantic_ids_;
9356
9357 common::optional<
9358 std::vector<
9359 std::shared_ptr<IQualifier>
9360 >
9361 > qualifiers_;
9362
9363 common::optional<
9364 std::vector<
9365 std::shared_ptr<IEmbeddedDataSpecification>
9366 >
9367 > embedded_data_specifications_;
9368
9369 common::optional<
9370 std::vector<
9371 std::shared_ptr<IOperationVariable>
9372 >
9373 > input_variables_;
9374
9375 common::optional<
9376 std::vector<
9377 std::shared_ptr<IOperationVariable>
9378 >
9379 > output_variables_;
9380
9381 common::optional<
9382 std::vector<
9383 std::shared_ptr<IOperationVariable>
9384 >
9385 > inoutput_variables_;
9386};
9387
9388class OperationVariable
9389 : public IOperationVariable {
9390 public:
9391 explicit OperationVariable(
9392 std::shared_ptr<ISubmodelElement> value
9393 );
9394
9395 ModelType model_type() const override;
9396
9397 // region Get and set value_
9398
9399 const std::shared_ptr<ISubmodelElement>& value() const override;
9400
9401 std::shared_ptr<ISubmodelElement>& mutable_value() override;
9402
9403 void set_value(
9404 std::shared_ptr<ISubmodelElement> value
9405 ) override;
9406
9407 // endregion
9408
9409 ~OperationVariable() override = default;
9410
9411 private:
9412 std::shared_ptr<ISubmodelElement> value_;
9413};
9414
9415class Capability
9416 : public ICapability {
9417 public:
9418 Capability(
9419 common::optional<
9420 std::vector<
9421 std::shared_ptr<IExtension>
9422 >
9423 > extensions = common::nullopt,
9424 common::optional<std::wstring> category = common::nullopt,
9425 common::optional<std::wstring> id_short = common::nullopt,
9426 common::optional<
9427 std::vector<
9428 std::shared_ptr<ILangStringNameType>
9429 >
9430 > display_name = common::nullopt,
9431 common::optional<
9432 std::vector<
9433 std::shared_ptr<ILangStringTextType>
9434 >
9435 > description = common::nullopt,
9436 common::optional<
9437 std::shared_ptr<IReference>
9438 > semantic_id = common::nullopt,
9439 common::optional<
9440 std::vector<
9441 std::shared_ptr<IReference>
9442 >
9443 > supplemental_semantic_ids = common::nullopt,
9444 common::optional<
9445 std::vector<
9446 std::shared_ptr<IQualifier>
9447 >
9448 > qualifiers = common::nullopt,
9449 common::optional<
9450 std::vector<
9451 std::shared_ptr<IEmbeddedDataSpecification>
9452 >
9453 > embedded_data_specifications = common::nullopt
9454 );
9455
9456 ModelType model_type() const override;
9457
9458 // region Get and set extensions_
9459
9460 const common::optional<
9461 std::vector<
9462 std::shared_ptr<IExtension>
9463 >
9464 >& extensions() const override;
9465
9466 common::optional<
9467 std::vector<
9468 std::shared_ptr<IExtension>
9469 >
9470 >& mutable_extensions() override;
9471
9472 void set_extensions(
9473 common::optional<
9474 std::vector<
9475 std::shared_ptr<IExtension>
9476 >
9477 > value
9478 ) override;
9479
9480 // endregion
9481
9482 // region Get and set category_
9483
9484 const common::optional<std::wstring>& category() const override;
9485
9486 common::optional<std::wstring>& mutable_category() override;
9487
9488 void set_category(
9489 common::optional<std::wstring> value
9490 ) override;
9491
9492 // endregion
9493
9494 // region Get and set id_short_
9495
9496 const common::optional<std::wstring>& id_short() const override;
9497
9498 common::optional<std::wstring>& mutable_id_short() override;
9499
9500 void set_id_short(
9501 common::optional<std::wstring> value
9502 ) override;
9503
9504 // endregion
9505
9506 // region Get and set display_name_
9507
9508 const common::optional<
9509 std::vector<
9510 std::shared_ptr<ILangStringNameType>
9511 >
9512 >& display_name() const override;
9513
9514 common::optional<
9515 std::vector<
9516 std::shared_ptr<ILangStringNameType>
9517 >
9518 >& mutable_display_name() override;
9519
9520 void set_display_name(
9521 common::optional<
9522 std::vector<
9523 std::shared_ptr<ILangStringNameType>
9524 >
9525 > value
9526 ) override;
9527
9528 // endregion
9529
9530 // region Get and set description_
9531
9532 const common::optional<
9533 std::vector<
9534 std::shared_ptr<ILangStringTextType>
9535 >
9536 >& description() const override;
9537
9538 common::optional<
9539 std::vector<
9540 std::shared_ptr<ILangStringTextType>
9541 >
9542 >& mutable_description() override;
9543
9544 void set_description(
9545 common::optional<
9546 std::vector<
9547 std::shared_ptr<ILangStringTextType>
9548 >
9549 > value
9550 ) override;
9551
9552 // endregion
9553
9554 // region Get and set semantic_id_
9555
9556 const common::optional<
9557 std::shared_ptr<IReference>
9558 >& semantic_id() const override;
9559
9560 common::optional<
9561 std::shared_ptr<IReference>
9562 >& mutable_semantic_id() override;
9563
9564 void set_semantic_id(
9565 common::optional<
9566 std::shared_ptr<IReference>
9567 > value
9568 ) override;
9569
9570 // endregion
9571
9572 // region Get and set supplemental_semantic_ids_
9573
9574 const common::optional<
9575 std::vector<
9576 std::shared_ptr<IReference>
9577 >
9578 >& supplemental_semantic_ids() const override;
9579
9580 common::optional<
9581 std::vector<
9582 std::shared_ptr<IReference>
9583 >
9584 >& mutable_supplemental_semantic_ids() override;
9585
9586 void set_supplemental_semantic_ids(
9587 common::optional<
9588 std::vector<
9589 std::shared_ptr<IReference>
9590 >
9591 > value
9592 ) override;
9593
9594 // endregion
9595
9596 // region Get and set qualifiers_
9597
9598 const common::optional<
9599 std::vector<
9600 std::shared_ptr<IQualifier>
9601 >
9602 >& qualifiers() const override;
9603
9604 common::optional<
9605 std::vector<
9606 std::shared_ptr<IQualifier>
9607 >
9608 >& mutable_qualifiers() override;
9609
9610 void set_qualifiers(
9611 common::optional<
9612 std::vector<
9613 std::shared_ptr<IQualifier>
9614 >
9615 > value
9616 ) override;
9617
9618 // endregion
9619
9620 // region Get and set embedded_data_specifications_
9621
9622 const common::optional<
9623 std::vector<
9624 std::shared_ptr<IEmbeddedDataSpecification>
9625 >
9626 >& embedded_data_specifications() const override;
9627
9628 common::optional<
9629 std::vector<
9630 std::shared_ptr<IEmbeddedDataSpecification>
9631 >
9632 >& mutable_embedded_data_specifications() override;
9633
9634 void set_embedded_data_specifications(
9635 common::optional<
9636 std::vector<
9637 std::shared_ptr<IEmbeddedDataSpecification>
9638 >
9639 > value
9640 ) override;
9641
9642 // endregion
9643
9644 ~Capability() override = default;
9645
9646 private:
9647 common::optional<
9648 std::vector<
9649 std::shared_ptr<IExtension>
9650 >
9651 > extensions_;
9652
9653 common::optional<std::wstring> category_;
9654
9655 common::optional<std::wstring> id_short_;
9656
9657 common::optional<
9658 std::vector<
9659 std::shared_ptr<ILangStringNameType>
9660 >
9661 > display_name_;
9662
9663 common::optional<
9664 std::vector<
9665 std::shared_ptr<ILangStringTextType>
9666 >
9667 > description_;
9668
9669 common::optional<
9670 std::shared_ptr<IReference>
9671 > semantic_id_;
9672
9673 common::optional<
9674 std::vector<
9675 std::shared_ptr<IReference>
9676 >
9677 > supplemental_semantic_ids_;
9678
9679 common::optional<
9680 std::vector<
9681 std::shared_ptr<IQualifier>
9682 >
9683 > qualifiers_;
9684
9685 common::optional<
9686 std::vector<
9687 std::shared_ptr<IEmbeddedDataSpecification>
9688 >
9689 > embedded_data_specifications_;
9690};
9691
9692class ConceptDescription
9693 : public IConceptDescription {
9694 public:
9695 explicit ConceptDescription(
9696 std::wstring id,
9697 common::optional<
9698 std::vector<
9699 std::shared_ptr<IExtension>
9700 >
9701 > extensions = common::nullopt,
9702 common::optional<std::wstring> category = common::nullopt,
9703 common::optional<std::wstring> id_short = common::nullopt,
9704 common::optional<
9705 std::vector<
9706 std::shared_ptr<ILangStringNameType>
9707 >
9708 > display_name = common::nullopt,
9709 common::optional<
9710 std::vector<
9711 std::shared_ptr<ILangStringTextType>
9712 >
9713 > description = common::nullopt,
9714 common::optional<
9715 std::shared_ptr<IAdministrativeInformation>
9716 > administration = common::nullopt,
9717 common::optional<
9718 std::vector<
9719 std::shared_ptr<IEmbeddedDataSpecification>
9720 >
9721 > embedded_data_specifications = common::nullopt,
9722 common::optional<
9723 std::vector<
9724 std::shared_ptr<IReference>
9725 >
9726 > is_case_of = common::nullopt
9727 );
9728
9729 ModelType model_type() const override;
9730
9731 // region Get and set extensions_
9732
9733 const common::optional<
9734 std::vector<
9735 std::shared_ptr<IExtension>
9736 >
9737 >& extensions() const override;
9738
9739 common::optional<
9740 std::vector<
9741 std::shared_ptr<IExtension>
9742 >
9743 >& mutable_extensions() override;
9744
9745 void set_extensions(
9746 common::optional<
9747 std::vector<
9748 std::shared_ptr<IExtension>
9749 >
9750 > value
9751 ) override;
9752
9753 // endregion
9754
9755 // region Get and set category_
9756
9757 const common::optional<std::wstring>& category() const override;
9758
9759 common::optional<std::wstring>& mutable_category() override;
9760
9761 void set_category(
9762 common::optional<std::wstring> value
9763 ) override;
9764
9765 // endregion
9766
9767 // region Get and set id_short_
9768
9769 const common::optional<std::wstring>& id_short() const override;
9770
9771 common::optional<std::wstring>& mutable_id_short() override;
9772
9773 void set_id_short(
9774 common::optional<std::wstring> value
9775 ) override;
9776
9777 // endregion
9778
9779 // region Get and set display_name_
9780
9781 const common::optional<
9782 std::vector<
9783 std::shared_ptr<ILangStringNameType>
9784 >
9785 >& display_name() const override;
9786
9787 common::optional<
9788 std::vector<
9789 std::shared_ptr<ILangStringNameType>
9790 >
9791 >& mutable_display_name() override;
9792
9793 void set_display_name(
9794 common::optional<
9795 std::vector<
9796 std::shared_ptr<ILangStringNameType>
9797 >
9798 > value
9799 ) override;
9800
9801 // endregion
9802
9803 // region Get and set description_
9804
9805 const common::optional<
9806 std::vector<
9807 std::shared_ptr<ILangStringTextType>
9808 >
9809 >& description() const override;
9810
9811 common::optional<
9812 std::vector<
9813 std::shared_ptr<ILangStringTextType>
9814 >
9815 >& mutable_description() override;
9816
9817 void set_description(
9818 common::optional<
9819 std::vector<
9820 std::shared_ptr<ILangStringTextType>
9821 >
9822 > value
9823 ) override;
9824
9825 // endregion
9826
9827 // region Get and set administration_
9828
9829 const common::optional<
9830 std::shared_ptr<IAdministrativeInformation>
9831 >& administration() const override;
9832
9833 common::optional<
9834 std::shared_ptr<IAdministrativeInformation>
9835 >& mutable_administration() override;
9836
9837 void set_administration(
9838 common::optional<
9839 std::shared_ptr<IAdministrativeInformation>
9840 > value
9841 ) override;
9842
9843 // endregion
9844
9845 // region Get and set id_
9846
9847 const std::wstring& id() const override;
9848
9849 std::wstring& mutable_id() override;
9850
9851 void set_id(
9852 std::wstring value
9853 ) override;
9854
9855 // endregion
9856
9857 // region Get and set embedded_data_specifications_
9858
9859 const common::optional<
9860 std::vector<
9861 std::shared_ptr<IEmbeddedDataSpecification>
9862 >
9863 >& embedded_data_specifications() const override;
9864
9865 common::optional<
9866 std::vector<
9867 std::shared_ptr<IEmbeddedDataSpecification>
9868 >
9869 >& mutable_embedded_data_specifications() override;
9870
9871 void set_embedded_data_specifications(
9872 common::optional<
9873 std::vector<
9874 std::shared_ptr<IEmbeddedDataSpecification>
9875 >
9876 > value
9877 ) override;
9878
9879 // endregion
9880
9881 // region Get and set is_case_of_
9882
9883 const common::optional<
9884 std::vector<
9885 std::shared_ptr<IReference>
9886 >
9887 >& is_case_of() const override;
9888
9889 common::optional<
9890 std::vector<
9891 std::shared_ptr<IReference>
9892 >
9893 >& mutable_is_case_of() override;
9894
9895 void set_is_case_of(
9896 common::optional<
9897 std::vector<
9898 std::shared_ptr<IReference>
9899 >
9900 > value
9901 ) override;
9902
9903 // endregion
9904
9905 ~ConceptDescription() override = default;
9906
9907 private:
9908 common::optional<
9909 std::vector<
9910 std::shared_ptr<IExtension>
9911 >
9912 > extensions_;
9913
9914 common::optional<std::wstring> category_;
9915
9916 common::optional<std::wstring> id_short_;
9917
9918 common::optional<
9919 std::vector<
9920 std::shared_ptr<ILangStringNameType>
9921 >
9922 > display_name_;
9923
9924 common::optional<
9925 std::vector<
9926 std::shared_ptr<ILangStringTextType>
9927 >
9928 > description_;
9929
9930 common::optional<
9931 std::shared_ptr<IAdministrativeInformation>
9932 > administration_;
9933
9934 std::wstring id_;
9935
9936 common::optional<
9937 std::vector<
9938 std::shared_ptr<IEmbeddedDataSpecification>
9939 >
9940 > embedded_data_specifications_;
9941
9942 common::optional<
9943 std::vector<
9944 std::shared_ptr<IReference>
9945 >
9946 > is_case_of_;
9947};
9948
9949class Reference
9950 : public IReference {
9951 public:
9952 Reference(
9953 ReferenceTypes type,
9954 std::vector<
9955 std::shared_ptr<IKey>
9956 > keys,
9957 common::optional<
9958 std::shared_ptr<IReference>
9959 > referred_semantic_id = common::nullopt
9960 );
9961
9962 ModelType model_type() const override;
9963
9964 // region Get and set type_
9965
9966 ReferenceTypes type() const override;
9967
9968 ReferenceTypes& mutable_type() override;
9969
9970 void set_type(
9971 ReferenceTypes value
9972 ) override;
9973
9974 // endregion
9975
9976 // region Get and set referred_semantic_id_
9977
9978 const common::optional<
9979 std::shared_ptr<IReference>
9980 >& referred_semantic_id() const override;
9981
9982 common::optional<
9983 std::shared_ptr<IReference>
9984 >& mutable_referred_semantic_id() override;
9985
9986 void set_referred_semantic_id(
9987 common::optional<
9988 std::shared_ptr<IReference>
9989 > value
9990 ) override;
9991
9992 // endregion
9993
9994 // region Get and set keys_
9995
9996 const std::vector<
9997 std::shared_ptr<IKey>
9998 >& keys() const override;
9999
10000 std::vector<
10001 std::shared_ptr<IKey>
10002 >& mutable_keys() override;
10003
10004 void set_keys(
10005 std::vector<
10006 std::shared_ptr<IKey>
10007 > value
10008 ) override;
10009
10010 // endregion
10011
10012 ~Reference() override = default;
10013
10014 private:
10015 ReferenceTypes type_;
10016
10017 common::optional<
10018 std::shared_ptr<IReference>
10019 > referred_semantic_id_;
10020
10021 std::vector<
10022 std::shared_ptr<IKey>
10023 > keys_;
10024};
10025
10026class Key
10027 : public IKey {
10028 public:
10029 Key(
10030 KeyTypes type,
10031 std::wstring value
10032 );
10033
10034 ModelType model_type() const override;
10035
10036 // region Get and set type_
10037
10038 KeyTypes type() const override;
10039
10040 KeyTypes& mutable_type() override;
10041
10042 void set_type(
10043 KeyTypes value
10044 ) override;
10045
10046 // endregion
10047
10048 // region Get and set value_
10049
10050 const std::wstring& value() const override;
10051
10052 std::wstring& mutable_value() override;
10053
10054 void set_value(
10055 std::wstring value
10056 ) override;
10057
10058 // endregion
10059
10060 ~Key() override = default;
10061
10062 private:
10063 KeyTypes type_;
10064
10065 std::wstring value_;
10066};
10067
10068class LangStringNameType
10069 : public ILangStringNameType {
10070 public:
10071 LangStringNameType(
10072 std::wstring language,
10073 std::wstring text
10074 );
10075
10076 ModelType model_type() const override;
10077
10078 // region Get and set language_
10079
10080 const std::wstring& language() const override;
10081
10082 std::wstring& mutable_language() override;
10083
10084 void set_language(
10085 std::wstring value
10086 ) override;
10087
10088 // endregion
10089
10090 // region Get and set text_
10091
10092 const std::wstring& text() const override;
10093
10094 std::wstring& mutable_text() override;
10095
10096 void set_text(
10097 std::wstring value
10098 ) override;
10099
10100 // endregion
10101
10102 ~LangStringNameType() override = default;
10103
10104 private:
10105 std::wstring language_;
10106
10107 std::wstring text_;
10108};
10109
10110class LangStringTextType
10111 : public ILangStringTextType {
10112 public:
10113 LangStringTextType(
10114 std::wstring language,
10115 std::wstring text
10116 );
10117
10118 ModelType model_type() const override;
10119
10120 // region Get and set language_
10121
10122 const std::wstring& language() const override;
10123
10124 std::wstring& mutable_language() override;
10125
10126 void set_language(
10127 std::wstring value
10128 ) override;
10129
10130 // endregion
10131
10132 // region Get and set text_
10133
10134 const std::wstring& text() const override;
10135
10136 std::wstring& mutable_text() override;
10137
10138 void set_text(
10139 std::wstring value
10140 ) override;
10141
10142 // endregion
10143
10144 ~LangStringTextType() override = default;
10145
10146 private:
10147 std::wstring language_;
10148
10149 std::wstring text_;
10150};
10151
10152class Environment
10153 : public IEnvironment {
10154 public:
10155 Environment(
10156 common::optional<
10157 std::vector<
10158 std::shared_ptr<IAssetAdministrationShell>
10159 >
10160 > asset_administration_shells = common::nullopt,
10161 common::optional<
10162 std::vector<
10163 std::shared_ptr<ISubmodel>
10164 >
10165 > submodels = common::nullopt,
10166 common::optional<
10167 std::vector<
10168 std::shared_ptr<IConceptDescription>
10169 >
10170 > concept_descriptions = common::nullopt
10171 );
10172
10173 ModelType model_type() const override;
10174
10175 // region Get and set asset_administration_shells_
10176
10177 const common::optional<
10178 std::vector<
10179 std::shared_ptr<IAssetAdministrationShell>
10180 >
10181 >& asset_administration_shells() const override;
10182
10183 common::optional<
10184 std::vector<
10185 std::shared_ptr<IAssetAdministrationShell>
10186 >
10187 >& mutable_asset_administration_shells() override;
10188
10189 void set_asset_administration_shells(
10190 common::optional<
10191 std::vector<
10192 std::shared_ptr<IAssetAdministrationShell>
10193 >
10194 > value
10195 ) override;
10196
10197 // endregion
10198
10199 // region Get and set submodels_
10200
10201 const common::optional<
10202 std::vector<
10203 std::shared_ptr<ISubmodel>
10204 >
10205 >& submodels() const override;
10206
10207 common::optional<
10208 std::vector<
10209 std::shared_ptr<ISubmodel>
10210 >
10211 >& mutable_submodels() override;
10212
10213 void set_submodels(
10214 common::optional<
10215 std::vector<
10216 std::shared_ptr<ISubmodel>
10217 >
10218 > value
10219 ) override;
10220
10221 // endregion
10222
10223 // region Get and set concept_descriptions_
10224
10225 const common::optional<
10226 std::vector<
10227 std::shared_ptr<IConceptDescription>
10228 >
10229 >& concept_descriptions() const override;
10230
10231 common::optional<
10232 std::vector<
10233 std::shared_ptr<IConceptDescription>
10234 >
10235 >& mutable_concept_descriptions() override;
10236
10237 void set_concept_descriptions(
10238 common::optional<
10239 std::vector<
10240 std::shared_ptr<IConceptDescription>
10241 >
10242 > value
10243 ) override;
10244
10245 // endregion
10246
10247 ~Environment() override = default;
10248
10249 private:
10250 common::optional<
10251 std::vector<
10252 std::shared_ptr<IAssetAdministrationShell>
10253 >
10254 > asset_administration_shells_;
10255
10256 common::optional<
10257 std::vector<
10258 std::shared_ptr<ISubmodel>
10259 >
10260 > submodels_;
10261
10262 common::optional<
10263 std::vector<
10264 std::shared_ptr<IConceptDescription>
10265 >
10266 > concept_descriptions_;
10267};
10268
10269class EmbeddedDataSpecification
10271 public:
10272 EmbeddedDataSpecification(
10273 std::shared_ptr<IReference> data_specification,
10274 std::shared_ptr<IDataSpecificationContent> data_specification_content
10275 );
10276
10277 ModelType model_type() const override;
10278
10279 // region Get and set data_specification_
10280
10281 const std::shared_ptr<IReference>& data_specification() const override;
10282
10283 std::shared_ptr<IReference>& mutable_data_specification() override;
10284
10285 void set_data_specification(
10286 std::shared_ptr<IReference> value
10287 ) override;
10288
10289 // endregion
10290
10291 // region Get and set data_specification_content_
10292
10293 const std::shared_ptr<IDataSpecificationContent>& data_specification_content() const override;
10294
10295 std::shared_ptr<IDataSpecificationContent>& mutable_data_specification_content() override;
10296
10297 void set_data_specification_content(
10298 std::shared_ptr<IDataSpecificationContent> value
10299 ) override;
10300
10301 // endregion
10302
10303 ~EmbeddedDataSpecification() override = default;
10304
10305 private:
10306 std::shared_ptr<IReference> data_specification_;
10307
10308 std::shared_ptr<IDataSpecificationContent> data_specification_content_;
10309};
10310
10311class LevelType
10312 : public ILevelType {
10313 public:
10314 LevelType(
10315 bool min,
10316 bool nom,
10317 bool typ,
10318 bool max
10319 );
10320
10321 ModelType model_type() const override;
10322
10323 // region Get and set min_
10324
10325 bool min() const override;
10326
10327 bool& mutable_min() override;
10328
10329 void set_min(
10330 bool value
10331 ) override;
10332
10333 // endregion
10334
10335 // region Get and set nom_
10336
10337 bool nom() const override;
10338
10339 bool& mutable_nom() override;
10340
10341 void set_nom(
10342 bool value
10343 ) override;
10344
10345 // endregion
10346
10347 // region Get and set typ_
10348
10349 bool typ() const override;
10350
10351 bool& mutable_typ() override;
10352
10353 void set_typ(
10354 bool value
10355 ) override;
10356
10357 // endregion
10358
10359 // region Get and set max_
10360
10361 bool max() const override;
10362
10363 bool& mutable_max() override;
10364
10365 void set_max(
10366 bool value
10367 ) override;
10368
10369 // endregion
10370
10371 ~LevelType() override = default;
10372
10373 private:
10374 bool min_;
10375
10376 bool nom_;
10377
10378 bool typ_;
10379
10380 bool max_;
10381};
10382
10383class ValueReferencePair
10384 : public IValueReferencePair {
10385 public:
10386 ValueReferencePair(
10387 std::wstring value,
10388 std::shared_ptr<IReference> value_id
10389 );
10390
10391 ModelType model_type() const override;
10392
10393 // region Get and set value_
10394
10395 const std::wstring& value() const override;
10396
10397 std::wstring& mutable_value() override;
10398
10399 void set_value(
10400 std::wstring value
10401 ) override;
10402
10403 // endregion
10404
10405 // region Get and set value_id_
10406
10407 const std::shared_ptr<IReference>& value_id() const override;
10408
10409 std::shared_ptr<IReference>& mutable_value_id() override;
10410
10411 void set_value_id(
10412 std::shared_ptr<IReference> value
10413 ) override;
10414
10415 // endregion
10416
10417 ~ValueReferencePair() override = default;
10418
10419 private:
10420 std::wstring value_;
10421
10422 std::shared_ptr<IReference> value_id_;
10423};
10424
10425class ValueList
10426 : public IValueList {
10427 public:
10428 explicit ValueList(
10429 std::vector<
10430 std::shared_ptr<IValueReferencePair>
10431 > value_reference_pairs
10432 );
10433
10434 ModelType model_type() const override;
10435
10436 // region Get and set value_reference_pairs_
10437
10438 const std::vector<
10439 std::shared_ptr<IValueReferencePair>
10440 >& value_reference_pairs() const override;
10441
10442 std::vector<
10443 std::shared_ptr<IValueReferencePair>
10444 >& mutable_value_reference_pairs() override;
10445
10446 void set_value_reference_pairs(
10447 std::vector<
10448 std::shared_ptr<IValueReferencePair>
10449 > value
10450 ) override;
10451
10452 // endregion
10453
10454 ~ValueList() override = default;
10455
10456 private:
10457 std::vector<
10458 std::shared_ptr<IValueReferencePair>
10459 > value_reference_pairs_;
10460};
10461
10462class LangStringPreferredNameTypeIec61360
10464 public:
10465 LangStringPreferredNameTypeIec61360(
10466 std::wstring language,
10467 std::wstring text
10468 );
10469
10470 ModelType model_type() const override;
10471
10472 // region Get and set language_
10473
10474 const std::wstring& language() const override;
10475
10476 std::wstring& mutable_language() override;
10477
10478 void set_language(
10479 std::wstring value
10480 ) override;
10481
10482 // endregion
10483
10484 // region Get and set text_
10485
10486 const std::wstring& text() const override;
10487
10488 std::wstring& mutable_text() override;
10489
10490 void set_text(
10491 std::wstring value
10492 ) override;
10493
10494 // endregion
10495
10496 ~LangStringPreferredNameTypeIec61360() override = default;
10497
10498 private:
10499 std::wstring language_;
10500
10501 std::wstring text_;
10502};
10503
10504class LangStringShortNameTypeIec61360
10506 public:
10507 LangStringShortNameTypeIec61360(
10508 std::wstring language,
10509 std::wstring text
10510 );
10511
10512 ModelType model_type() const override;
10513
10514 // region Get and set language_
10515
10516 const std::wstring& language() const override;
10517
10518 std::wstring& mutable_language() override;
10519
10520 void set_language(
10521 std::wstring value
10522 ) override;
10523
10524 // endregion
10525
10526 // region Get and set text_
10527
10528 const std::wstring& text() const override;
10529
10530 std::wstring& mutable_text() override;
10531
10532 void set_text(
10533 std::wstring value
10534 ) override;
10535
10536 // endregion
10537
10538 ~LangStringShortNameTypeIec61360() override = default;
10539
10540 private:
10541 std::wstring language_;
10542
10543 std::wstring text_;
10544};
10545
10546class LangStringDefinitionTypeIec61360
10548 public:
10549 LangStringDefinitionTypeIec61360(
10550 std::wstring language,
10551 std::wstring text
10552 );
10553
10554 ModelType model_type() const override;
10555
10556 // region Get and set language_
10557
10558 const std::wstring& language() const override;
10559
10560 std::wstring& mutable_language() override;
10561
10562 void set_language(
10563 std::wstring value
10564 ) override;
10565
10566 // endregion
10567
10568 // region Get and set text_
10569
10570 const std::wstring& text() const override;
10571
10572 std::wstring& mutable_text() override;
10573
10574 void set_text(
10575 std::wstring value
10576 ) override;
10577
10578 // endregion
10579
10580 ~LangStringDefinitionTypeIec61360() override = default;
10581
10582 private:
10583 std::wstring language_;
10584
10585 std::wstring text_;
10586};
10587
10588class DataSpecificationIec61360
10589 : public IDataSpecificationIec61360 {
10590 public:
10591 explicit DataSpecificationIec61360(
10592 std::vector<
10593 std::shared_ptr<ILangStringPreferredNameTypeIec61360>
10594 > preferred_name,
10595 common::optional<
10596 std::vector<
10597 std::shared_ptr<ILangStringShortNameTypeIec61360>
10598 >
10599 > short_name = common::nullopt,
10600 common::optional<std::wstring> unit = common::nullopt,
10601 common::optional<
10602 std::shared_ptr<IReference>
10603 > unit_id = common::nullopt,
10604 common::optional<std::wstring> source_of_definition = common::nullopt,
10605 common::optional<std::wstring> symbol = common::nullopt,
10606 common::optional<DataTypeIec61360> data_type = common::nullopt,
10607 common::optional<
10608 std::vector<
10609 std::shared_ptr<ILangStringDefinitionTypeIec61360>
10610 >
10611 > definition = common::nullopt,
10612 common::optional<std::wstring> value_format = common::nullopt,
10613 common::optional<
10614 std::shared_ptr<IValueList>
10615 > value_list = common::nullopt,
10616 common::optional<std::wstring> value = common::nullopt,
10617 common::optional<
10618 std::shared_ptr<ILevelType>
10619 > level_type = common::nullopt
10620 );
10621
10622 ModelType model_type() const override;
10623
10624 // region Get and set preferred_name_
10625
10626 const std::vector<
10627 std::shared_ptr<ILangStringPreferredNameTypeIec61360>
10628 >& preferred_name() const override;
10629
10630 std::vector<
10631 std::shared_ptr<ILangStringPreferredNameTypeIec61360>
10632 >& mutable_preferred_name() override;
10633
10634 void set_preferred_name(
10635 std::vector<
10636 std::shared_ptr<ILangStringPreferredNameTypeIec61360>
10637 > value
10638 ) override;
10639
10640 // endregion
10641
10642 // region Get and set short_name_
10643
10644 const common::optional<
10645 std::vector<
10646 std::shared_ptr<ILangStringShortNameTypeIec61360>
10647 >
10648 >& short_name() const override;
10649
10650 common::optional<
10651 std::vector<
10652 std::shared_ptr<ILangStringShortNameTypeIec61360>
10653 >
10654 >& mutable_short_name() override;
10655
10656 void set_short_name(
10657 common::optional<
10658 std::vector<
10659 std::shared_ptr<ILangStringShortNameTypeIec61360>
10660 >
10661 > value
10662 ) override;
10663
10664 // endregion
10665
10666 // region Get and set unit_
10667
10668 const common::optional<std::wstring>& unit() const override;
10669
10670 common::optional<std::wstring>& mutable_unit() override;
10671
10672 void set_unit(
10673 common::optional<std::wstring> value
10674 ) override;
10675
10676 // endregion
10677
10678 // region Get and set unit_id_
10679
10680 const common::optional<
10681 std::shared_ptr<IReference>
10682 >& unit_id() const override;
10683
10684 common::optional<
10685 std::shared_ptr<IReference>
10686 >& mutable_unit_id() override;
10687
10688 void set_unit_id(
10689 common::optional<
10690 std::shared_ptr<IReference>
10691 > value
10692 ) override;
10693
10694 // endregion
10695
10696 // region Get and set source_of_definition_
10697
10698 const common::optional<std::wstring>& source_of_definition() const override;
10699
10700 common::optional<std::wstring>& mutable_source_of_definition() override;
10701
10702 void set_source_of_definition(
10703 common::optional<std::wstring> value
10704 ) override;
10705
10706 // endregion
10707
10708 // region Get and set symbol_
10709
10710 const common::optional<std::wstring>& symbol() const override;
10711
10712 common::optional<std::wstring>& mutable_symbol() override;
10713
10714 void set_symbol(
10715 common::optional<std::wstring> value
10716 ) override;
10717
10718 // endregion
10719
10720 // region Get and set data_type_
10721
10722 const common::optional<DataTypeIec61360>& data_type() const override;
10723
10724 common::optional<DataTypeIec61360>& mutable_data_type() override;
10725
10726 void set_data_type(
10727 common::optional<DataTypeIec61360> value
10728 ) override;
10729
10730 // endregion
10731
10732 // region Get and set definition_
10733
10734 const common::optional<
10735 std::vector<
10736 std::shared_ptr<ILangStringDefinitionTypeIec61360>
10737 >
10738 >& definition() const override;
10739
10740 common::optional<
10741 std::vector<
10742 std::shared_ptr<ILangStringDefinitionTypeIec61360>
10743 >
10744 >& mutable_definition() override;
10745
10746 void set_definition(
10747 common::optional<
10748 std::vector<
10749 std::shared_ptr<ILangStringDefinitionTypeIec61360>
10750 >
10751 > value
10752 ) override;
10753
10754 // endregion
10755
10756 // region Get and set value_format_
10757
10758 const common::optional<std::wstring>& value_format() const override;
10759
10760 common::optional<std::wstring>& mutable_value_format() override;
10761
10762 void set_value_format(
10763 common::optional<std::wstring> value
10764 ) override;
10765
10766 // endregion
10767
10768 // region Get and set value_list_
10769
10770 const common::optional<
10771 std::shared_ptr<IValueList>
10772 >& value_list() const override;
10773
10774 common::optional<
10775 std::shared_ptr<IValueList>
10776 >& mutable_value_list() override;
10777
10778 void set_value_list(
10779 common::optional<
10780 std::shared_ptr<IValueList>
10781 > value
10782 ) override;
10783
10784 // endregion
10785
10786 // region Get and set value_
10787
10788 const common::optional<std::wstring>& value() const override;
10789
10790 common::optional<std::wstring>& mutable_value() override;
10791
10792 void set_value(
10793 common::optional<std::wstring> value
10794 ) override;
10795
10796 // endregion
10797
10798 // region Get and set level_type_
10799
10800 const common::optional<
10801 std::shared_ptr<ILevelType>
10802 >& level_type() const override;
10803
10804 common::optional<
10805 std::shared_ptr<ILevelType>
10806 >& mutable_level_type() override;
10807
10808 void set_level_type(
10809 common::optional<
10810 std::shared_ptr<ILevelType>
10811 > value
10812 ) override;
10813
10814 // endregion
10815
10816 ~DataSpecificationIec61360() override = default;
10817
10818 private:
10819 std::vector<
10820 std::shared_ptr<ILangStringPreferredNameTypeIec61360>
10821 > preferred_name_;
10822
10823 common::optional<
10824 std::vector<
10825 std::shared_ptr<ILangStringShortNameTypeIec61360>
10826 >
10827 > short_name_;
10828
10829 common::optional<std::wstring> unit_;
10830
10831 common::optional<
10832 std::shared_ptr<IReference>
10833 > unit_id_;
10834
10835 common::optional<std::wstring> source_of_definition_;
10836
10837 common::optional<std::wstring> symbol_;
10838
10839 common::optional<DataTypeIec61360> data_type_;
10840
10841 common::optional<
10842 std::vector<
10843 std::shared_ptr<ILangStringDefinitionTypeIec61360>
10844 >
10845 > definition_;
10846
10847 common::optional<std::wstring> value_format_;
10848
10849 common::optional<
10850 std::shared_ptr<IValueList>
10851 > value_list_;
10852
10853 common::optional<std::wstring> value_;
10854
10855 common::optional<
10856 std::shared_ptr<ILevelType>
10857 > level_type_;
10858};
10859
10860// endregion
10861
10862// region Is-a functions
10863
10876 const IClass& that
10877);
10878
10891 const IClass& that
10892);
10893
10906 const IClass& that
10907);
10908
10921 const IClass& that
10922);
10923
10936 const IClass& that
10937);
10938
10951 const IClass& that
10952);
10953
10966 const IClass& that
10967);
10968
10981 const IClass& that
10982);
10983
10996 const IClass& that
10997);
10998
11011 const IClass& that
11012);
11013
11026 const IClass& that
11027);
11028
11041 const IClass& that
11042);
11043
11056 const IClass& that
11057);
11058
11071 const IClass& that
11072);
11073
11086 const IClass& that
11087);
11088
11101 const IClass& that
11102);
11103
11116 const IClass& that
11117);
11118
11131 const IClass& that
11132);
11133
11146 const IClass& that
11147);
11148
11161 const IClass& that
11162);
11163
11176 const IClass& that
11177);
11178
11191 const IClass& that
11192);
11193
11206 const IClass& that
11207);
11208
11221 const IClass& that
11222);
11223
11236 const IClass& that
11237);
11238
11251 const IClass& that
11252);
11253
11266 const IClass& that
11267);
11268
11281 const IClass& that
11282);
11283
11296 const IClass& that
11297);
11298
11311 const IClass& that
11312);
11313
11326 const IClass& that
11327);
11328
11341 const IClass& that
11342);
11343
11356 const IClass& that
11357);
11358
11371 const IClass& that
11372);
11373
11386 const IClass& that
11387);
11388
11401 const IClass& that
11402);
11403
11416 const IClass& that
11417);
11418
11431 const IClass& that
11432);
11433
11446 const IClass& that
11447);
11448
11461 const IClass& that
11462);
11463
11476 const IClass& that
11477);
11478
11491 const IClass& that
11492);
11493
11506 const IClass& that
11507);
11508
11521 const IClass& that
11522);
11523
11536 const IClass& that
11537);
11538
11551 const IClass& that
11552);
11553
11566 const IClass& that
11567);
11568
11581 const IClass& that
11582);
11583
11596 const IClass& that
11597);
11598
11611 const IClass& that
11612);
11613
11614// endregion Is-a functions
11615
11616} // namespace types
11617
11618
11619} // namespace aas_3_0
11620} // namespace aas_core
11621
11622// This code has been automatically generated by aas-core-codegen.
11623// Do NOT edit or append.
11624
11625#endif // AAS_CORE_AAS_3_0_TYPES_GUARD_
Strings with language tags.
Definition types.hpp:2777
virtual std::wstring & mutable_language()=0
virtual const std::wstring & text() const =0
Text in the IAbstractLangString::language.
virtual const std::wstring & language() const =0
Language tag conforming to BCP 47.
virtual void set_language(std::wstring value)=0
virtual void set_text(std::wstring value)=0
Administrative meta-information for an element like version information.
Definition types.hpp:863
virtual void set_template_id(common::optional< std::wstring > value)=0
virtual void set_revision(common::optional< std::wstring > value)=0
virtual common::optional< std::wstring > & mutable_revision()=0
virtual common::optional< std::wstring > & mutable_template_id()=0
virtual const common::optional< std::wstring > & version() const =0
Version of the element.
virtual void set_creator(common::optional< std::shared_ptr< IReference > > value)=0
virtual common::optional< std::wstring > & mutable_version()=0
virtual common::optional< std::shared_ptr< IReference > > & mutable_creator()=0
virtual const common::optional< std::wstring > & revision() const =0
Revision of the element.
virtual void set_version(common::optional< std::wstring > value)=0
virtual const common::optional< std::wstring > & template_id() const =0
Identifier of the template that guided the creation of the element.
virtual const common::optional< std::shared_ptr< IReference > > & creator() const =0
The subject ID of the subject responsible for making the element.
An annotated relationship element is a relationship element that can be annotated with additional dat...
Definition types.hpp:1949
virtual void set_annotations(common::optional< std::vector< std::shared_ptr< IDataElement > > > value)=0
virtual const common::optional< std::vector< std::shared_ptr< IDataElement > > > & annotations() const =0
A data element that represents an annotation that holds for the relationship between the two elements...
virtual common::optional< std::vector< std::shared_ptr< IDataElement > > > & mutable_annotations()=0
An asset administration shell.
Definition types.hpp:1076
virtual const std::shared_ptr< IAssetInformation > & asset_information() const =0
Meta-information about the asset the AAS is representing.
virtual common::optional< std::shared_ptr< IReference > > & mutable_derived_from()=0
virtual std::shared_ptr< IAssetInformation > & mutable_asset_information()=0
virtual common::optional< std::vector< std::shared_ptr< IReference > > > & mutable_submodels()=0
virtual const common::optional< std::shared_ptr< IReference > > & derived_from() const =0
The reference to the AAS the AAS was derived from.
virtual void set_derived_from(common::optional< std::shared_ptr< IReference > > value)=0
virtual const common::optional< std::vector< std::shared_ptr< IReference > > > & submodels() const =0
References to submodels of the AAS.
virtual void set_asset_information(std::shared_ptr< IAssetInformation > value)=0
virtual void set_submodels(common::optional< std::vector< std::shared_ptr< IReference > > > value)=0
In IAssetInformation identifying meta data of the asset that is represented by an AAS is defined.
Definition types.hpp:1178
virtual const common::optional< std::wstring > & asset_type() const =0
In case IAssetInformation::asset_kind is applicable the IAssetInformation::asset_type is the asset ID...
virtual AssetKind & mutable_asset_kind()=0
virtual const common::optional< std::shared_ptr< IResource > > & default_thumbnail() const =0
Thumbnail of the asset represented by the Asset Administration Shell.
virtual AssetKind asset_kind() const =0
Denotes whether the Asset is of kind AssetKind::kType or AssetKind::kInstance.
virtual common::optional< std::wstring > & mutable_global_asset_id()=0
virtual void set_global_asset_id(common::optional< std::wstring > value)=0
virtual common::optional< std::wstring > & mutable_asset_type()=0
virtual common::optional< std::shared_ptr< IResource > > & mutable_default_thumbnail()=0
virtual void set_specific_asset_ids(common::optional< std::vector< std::shared_ptr< ISpecificAssetId > > > value)=0
virtual void set_asset_type(common::optional< std::wstring > value)=0
virtual void set_asset_kind(AssetKind value)=0
virtual const common::optional< std::wstring > & global_asset_id() const =0
Global identifier of the asset the AAS is representing.
virtual common::optional< std::vector< std::shared_ptr< ISpecificAssetId > > > & mutable_specific_asset_ids()=0
virtual const common::optional< std::vector< std::shared_ptr< ISpecificAssetId > > > & specific_asset_ids() const =0
Additional domain-specific, typically proprietary identifier for the asset like e....
virtual void set_default_thumbnail(common::optional< std::shared_ptr< IResource > > value)=0
A basic event element.
Definition types.hpp:2238
virtual const common::optional< std::shared_ptr< IReference > > & message_broker() const =0
Information, which outer message infrastructure shall handle messages for the IEventElement....
virtual common::optional< std::wstring > & mutable_last_update()=0
virtual void set_direction(Direction value)=0
virtual const common::optional< std::wstring > & last_update() const =0
Timestamp in UTC, when the last event was received (input direction) or sent (output direction).
virtual void set_message_broker(common::optional< std::shared_ptr< IReference > > value)=0
virtual void set_last_update(common::optional< std::wstring > value)=0
virtual void set_min_interval(common::optional< std::wstring > value)=0
virtual std::shared_ptr< IReference > & mutable_observed()=0
virtual void set_message_topic(common::optional< std::wstring > value)=0
virtual common::optional< std::wstring > & mutable_min_interval()=0
virtual const common::optional< std::wstring > & min_interval() const =0
For input direction, reports on the maximum frequency, the software entity behind the respective Refe...
virtual common::optional< std::wstring > & mutable_max_interval()=0
virtual const common::optional< std::wstring > & message_topic() const =0
Information for the outer message infrastructure for scheduling the event to the respective communica...
virtual void set_observed(std::shared_ptr< IReference > value)=0
virtual common::optional< std::wstring > & mutable_message_topic()=0
virtual Direction direction() const =0
Direction of event.
virtual StateOfEvent & mutable_state()=0
virtual const common::optional< std::wstring > & max_interval() const =0
For input direction: not applicable.
virtual StateOfEvent state() const =0
State of event.
virtual void set_state(StateOfEvent value)=0
virtual common::optional< std::shared_ptr< IReference > > & mutable_message_broker()=0
virtual void set_max_interval(common::optional< std::wstring > value)=0
virtual const std::shared_ptr< IReference > & observed() const =0
Reference to the IReferable, which defines the scope of the event. Can be IAssetAdministrationShell,...
A IBlob is a data element that represents a file that is contained with its source code in the value ...
Definition types.hpp:1860
virtual void set_content_type(std::wstring value)=0
virtual common::optional< std::vector< std::uint8_t > > & mutable_value()=0
virtual const common::optional< std::vector< std::uint8_t > > & value() const =0
The value of the IBlob instance of a blob data element.
virtual void set_value(common::optional< std::vector< std::uint8_t > > value)=0
virtual std::wstring & mutable_content_type()=0
virtual const std::wstring & content_type() const =0
Content type of the content of the IBlob.
A capability is the implementation-independent description of the potential of an asset to achieve a ...
Definition types.hpp:2498
Definition types.hpp:456
virtual ModelType model_type() const =0
The semantics of a property or other elements that may have a semantic description is defined by a co...
Definition types.hpp:2563
virtual const common::optional< std::vector< std::shared_ptr< IReference > > > & is_case_of() const =0
Reference to an external definition the concept is compatible to or was derived from.
virtual void set_is_case_of(common::optional< std::vector< std::shared_ptr< IReference > > > value)=0
virtual common::optional< std::vector< std::shared_ptr< IReference > > > & mutable_is_case_of()=0
A data element is a submodel element that is not further composed out of other submodel elements.
Definition types.hpp:1653
virtual std::wstring CategoryOrDefault() const =0
Data specification content is part of a data specification template and defines which additional attr...
Definition types.hpp:2920
Embed the content of a data specification.
Definition types.hpp:2927
virtual void set_data_specification_content(std::shared_ptr< IDataSpecificationContent > value)=0
virtual std::shared_ptr< IReference > & mutable_data_specification()=0
virtual const std::shared_ptr< IReference > & data_specification() const =0
Reference to the data specification.
virtual void set_data_specification(std::shared_ptr< IReference > value)=0
virtual const std::shared_ptr< IDataSpecificationContent > & data_specification_content() const =0
Actual content of the data specification.
virtual std::shared_ptr< IDataSpecificationContent > & mutable_data_specification_content()=0
An entity is a submodel element that is used to model entities.
Definition types.hpp:1987
virtual EntityType & mutable_entity_type()=0
virtual common::optional< std::vector< std::shared_ptr< ISpecificAssetId > > > & mutable_specific_asset_ids()=0
virtual const common::optional< std::wstring > & global_asset_id() const =0
Global identifier of the asset the entity is representing.
virtual void set_specific_asset_ids(common::optional< std::vector< std::shared_ptr< ISpecificAssetId > > > value)=0
virtual const common::optional< std::vector< std::shared_ptr< ISpecificAssetId > > > & specific_asset_ids() const =0
Reference to a specific asset ID representing a supplementary identifier of the asset represented by ...
virtual void set_entity_type(EntityType value)=0
virtual EntityType entity_type() const =0
Describes whether the entity is a co-managed entity or a self-managed entity.
virtual common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > & mutable_statements()=0
virtual void set_statements(common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > value)=0
virtual const common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > & statements() const =0
Describes statements applicable to the entity by a set of submodel elements, typically with a qualifi...
virtual common::optional< std::wstring > & mutable_global_asset_id()=0
virtual void set_global_asset_id(common::optional< std::wstring > value)=0
Container for the sets of different identifiables.
Definition types.hpp:2828
virtual common::optional< std::vector< std::shared_ptr< IConceptDescription > > > & mutable_concept_descriptions()=0
virtual common::optional< std::vector< std::shared_ptr< ISubmodel > > > & mutable_submodels()=0
virtual common::optional< std::vector< std::shared_ptr< IAssetAdministrationShell > > > & mutable_asset_administration_shells()=0
virtual const common::optional< std::vector< std::shared_ptr< ISubmodel > > > & submodels() const =0
Submodel.
virtual void set_asset_administration_shells(common::optional< std::vector< std::shared_ptr< IAssetAdministrationShell > > > value)=0
virtual const common::optional< std::vector< std::shared_ptr< IConceptDescription > > > & concept_descriptions() const =0
Concept description.
virtual const common::optional< std::vector< std::shared_ptr< IAssetAdministrationShell > > > & asset_administration_shells() const =0
Asset administration shell.
virtual void set_concept_descriptions(common::optional< std::vector< std::shared_ptr< IConceptDescription > > > value)=0
virtual void set_submodels(common::optional< std::vector< std::shared_ptr< ISubmodel > > > value)=0
An event element.
Definition types.hpp:2228
Defines the necessary information of an event instance sent out or received.
Definition types.hpp:2077
virtual void set_source_semantic_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual void set_topic(common::optional< std::wstring > value)=0
virtual const common::optional< std::vector< std::uint8_t > > & payload() const =0
Event specific payload.
virtual void set_source(std::shared_ptr< IReference > value)=0
virtual const common::optional< std::wstring > & topic() const =0
Information for the outer message infrastructure for scheduling the event to the respective communica...
virtual const std::shared_ptr< IReference > & observable_reference() const =0
Reference to the referable, which defines the scope of the event.
virtual std::wstring & mutable_time_stamp()=0
virtual std::shared_ptr< IReference > & mutable_source()=0
virtual const std::shared_ptr< IReference > & source() const =0
Reference to the source event element, including identification of IAssetAdministrationShell,...
virtual common::optional< std::shared_ptr< IReference > > & mutable_subject_id()=0
virtual void set_subject_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual const std::wstring & time_stamp() const =0
Timestamp in UTC, when this event was triggered.
virtual common::optional< std::shared_ptr< IReference > > & mutable_observable_semantic_id()=0
virtual const common::optional< std::shared_ptr< IReference > > & observable_semantic_id() const =0
IHasSemantics::semantic_id of the referable which defines the scope of the event, if available.
virtual common::optional< std::shared_ptr< IReference > > & mutable_source_semantic_id()=0
virtual common::optional< std::vector< std::uint8_t > > & mutable_payload()=0
virtual const common::optional< std::shared_ptr< IReference > > & source_semantic_id() const =0
IHasSemantics::semantic_id of the source event element, if available.
virtual void set_payload(common::optional< std::vector< std::uint8_t > > value)=0
virtual void set_time_stamp(std::wstring value)=0
virtual void set_observable_reference(std::shared_ptr< IReference > value)=0
virtual const common::optional< std::shared_ptr< IReference > > & subject_id() const =0
Subject, who/which initiated the creation.
virtual std::shared_ptr< IReference > & mutable_observable_reference()=0
virtual void set_observable_semantic_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual common::optional< std::wstring > & mutable_topic()=0
Single extension of an element.
Definition types.hpp:529
virtual common::optional< std::wstring > & mutable_value()=0
virtual const std::wstring & name() const =0
Name of the extension.
virtual void set_value_type(common::optional< DataTypeDefXsd > value)=0
virtual const common::optional< DataTypeDefXsd > & value_type() const =0
Type of the value of the extension.
virtual std::wstring & mutable_name()=0
virtual common::optional< DataTypeDefXsd > & mutable_value_type()=0
virtual common::optional< std::vector< std::shared_ptr< IReference > > > & mutable_refers_to()=0
virtual DataTypeDefXsd ValueTypeOrDefault() const =0
virtual void set_value(common::optional< std::wstring > value)=0
virtual const common::optional< std::vector< std::shared_ptr< IReference > > > & refers_to() const =0
Reference to an element the extension refers to.
virtual void set_name(std::wstring value)=0
virtual void set_refers_to(common::optional< std::vector< std::shared_ptr< IReference > > > value)=0
virtual const common::optional< std::wstring > & value() const =0
Value of the extension.
A File is a data element that represents an address to a file (a locator).
Definition types.hpp:1911
virtual common::optional< std::wstring > & mutable_value()=0
virtual const common::optional< std::wstring > & value() const =0
Path and name of the referenced file (with file extension).
virtual void set_content_type(std::wstring value)=0
virtual std::wstring & mutable_content_type()=0
virtual void set_value(common::optional< std::wstring > value)=0
virtual const std::wstring & content_type() const =0
Content type of the content of the file.
Element that can be extended by using data specification templates.
Definition types.hpp:825
virtual const common::optional< std::vector< std::shared_ptr< IEmbeddedDataSpecification > > > & embedded_data_specifications() const =0
Embedded data specification.
virtual void set_embedded_data_specifications(common::optional< std::vector< std::shared_ptr< IEmbeddedDataSpecification > > > value)=0
virtual common::optional< std::vector< std::shared_ptr< IEmbeddedDataSpecification > > > & mutable_embedded_data_specifications()=0
Element that can be extended by proprietary extensions.
Definition types.hpp:606
virtual common::optional< std::vector< std::shared_ptr< IExtension > > > & mutable_extensions()=0
virtual const common::optional< std::vector< std::shared_ptr< IExtension > > > & extensions() const =0
An extension of the element.
virtual void set_extensions(common::optional< std::vector< std::shared_ptr< IExtension > > > value)=0
An element with a kind is an element that can either represent a template or an instance.
Definition types.hpp:797
virtual common::optional< ModellingKind > & mutable_kind()=0
virtual void set_kind(common::optional< ModellingKind > value)=0
virtual ModellingKind KindOrDefault() const =0
virtual const common::optional< ModellingKind > & kind() const =0
Kind of the element: either type or instance.
Element that can have a semantic definition plus some supplemental semantic definitions.
Definition types.hpp:472
virtual const common::optional< std::shared_ptr< IReference > > & semantic_id() const =0
Identifier of the semantic definition of the element. It is called semantic ID of the element or also...
virtual const common::optional< std::vector< std::shared_ptr< IReference > > > & supplemental_semantic_ids() const =0
Identifier of a supplemental semantic definition of the element. It is called supplemental semantic I...
virtual void set_supplemental_semantic_ids(common::optional< std::vector< std::shared_ptr< IReference > > > value)=0
virtual common::optional< std::vector< std::shared_ptr< IReference > > > & mutable_supplemental_semantic_ids()=0
virtual void set_semantic_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual common::optional< std::shared_ptr< IReference > > & mutable_semantic_id()=0
An element that has a globally unique identifier.
Definition types.hpp:752
virtual std::wstring & mutable_id()=0
virtual void set_administration(common::optional< std::shared_ptr< IAdministrativeInformation > > value)=0
virtual const std::wstring & id() const =0
The globally unique identification of the element.
virtual common::optional< std::shared_ptr< IAdministrativeInformation > > & mutable_administration()=0
virtual void set_id(std::wstring value)=0
virtual const common::optional< std::shared_ptr< IAdministrativeInformation > > & administration() const =0
Administrative information of an identifiable element.
A key is a reference to an element by its ID.
Definition types.hpp:2734
virtual void set_type(KeyTypes value)=0
virtual std::wstring & mutable_value()=0
virtual const std::wstring & value() const =0
The key value, for example an IRDI or an URI.
virtual KeyTypes & mutable_type()=0
virtual KeyTypes type() const =0
Denotes which kind of entity is referenced.
virtual void set_value(std::wstring value)=0
String with length 1023 maximum and minimum 1 characters and with language tags.
Definition types.hpp:3127
String with length 128 maximum and minimum 1 characters and with language tags.
Definition types.hpp:2810
String with length 255 maximum and minimum 1 characters and with language tags.
Definition types.hpp:3113
String with length 18 maximum and minimum 1 characters and with language tags.
Definition types.hpp:3120
String with length 1023 maximum and minimum 1 characters and with language tags.
Definition types.hpp:2817
Value represented by up to four variants of a numeric value in a specific role: MIN,...
Definition types.hpp:2990
virtual bool nom() const =0
Nominal value (value as designated)
virtual bool typ() const =0
Value as typically present.
virtual bool max() const =0
Maximum of the value.
virtual void set_nom(bool value)=0
virtual void set_min(bool value)=0
virtual void set_max(bool value)=0
virtual bool min() const =0
Minimum of the value.
virtual void set_typ(bool value)=0
A property is a data element that has a multi-language value.
Definition types.hpp:1726
virtual const common::optional< std::vector< std::shared_ptr< ILangStringTextType > > > & value() const =0
The value of the property instance.
virtual void set_value_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual common::optional< std::vector< std::shared_ptr< ILangStringTextType > > > & mutable_value()=0
virtual common::optional< std::shared_ptr< IReference > > & mutable_value_id()=0
virtual void set_value(common::optional< std::vector< std::shared_ptr< ILangStringTextType > > > value)=0
virtual const common::optional< std::shared_ptr< IReference > > & value_id() const =0
Reference to the global unique ID of a coded value.
The value of an operation variable is a submodel element that is used as input and/or output variable...
Definition types.hpp:2474
virtual std::shared_ptr< ISubmodelElement > & mutable_value()=0
virtual void set_value(std::shared_ptr< ISubmodelElement > value)=0
virtual const std::shared_ptr< ISubmodelElement > & value() const =0
Describes an argument or result of an operation via a submodel element.
An operation is a submodel element with input and output variables.
Definition types.hpp:2391
virtual const common::optional< std::vector< std::shared_ptr< IOperationVariable > > > & input_variables() const =0
Input parameter of the operation.
virtual const common::optional< std::vector< std::shared_ptr< IOperationVariable > > > & inoutput_variables() const =0
Parameter that is input and output of the operation.
virtual void set_input_variables(common::optional< std::vector< std::shared_ptr< IOperationVariable > > > value)=0
virtual common::optional< std::vector< std::shared_ptr< IOperationVariable > > > & mutable_output_variables()=0
virtual common::optional< std::vector< std::shared_ptr< IOperationVariable > > > & mutable_input_variables()=0
virtual const common::optional< std::vector< std::shared_ptr< IOperationVariable > > > & output_variables() const =0
Output parameter of the operation.
virtual void set_inoutput_variables(common::optional< std::vector< std::shared_ptr< IOperationVariable > > > value)=0
virtual void set_output_variables(common::optional< std::vector< std::shared_ptr< IOperationVariable > > > value)=0
virtual common::optional< std::vector< std::shared_ptr< IOperationVariable > > > & mutable_inoutput_variables()=0
A property is a data element that has a single value.
Definition types.hpp:1667
virtual common::optional< std::wstring > & mutable_value()=0
virtual DataTypeDefXsd value_type() const =0
Data type of the value.
virtual common::optional< std::shared_ptr< IReference > > & mutable_value_id()=0
virtual void set_value_type(DataTypeDefXsd value)=0
virtual DataTypeDefXsd & mutable_value_type()=0
virtual void set_value_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual void set_value(common::optional< std::wstring > value)=0
virtual const common::optional< std::shared_ptr< IReference > > & value_id() const =0
Reference to the global unique ID of a coded value.
virtual const common::optional< std::wstring > & value() const =0
The value of the property instance.
The value of a qualifiable element may be further qualified by one or more qualifiers.
Definition types.hpp:946
virtual common::optional< std::vector< std::shared_ptr< IQualifier > > > & mutable_qualifiers()=0
virtual const common::optional< std::vector< std::shared_ptr< IQualifier > > > & qualifiers() const =0
Additional qualification of a qualifiable element.
virtual void set_qualifiers(common::optional< std::vector< std::shared_ptr< IQualifier > > > value)=0
A qualifier is a type-value-pair that makes additional statements w.r.t. the value of the element.
Definition types.hpp:989
virtual void set_type(std::wstring value)=0
virtual common::optional< std::shared_ptr< IReference > > & mutable_value_id()=0
virtual const common::optional< std::wstring > & value() const =0
The qualifier value is the value of the qualifier.
virtual void set_value_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual DataTypeDefXsd & mutable_value_type()=0
virtual common::optional< std::wstring > & mutable_value()=0
virtual void set_kind(common::optional< QualifierKind > value)=0
virtual common::optional< QualifierKind > & mutable_kind()=0
virtual const std::wstring & type() const =0
The qualifier type describes the type of the qualifier that is applied to the element.
virtual const common::optional< QualifierKind > & kind() const =0
The qualifier kind describes the kind of the qualifier that is applied to the element.
virtual QualifierKind KindOrDefault() const =0
virtual void set_value_type(DataTypeDefXsd value)=0
virtual DataTypeDefXsd value_type() const =0
Data type of the qualifier value.
virtual const common::optional< std::shared_ptr< IReference > > & value_id() const =0
Reference to the global unique ID of a coded value.
virtual void set_value(common::optional< std::wstring > value)=0
virtual std::wstring & mutable_type()=0
A range data element is a data element that defines a range with min and max.
Definition types.hpp:1779
virtual DataTypeDefXsd value_type() const =0
Data type of the min und max.
virtual void set_value_type(DataTypeDefXsd value)=0
virtual common::optional< std::wstring > & mutable_max()=0
virtual void set_min(common::optional< std::wstring > value)=0
virtual DataTypeDefXsd & mutable_value_type()=0
virtual common::optional< std::wstring > & mutable_min()=0
virtual const common::optional< std::wstring > & max() const =0
The maximum value of the range.
virtual void set_max(common::optional< std::wstring > value)=0
virtual const common::optional< std::wstring > & min() const =0
The minimum value of the range.
An element that is referable by its IReferable::id_short.
Definition types.hpp:645
virtual const common::optional< std::vector< std::shared_ptr< ILangStringTextType > > > & description() const =0
Description or comments on the element.
virtual const common::optional< std::wstring > & id_short() const =0
In case of identifiables this attribute is a short name of the element. In case of referable this ID ...
virtual void set_description(common::optional< std::vector< std::shared_ptr< ILangStringTextType > > > value)=0
virtual void set_display_name(common::optional< std::vector< std::shared_ptr< ILangStringNameType > > > value)=0
virtual const common::optional< std::wstring > & category() const =0
The category is a value that gives further meta information w.r.t. to the class of the element....
virtual void set_category(common::optional< std::wstring > value)=0
virtual common::optional< std::vector< std::shared_ptr< ILangStringTextType > > > & mutable_description()=0
virtual common::optional< std::wstring > & mutable_category()=0
virtual const common::optional< std::vector< std::shared_ptr< ILangStringNameType > > > & display_name() const =0
Display name. Can be provided in several languages.
virtual common::optional< std::vector< std::shared_ptr< ILangStringNameType > > > & mutable_display_name()=0
virtual common::optional< std::wstring > & mutable_id_short()=0
virtual void set_id_short(common::optional< std::wstring > value)=0
A reference element is a data element that defines a logical reference to another element within the ...
Definition types.hpp:1831
virtual common::optional< std::shared_ptr< IReference > > & mutable_value()=0
virtual const common::optional< std::shared_ptr< IReference > > & value() const =0
Global reference to an external object or entity or a logical reference to another element within the...
virtual void set_value(common::optional< std::shared_ptr< IReference > > value)=0
Reference to either a model element of the same or another AAS or to an external entity.
Definition types.hpp:2669
virtual common::optional< std::shared_ptr< IReference > > & mutable_referred_semantic_id()=0
virtual const common::optional< std::shared_ptr< IReference > > & referred_semantic_id() const =0
IHasSemantics::semantic_id of the referenced model element (IReference::type = ReferenceTypes::kModel...
virtual std::vector< std::shared_ptr< IKey > > & mutable_keys()=0
virtual ReferenceTypes & mutable_type()=0
virtual ReferenceTypes type() const =0
Type of the reference.
virtual void set_referred_semantic_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual void set_type(ReferenceTypes value)=0
virtual void set_keys(std::vector< std::shared_ptr< IKey > > value)=0
virtual const std::vector< std::shared_ptr< IKey > > & keys() const =0
Unique references in their name space.
A relationship element is used to define a relationship between two elements being either referable (...
Definition types.hpp:1446
virtual void set_first(std::shared_ptr< IReference > value)=0
virtual std::shared_ptr< IReference > & mutable_first()=0
virtual void set_second(std::shared_ptr< IReference > value)=0
virtual std::shared_ptr< IReference > & mutable_second()=0
virtual const std::shared_ptr< IReference > & first() const =0
Reference to the first element in the relationship taking the role of the subject.
virtual const std::shared_ptr< IReference > & second() const =0
Reference to the second element in the relationship taking the role of the object.
Resource represents an address to a file (a locator). The value is an URI that can represent an absol...
Definition types.hpp:1286
virtual void set_path(std::wstring value)=0
virtual common::optional< std::wstring > & mutable_content_type()=0
virtual void set_content_type(common::optional< std::wstring > value)=0
virtual const common::optional< std::wstring > & content_type() const =0
Content type of the content of the file.
virtual std::wstring & mutable_path()=0
virtual const std::wstring & path() const =0
Path and name of the resource (with file extension).
A specific asset ID describes a generic supplementary identifying attribute of the asset.
Definition types.hpp:1330
virtual const std::wstring & value() const =0
The value of the specific asset identifier with the corresponding name.
virtual void set_name(std::wstring value)=0
virtual void set_value(std::wstring value)=0
virtual const std::wstring & name() const =0
Name of the identifier.
virtual std::wstring & mutable_value()=0
virtual common::optional< std::shared_ptr< IReference > > & mutable_external_subject_id()=0
virtual std::wstring & mutable_name()=0
virtual void set_external_subject_id(common::optional< std::shared_ptr< IReference > > value)=0
virtual const common::optional< std::shared_ptr< IReference > > & external_subject_id() const =0
The (external) subject the key belongs to or has meaning to.
A submodel element collection is a kind of struct, i.e. a a logical encapsulation of multiple named v...
Definition types.hpp:1611
virtual const common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > & value() const =0
Submodel element contained in the collection.
virtual void set_value(common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > value)=0
virtual common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > & mutable_value()=0
A submodel element list is an ordered list of submodel elements.
Definition types.hpp:1511
virtual common::optional< std::shared_ptr< IReference > > & mutable_semantic_id_list_element()=0
virtual const common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > & value() const =0
Submodel element contained in the list.
virtual void set_type_value_list_element(AasSubmodelElements value)=0
virtual const common::optional< DataTypeDefXsd > & value_type_list_element() const =0
The value type of the submodel element contained in the list.
virtual void set_value_type_list_element(common::optional< DataTypeDefXsd > value)=0
virtual void set_order_relevant(common::optional< bool > value)=0
virtual common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > & mutable_value()=0
virtual common::optional< DataTypeDefXsd > & mutable_value_type_list_element()=0
virtual AasSubmodelElements type_value_list_element() const =0
The submodel element type of the submodel elements contained in the list.
virtual void set_value(common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > value)=0
virtual const common::optional< bool > & order_relevant() const =0
Defines whether order in list is relevant. If ISubmodelElementList::order_relevant = False then the l...
virtual const common::optional< std::shared_ptr< IReference > > & semantic_id_list_element() const =0
Semantic ID the submodel elements contained in the list match to.
virtual common::optional< bool > & mutable_order_relevant()=0
virtual void set_semantic_id_list_element(common::optional< std::shared_ptr< IReference > > value)=0
virtual AasSubmodelElements & mutable_type_value_list_element()=0
A submodel element is an element suitable for the description and differentiation of assets.
Definition types.hpp:1438
A submodel defines a specific aspect of the asset represented by the AAS.
Definition types.hpp:1393
virtual common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > & mutable_submodel_elements()=0
virtual const common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > & submodel_elements() const =0
A submodel consists of zero or more submodel elements.
virtual void set_submodel_elements(common::optional< std::vector< std::shared_ptr< ISubmodelElement > > > value)=0
A set of value reference pairs.
Definition types.hpp:3085
virtual const std::vector< std::shared_ptr< IValueReferencePair > > & value_reference_pairs() const =0
A pair of a value together with its global unique id.
virtual void set_value_reference_pairs(std::vector< std::shared_ptr< IValueReferencePair > > value)=0
virtual std::vector< std::shared_ptr< IValueReferencePair > > & mutable_value_reference_pairs()=0
A value reference pair within a value list. Each value has a global unique id defining its semantic.
Definition types.hpp:3050
virtual const std::wstring & value() const =0
The value of the referenced concept definition of the value in IValueReferencePair::value_id.
virtual std::shared_ptr< IReference > & mutable_value_id()=0
virtual void set_value_id(std::shared_ptr< IReference > value)=0
virtual std::wstring & mutable_value()=0
virtual void set_value(std::wstring value)=0
virtual const std::shared_ptr< IReference > & value_id() const =0
Global unique id of the value.
Property
Definition iteration.hpp:30
Definition types.hpp:24
bool IsHasExtensions(const IClass &that)
Check whether that instance is of runtime type IHasExtensions.
bool IsFile(const IClass &that)
Check whether that instance is of runtime type IFile.
DataTypeIec61360
Definition types.hpp:263
@ kStringTranslatable
values containing string but shall be represented as different string in different languages
Definition types.hpp:273
@ kRationalMeasure
values containing values of type rational. In addition such a value comes with a physical unit.
Definition types.hpp:313
@ kHtml
Values containing string with any sequence of characters, using the syntax of HTML5 (see W3C Recommen...
Definition types.hpp:335
@ kRealCount
values containing numbers that can be written as a terminating or non-terminating decimal; a rational...
Definition types.hpp:286
@ kIntegerCount
values containing values of type INTEGER but are no currencies or measures
Definition types.hpp:278
@ kRealMeasure
values containing values that are measures of type REAL. In addition such a value comes with a physic...
Definition types.hpp:283
@ kIrdi
values conforming to ISO/IEC 11179 series global identifier sequences
Definition types.hpp:308
@ kRational
values containing values of type rational
Definition types.hpp:310
@ kIntegerMeasure
values containing values that are measure of type INTEGER. In addition such a value comes with a phys...
Definition types.hpp:276
@ kRealCurrency
values containing values of type REAL that are currencies
Definition types.hpp:288
@ kTimestamp
values containing a time, conformant to ISO 8601:2004 but restricted to what is allowed in the corres...
Definition types.hpp:327
@ kIri
values containing values of type STRING conformant to Rfc 3987
Definition types.hpp:295
@ kIntegerCurrency
values containing values of type INTEGER that are currencies
Definition types.hpp:280
AasSubmodelElements
Enumeration of all possible elements of a ISubmodelElementList.
Definition types.hpp:115
@ kSubmodelElement
Definition types.hpp:130
ModellingKind
Enumeration for denoting whether an element is a template or an instance.
Definition types.hpp:75
@ kTemplate
Specification of the common features of a structured element in sufficient detail that such a instanc...
Definition types.hpp:78
@ kInstance
Concrete, clearly identifiable element instance. Its creation and validation may be guided by a corre...
Definition types.hpp:81
bool IsQualifiable(const IClass &that)
Check whether that instance is of runtime type IQualifiable.
ModelType
Definition types.hpp:33
@ kAdministrativeInformation
Definition types.hpp:35
@ kBasicEventElement
Definition types.hpp:54
@ kRelationshipElement
Definition types.hpp:42
@ kFile
Definition types.hpp:50
@ kValueList
Definition types.hpp:67
@ kAssetInformation
Definition types.hpp:38
@ kLevelType
Definition types.hpp:65
@ kRange
Definition types.hpp:47
@ kOperationVariable
Definition types.hpp:56
@ kReferenceElement
Definition types.hpp:48
@ kKey
Definition types.hpp:60
@ kSubmodel
Definition types.hpp:41
@ kLangStringTextType
Definition types.hpp:62
@ kValueReferencePair
Definition types.hpp:66
@ kSubmodelElementCollection
Definition types.hpp:44
@ kBlob
Definition types.hpp:49
@ kEmbeddedDataSpecification
Definition types.hpp:64
@ kLangStringDefinitionTypeIec61360
Definition types.hpp:70
@ kEntity
Definition types.hpp:52
@ kCapability
Definition types.hpp:57
@ kMultiLanguageProperty
Definition types.hpp:46
@ kEventPayload
Definition types.hpp:53
@ kEnvironment
Definition types.hpp:63
@ kProperty
Definition types.hpp:45
@ kQualifier
Definition types.hpp:36
@ kDataSpecificationIec61360
Definition types.hpp:71
@ kExtension
Definition types.hpp:34
@ kAssetAdministrationShell
Definition types.hpp:37
@ kLangStringNameType
Definition types.hpp:61
@ kSubmodelElementList
Definition types.hpp:43
@ kReference
Definition types.hpp:59
@ kSpecificAssetId
Definition types.hpp:40
@ kResource
Definition types.hpp:39
@ kOperation
Definition types.hpp:55
@ kLangStringPreferredNameTypeIec61360
Definition types.hpp:68
@ kLangStringShortNameTypeIec61360
Definition types.hpp:69
@ kAnnotatedRelationshipElement
Definition types.hpp:51
@ kConceptDescription
Definition types.hpp:58
bool IsLevelType(const IClass &that)
Check whether that instance is of runtime type ILevelType.
DataTypeDefXsd
Enumeration listing all XSD anySimpleTypes.
Definition types.hpp:230
@ kGMonth
Definition types.hpp:242
@ kGMonthDay
Definition types.hpp:243
@ kShort
Definition types.hpp:254
@ kNegativeInteger
Definition types.hpp:250
@ kString
Definition types.hpp:255
@ kNonPositiveInteger
Definition types.hpp:252
@ kUnsignedByte
Definition types.hpp:257
@ kBoolean
Definition types.hpp:233
@ kUnsignedLong
Definition types.hpp:259
@ kPositiveInteger
Definition types.hpp:253
@ kDuration
Definition types.hpp:239
@ kDouble
Definition types.hpp:238
@ kFloat
Definition types.hpp:240
@ kUnsignedShort
Definition types.hpp:260
@ kHexBinary
Definition types.hpp:246
@ kDateTime
Definition types.hpp:236
@ kBase64Binary
Definition types.hpp:232
@ kNonNegativeInteger
Definition types.hpp:251
@ kGYearMonth
Definition types.hpp:245
@ kInteger
Definition types.hpp:248
@ kDecimal
Definition types.hpp:237
@ kGYear
Definition types.hpp:244
@ kUnsignedInt
Definition types.hpp:258
@ kAnyUri
Definition types.hpp:231
bool IsEventPayload(const IClass &that)
Check whether that instance is of runtime type IEventPayload.
bool IsEventElement(const IClass &that)
Check whether that instance is of runtime type IEventElement.
EntityType
Enumeration for denoting whether an entity is a self-managed entity or a co-managed entity.
Definition types.hpp:137
@ kCoManagedEntity
For co-managed entities there is no separate AAS. Co-managed entities need to be part of a self-manag...
Definition types.hpp:140
@ kSelfManagedEntity
Self-Managed Entities have their own AAS but can be part of the bill of material of a composite self-...
Definition types.hpp:145
AssetKind
Enumeration for denoting whether an asset is a type asset or an instance asset.
Definition types.hpp:105
@ kNotApplicable
Neither a type asset nor an instance asset.
Definition types.hpp:111
@ kType
Type asset.
Definition types.hpp:107
bool IsOperation(const IClass &that)
Check whether that instance is of runtime type IOperation.
bool IsReferable(const IClass &that)
Check whether that instance is of runtime type IReferable.
bool IsAssetAdministrationShell(const IClass &that)
Check whether that instance is of runtime type IAssetAdministrationShell.
bool IsResource(const IClass &that)
Check whether that instance is of runtime type IResource.
bool IsAnnotatedRelationshipElement(const IClass &that)
Check whether that instance is of runtime type IAnnotatedRelationshipElement.
ReferenceTypes
Reference types.
Definition types.hpp:171
@ kExternalReference
External reference.
Definition types.hpp:173
@ kModelReference
Model reference.
Definition types.hpp:175
bool IsQualifier(const IClass &that)
Check whether that instance is of runtime type IQualifier.
bool IsAssetInformation(const IClass &that)
Check whether that instance is of runtime type IAssetInformation.
bool IsCapability(const IClass &that)
Check whether that instance is of runtime type ICapability.
bool IsDataElement(const IClass &that)
Check whether that instance is of runtime type IDataElement.
bool IsValueReferencePair(const IClass &that)
Check whether that instance is of runtime type IValueReferencePair.
bool IsEmbeddedDataSpecification(const IClass &that)
Check whether that instance is of runtime type IEmbeddedDataSpecification.
bool IsReferenceElement(const IClass &that)
Check whether that instance is of runtime type IReferenceElement.
bool IsEntity(const IClass &that)
Check whether that instance is of runtime type IEntity.
bool IsRange(const IClass &that)
Check whether that instance is of runtime type IRange.
bool IsMultiLanguageProperty(const IClass &that)
Check whether that instance is of runtime type IMultiLanguageProperty.
bool IsBasicEventElement(const IClass &that)
Check whether that instance is of runtime type IBasicEventElement.
bool IsOperationVariable(const IClass &that)
Check whether that instance is of runtime type IOperationVariable.
bool IsEnvironment(const IClass &that)
Check whether that instance is of runtime type IEnvironment.
bool IsHasDataSpecification(const IClass &that)
Check whether that instance is of runtime type IHasDataSpecification.
bool IsHasSemantics(const IClass &that)
Check whether that instance is of runtime type IHasSemantics.
StateOfEvent
State of an event.
Definition types.hpp:163
@ kOn
Event is on.
Definition types.hpp:165
@ kOff
Event is off.
Definition types.hpp:167
bool IsDataSpecificationContent(const IClass &that)
Check whether that instance is of runtime type IDataSpecificationContent.
bool IsSubmodelElementList(const IClass &that)
Check whether that instance is of runtime type ISubmodelElementList.
bool IsSubmodel(const IClass &that)
Check whether that instance is of runtime type ISubmodel.
Direction
Direction.
Definition types.hpp:152
@ kInput
Input direction.
Definition types.hpp:154
@ kOutput
Output direction.
Definition types.hpp:156
bool IsAbstractLangString(const IClass &that)
Check whether that instance is of runtime type IAbstractLangString.
QualifierKind
Enumeration for kinds of qualifiers.
Definition types.hpp:88
@ kConceptQualifier
qualifies the semantic definition the element is referring to (IHasSemantics::semantic_id)
Definition types.hpp:96
@ kValueQualifier
qualifies the value of the element and can change during run-time.
Definition types.hpp:93
@ kTemplateQualifier
qualifies the elements within a specific submodel on concept level.
Definition types.hpp:101
bool IsRelationshipElement(const IClass &that)
Check whether that instance is of runtime type IRelationshipElement.
bool IsLangStringTextType(const IClass &that)
Check whether that instance is of runtime type ILangStringTextType.
bool IsConceptDescription(const IClass &that)
Check whether that instance is of runtime type IConceptDescription.
bool IsValueList(const IClass &that)
Check whether that instance is of runtime type IValueList.
bool IsLangStringPreferredNameTypeIec61360(const IClass &that)
Check whether that instance is of runtime type ILangStringPreferredNameTypeIec61360.
bool IsBlob(const IClass &that)
Check whether that instance is of runtime type IBlob.
bool IsLangStringShortNameTypeIec61360(const IClass &that)
Check whether that instance is of runtime type ILangStringShortNameTypeIec61360.
bool IsLangStringNameType(const IClass &that)
Check whether that instance is of runtime type ILangStringNameType.
bool IsSpecificAssetId(const IClass &that)
Check whether that instance is of runtime type ISpecificAssetId.
bool IsKey(const IClass &that)
Check whether that instance is of runtime type IKey.
bool IsHasKind(const IClass &that)
Check whether that instance is of runtime type IHasKind.
bool IsReference(const IClass &that)
Check whether that instance is of runtime type IReference.
bool IsLangStringDefinitionTypeIec61360(const IClass &that)
Check whether that instance is of runtime type ILangStringDefinitionTypeIec61360.
KeyTypes
Enumeration of different key value types within a key.
Definition types.hpp:179
@ kIdentifiable
Identifiable.
Definition types.hpp:205
@ kGlobalReference
Definition types.hpp:200
@ kReferable
Definition types.hpp:212
@ kFragmentReference
Bookmark or a similar local identifier of a subordinate part of a primary resource.
Definition types.hpp:199
bool IsProperty(const IClass &that)
Check whether that instance is of runtime type IProperty.
bool IsSubmodelElement(const IClass &that)
Check whether that instance is of runtime type ISubmodelElement.
*an instance of ref IDataSpecificationIec61360 *bool IsDataSpecificationIec61360(const IClass &that)
Check whether that instance is of runtime type IDataSpecificationIec61360.
bool IsIdentifiable(const IClass &that)
Check whether that instance is of runtime type IIdentifiable.
bool IsAdministrativeInformation(const IClass &that)
Check whether that instance is of runtime type IAdministrativeInformation.
bool IsExtension(const IClass &that)
Check whether that instance is of runtime type IExtension.
bool IsSubmodelElementCollection(const IClass &that)
Check whether that instance is of runtime type ISubmodelElementCollection.
Definition common.hpp:47
Definition common.hpp:46