├── .github └── workflows │ └── CI.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── cmake ├── Findasio.cmake ├── build_source_group.cmake ├── config.windows.cmake ├── diagnostics_print.cmake ├── enable_clang_format.cmake ├── enable_clang_tidy.cmake ├── enable_cppcheck.cmake └── enable_testbed.cmake ├── include └── BaSyx │ ├── aas │ ├── api_v2 │ │ ├── ISubmodel.h │ │ ├── aas │ │ │ ├── IAsset.h │ │ │ └── IAssetAdministrationShell.h │ │ ├── common │ │ │ ├── IElementContainer.h │ │ │ ├── ILangStringSet.h │ │ │ └── IModelType.h │ │ ├── constraint │ │ │ ├── IConstraint.h │ │ │ ├── IFormula.h │ │ │ └── IQualifier.h │ │ ├── dataspecification │ │ │ ├── IDataSpecification.h │ │ │ ├── IDataSpecificationContent.h │ │ │ ├── IDataSpecificationIEC61360.h │ │ │ ├── IDataSpecificationPhysicalUnit.h │ │ │ ├── IEmbeddedDataSpecification.h │ │ │ └── IValueList.h │ │ ├── identifier │ │ │ └── Identifier.h │ │ ├── parts │ │ │ ├── IConceptDescription.h │ │ │ ├── IConceptDictionary.h │ │ │ └── IView.h │ │ ├── qualifier │ │ │ ├── IAdministrativeInformation.h │ │ │ ├── IHasDataSpecification.h │ │ │ ├── IHasKind.h │ │ │ ├── IHasSemantics.h │ │ │ ├── IIdentifiable.h │ │ │ ├── IQualifiable.h │ │ │ └── IReferable.h │ │ ├── reference │ │ │ ├── IKey.h │ │ │ └── IReference.h │ │ └── submodelelement │ │ │ ├── IAnnotatedRelationshipElement.h │ │ │ ├── IBasicEvent.h │ │ │ ├── ICapability.h │ │ │ ├── IDataElement.h │ │ │ ├── IEntity.h │ │ │ ├── IEvent.h │ │ │ ├── IRange.h │ │ │ ├── IRelationshipElement.h │ │ │ ├── ISubmodelElement.h │ │ │ ├── ISubmodelElementCollection.h │ │ │ ├── file │ │ │ ├── IBlob.h │ │ │ └── IFile.h │ │ │ ├── operation │ │ │ ├── IOperation.h │ │ │ └── IOperationVariable.h │ │ │ └── property │ │ │ ├── IMultiLanguageProperty.h │ │ │ ├── IProperty.h │ │ │ ├── IReferenceElement.h │ │ │ └── XSDAnySimpleType.h │ ├── enumerations │ │ ├── AssetKind.h │ │ ├── Conversions.h │ │ ├── DataTypeIEC61360.h │ │ ├── EntityType.h │ │ ├── IdentifiableElements.h │ │ ├── IdentifierType.h │ │ ├── KeyElements.h │ │ ├── KeyType.h │ │ ├── LevelType.h │ │ ├── LocalKeyType.h │ │ ├── ModelTypes.h │ │ ├── ModelingKind.h │ │ ├── ReferableElements.h │ │ └── XsdTypes.h │ ├── map_v2 │ │ ├── Submodel.h │ │ ├── aas │ │ │ ├── Asset.h │ │ │ └── AssetAdministrationShell.h │ │ ├── common │ │ │ ├── ElementContainer.h │ │ │ ├── ElementFactory.h │ │ │ ├── ElementListContainer.h │ │ │ ├── LangStringSet.h │ │ │ ├── ModelType.h │ │ │ └── SubmodelContainer.h │ │ ├── constraint │ │ │ ├── Formula.h │ │ │ └── Qualifier.h │ │ ├── dataspecification │ │ │ ├── DataSpecification.h │ │ │ ├── DataSpecificationContent.h │ │ │ ├── DataSpecificationIEC61360.h │ │ │ ├── DataSpecificationPhysicalUnit.h │ │ │ └── ValueList.h │ │ ├── parts │ │ │ ├── ConceptDescription.h │ │ │ ├── ConceptDictionary.h │ │ │ └── View.h │ │ ├── qualifier │ │ │ ├── AdministrativeInformation.h │ │ │ ├── HasDataSpecification.h │ │ │ ├── Identifiable.h │ │ │ ├── Qualifiable.h │ │ │ └── Referable.h │ │ ├── reference │ │ │ └── Reference.h │ │ └── submodelelement │ │ │ ├── AnnotatedRelationshipElement.h │ │ │ ├── BasicEvent.h │ │ │ ├── Capability.h │ │ │ ├── DataElement.h │ │ │ ├── Entity.h │ │ │ ├── Range.h │ │ │ ├── RelationshipElement.h │ │ │ ├── SubmodelElement.h │ │ │ ├── SubmodelElementCollection.h │ │ │ ├── SubmodelElementFactory.h │ │ │ ├── file │ │ │ ├── Blob.h │ │ │ └── File.h │ │ │ ├── operation │ │ │ ├── Operation.h │ │ │ └── OperationVariable.h │ │ │ └── property │ │ │ ├── MultiLanguageProperty.h │ │ │ ├── Property.h │ │ │ └── ReferenceElement.h │ └── simple │ │ ├── Submodel.h │ │ ├── aas │ │ ├── Asset.h │ │ └── AssetAdministrationShell.h │ │ ├── common │ │ ├── ElementContainer.h │ │ ├── LangStringSet.h │ │ └── xsd_types │ │ │ ├── AnyURI.h │ │ │ ├── Date.h │ │ │ ├── DateTime.h │ │ │ ├── DayTimeDuration.h │ │ │ ├── GDay.h │ │ │ ├── GMonth.h │ │ │ ├── GMonthDay.h │ │ │ ├── GYear.h │ │ │ ├── GYearMonth.h │ │ │ ├── Time.h │ │ │ ├── Timezone.h │ │ │ └── YearMonthDuration.h │ │ ├── constraint │ │ ├── Formula.h │ │ └── Qualifier.h │ │ ├── dataspecification │ │ ├── DataSpecification.h │ │ ├── DataSpecificationContent.h │ │ ├── DataSpecificationIEC61360.h │ │ ├── DataSpecificationPhysicalUnit.h │ │ ├── ValueList.h │ │ └── ValueReferencePair.h │ │ ├── identifier │ │ └── Identifier.h │ │ ├── parts │ │ ├── ConceptDescription.h │ │ ├── ConceptDictionary.h │ │ └── View.h │ │ ├── qualifier │ │ ├── AdministrativeInformation.h │ │ ├── HasDataSpecification.h │ │ ├── Identifiable.h │ │ ├── Qualifiable.h │ │ └── Referable.h │ │ ├── reference │ │ ├── Key.h │ │ └── Reference.h │ │ └── submodelelement │ │ ├── AnnotatedRelationshipElement.h │ │ ├── BasicEvent.h │ │ ├── Capability.h │ │ ├── DataElement.h │ │ ├── Entity.h │ │ ├── Range.h │ │ ├── RelationshipElement.h │ │ ├── SubmodelElement.h │ │ ├── SubmodelElementCollection.h │ │ ├── file │ │ ├── Blob.h │ │ └── File.h │ │ ├── operation │ │ ├── Operation.h │ │ └── OperationVariable.h │ │ └── property │ │ ├── MultiLanguageProperty.h │ │ ├── Property.h │ │ └── ReferenceElement.h │ ├── abstraction │ ├── Net.h │ ├── Thread.h │ ├── impl │ │ ├── acceptor_impl.h │ │ ├── socket_impl.h │ │ ├── system_net_types.h │ │ ├── thread_impl.h │ │ ├── thread_launcher.h │ │ ├── unix │ │ │ └── thread │ │ │ │ └── thread_impl.h │ │ └── windows │ │ │ └── thread │ │ │ └── thread_impl.h │ ├── net │ │ ├── Acceptor.h │ │ ├── Buffer.h │ │ └── Socket.h │ └── thread │ │ └── Thread.h │ ├── controlcomponent │ ├── enumerations │ │ ├── ControlComponentConstants.h │ │ ├── ExecutionMode.h │ │ ├── ExecutionOrder.h │ │ ├── ExecutionState.h │ │ └── OccupationState.h │ ├── interfaces │ │ ├── IControlComponent.h │ │ └── IControlComponentChangeListener.h │ ├── map │ │ └── ControlComponent.h │ └── simple │ │ └── ControlComponent.h │ ├── log │ └── log.h │ ├── opcua │ ├── aas │ │ ├── api_v2 │ │ │ ├── ApiAssetAdminstrationShell.h │ │ │ ├── ApiHelpers.h │ │ │ ├── ApiMetamodelUtilities.h │ │ │ ├── ApiProperty.h │ │ │ └── ApiSubmodel.h │ │ ├── metamodel │ │ │ ├── AASAdministrativeInformationType.h │ │ │ ├── AASAssetAdministrationShellType.h │ │ │ ├── AASAssetType.h │ │ │ ├── AASBlobType.h │ │ │ ├── AASCapabilityType.h │ │ │ ├── AASEventType.h │ │ │ ├── AASFileType.h │ │ │ ├── AASIdentifierType.h │ │ │ ├── AASMetamodel.h │ │ │ ├── AASMetamodelAliases.h │ │ │ ├── AASMultiLanguagePropertyType.h │ │ │ ├── AASOperationType.h │ │ │ ├── AASOrderedSubmodelElementCollectionType.h │ │ │ ├── AASPropertyType.h │ │ │ ├── AASQualifierType.h │ │ │ ├── AASRangeType.h │ │ │ ├── AASReference.h │ │ │ ├── AASReferenceElementType.h │ │ │ ├── AASReferenceType.h │ │ │ ├── AASSubModelElementType.h │ │ │ ├── AASSubModelType.h │ │ │ ├── AASSubmodelElementCollectionType.h │ │ │ ├── DictionaryEntryFragmentedId.h │ │ │ ├── DictionaryEntryIdShort.h │ │ │ ├── IAASIdentifiableType.h │ │ │ └── IAASReferableType.h │ │ ├── node │ │ │ ├── AssetAdministrationShellNodeManager.h │ │ │ ├── MetamodelNodeUtils.h │ │ │ ├── MetamodelTypes.h │ │ │ ├── ModelNodeManager.h │ │ │ ├── PropertyNodeManager.h │ │ │ └── SubmodelNodeManager.h │ │ └── provider │ │ │ ├── AASAggregatorHelpers.h │ │ │ ├── AASAggregatorProvider.h │ │ │ ├── AASModelProviderCommon.h │ │ │ ├── AASObjectDeserializer.h │ │ │ ├── AASProviderApiParseHelpers.h │ │ │ ├── AASSubmodelHelpers.h │ │ │ └── AASSubmodelProvider.h │ ├── client │ │ ├── Client.h │ │ ├── ClientServices.h │ │ ├── Subscription.h │ │ └── open62541Client.h │ ├── common │ │ ├── BrowseName.h │ │ ├── BrowsePath.h │ │ ├── ExpandedNodeId.h │ │ ├── LocalizedText.h │ │ ├── MethodAttributes.h │ │ ├── NodeCommon.h │ │ ├── NodeDescription.h │ │ ├── NodeId.h │ │ ├── ObjectAttributes.h │ │ ├── ObjectTypeAttributes.h │ │ ├── QualifiedName.h │ │ ├── ReferenceTypeAttributes.h │ │ ├── Services.h │ │ ├── Utilities.h │ │ ├── VariableAttributes.h │ │ └── Variant.h │ ├── provider │ │ ├── OPCUA2VabHandlers.h │ │ ├── OPCUAModelProvider.h │ │ ├── OPCUAModelProviderHelpers.h │ │ └── VAB2OPCUAHandlers.h │ ├── server │ │ ├── Server.h │ │ ├── ServerServices.h │ │ └── open62541Server.h │ └── typesmap │ │ ├── TypesMap.h │ │ └── TypesTransformer.h │ ├── server │ ├── BaSyxNativeProvider.h │ ├── TCPSelectServer.h │ └── TCPServer.h │ ├── shared │ ├── anyTypeChecker.h │ ├── enums.h │ ├── object.h │ ├── object │ │ ├── bad_object_cast.h │ │ ├── impl │ │ │ ├── object_access_impl.h │ │ │ ├── object_cast_impl.h │ │ │ ├── object_factories_impl.h │ │ │ └── object_meta_impl.h │ │ ├── obj_error.h │ │ ├── obj_error_holder.h │ │ ├── obj_function.h │ │ ├── obj_holder.h │ │ ├── obj_placeholder.h │ │ ├── obj_ref_holder.h │ │ ├── object_header.h │ │ └── object_type.h │ ├── serialization │ │ ├── json.h │ │ └── json │ │ │ ├── json.h │ │ │ ├── json_deserializer.h │ │ │ ├── json_serializer.h │ │ │ └── typeid.h │ ├── string_constants.h │ └── types.h │ ├── util │ ├── function_traits.h │ ├── invoke.h │ ├── macros.h │ ├── make_function.h │ ├── meta.h │ ├── printer.h │ ├── tools │ │ ├── CoderTools.h │ │ └── StringTools.h │ └── util.h │ └── vab │ ├── ElementList.h │ ├── ElementMap.h │ ├── backend │ └── connector │ │ ├── IBaSyxConnector.h │ │ ├── JSONProvider.h │ │ └── native │ │ ├── BaSyxConnector.h │ │ └── frame │ │ ├── EntityWrapper.h │ │ └── Frame.h │ ├── core │ ├── IModelProvider.h │ ├── VABConnectionManager.h │ ├── proxy │ │ ├── IVABElementProxy.h │ │ └── VABElementProxy.h │ └── util │ │ └── VABPath.h │ └── provider │ ├── IVABElementHandler.h │ ├── VABModelProvider.h │ ├── VABMultiElementHandler.h │ ├── hashmap │ └── VABHashmapProvider.h │ └── native │ └── frame │ ├── BaSyxNativeFrameHelper.h │ └── BaSyxNativeFrameProcessor.h ├── lib ├── asio │ ├── CMakeLists.txt │ ├── asio.hpp │ └── asio │ │ ├── associated_allocator.hpp │ │ ├── associated_executor.hpp │ │ ├── async_result.hpp │ │ ├── basic_datagram_socket.hpp │ │ ├── basic_deadline_timer.hpp │ │ ├── basic_io_object.hpp │ │ ├── basic_raw_socket.hpp │ │ ├── basic_seq_packet_socket.hpp │ │ ├── basic_serial_port.hpp │ │ ├── basic_signal_set.hpp │ │ ├── basic_socket.hpp │ │ ├── basic_socket_acceptor.hpp │ │ ├── basic_socket_iostream.hpp │ │ ├── basic_socket_streambuf.hpp │ │ ├── basic_stream_socket.hpp │ │ ├── basic_streambuf.hpp │ │ ├── basic_streambuf_fwd.hpp │ │ ├── basic_waitable_timer.hpp │ │ ├── bind_executor.hpp │ │ ├── buffer.hpp │ │ ├── buffered_read_stream.hpp │ │ ├── buffered_read_stream_fwd.hpp │ │ ├── buffered_stream.hpp │ │ ├── buffered_stream_fwd.hpp │ │ ├── buffered_write_stream.hpp │ │ ├── buffered_write_stream_fwd.hpp │ │ ├── buffers_iterator.hpp │ │ ├── completion_condition.hpp │ │ ├── connect.hpp │ │ ├── coroutine.hpp │ │ ├── datagram_socket_service.hpp │ │ ├── deadline_timer.hpp │ │ ├── deadline_timer_service.hpp │ │ ├── defer.hpp │ │ ├── detail │ │ ├── array.hpp │ │ ├── array_fwd.hpp │ │ ├── assert.hpp │ │ ├── atomic_count.hpp │ │ ├── base_from_completion_cond.hpp │ │ ├── bind_handler.hpp │ │ ├── buffer_resize_guard.hpp │ │ ├── buffer_sequence_adapter.hpp │ │ ├── buffered_stream_storage.hpp │ │ ├── call_stack.hpp │ │ ├── chrono.hpp │ │ ├── chrono_time_traits.hpp │ │ ├── completion_handler.hpp │ │ ├── concurrency_hint.hpp │ │ ├── conditionally_enabled_event.hpp │ │ ├── conditionally_enabled_mutex.hpp │ │ ├── config.hpp │ │ ├── consuming_buffers.hpp │ │ ├── cstddef.hpp │ │ ├── cstdint.hpp │ │ ├── date_time_fwd.hpp │ │ ├── deadline_timer_service.hpp │ │ ├── dependent_type.hpp │ │ ├── descriptor_ops.hpp │ │ ├── descriptor_read_op.hpp │ │ ├── descriptor_write_op.hpp │ │ ├── dev_poll_reactor.hpp │ │ ├── epoll_reactor.hpp │ │ ├── event.hpp │ │ ├── eventfd_select_interrupter.hpp │ │ ├── executor_op.hpp │ │ ├── fd_set_adapter.hpp │ │ ├── fenced_block.hpp │ │ ├── functional.hpp │ │ ├── future.hpp │ │ ├── gcc_arm_fenced_block.hpp │ │ ├── gcc_hppa_fenced_block.hpp │ │ ├── gcc_sync_fenced_block.hpp │ │ ├── gcc_x86_fenced_block.hpp │ │ ├── global.hpp │ │ ├── handler_alloc_helpers.hpp │ │ ├── handler_cont_helpers.hpp │ │ ├── handler_invoke_helpers.hpp │ │ ├── handler_tracking.hpp │ │ ├── handler_type_requirements.hpp │ │ ├── handler_work.hpp │ │ ├── hash_map.hpp │ │ ├── impl │ │ │ ├── buffer_sequence_adapter.ipp │ │ │ ├── descriptor_ops.ipp │ │ │ ├── dev_poll_reactor.hpp │ │ │ ├── dev_poll_reactor.ipp │ │ │ ├── epoll_reactor.hpp │ │ │ ├── epoll_reactor.ipp │ │ │ ├── eventfd_select_interrupter.ipp │ │ │ ├── handler_tracking.ipp │ │ │ ├── kqueue_reactor.hpp │ │ │ ├── kqueue_reactor.ipp │ │ │ ├── null_event.ipp │ │ │ ├── pipe_select_interrupter.ipp │ │ │ ├── posix_event.ipp │ │ │ ├── posix_mutex.ipp │ │ │ ├── posix_thread.ipp │ │ │ ├── posix_tss_ptr.ipp │ │ │ ├── reactive_descriptor_service.ipp │ │ │ ├── reactive_serial_port_service.ipp │ │ │ ├── reactive_socket_service_base.ipp │ │ │ ├── resolver_service_base.ipp │ │ │ ├── scheduler.ipp │ │ │ ├── select_reactor.hpp │ │ │ ├── select_reactor.ipp │ │ │ ├── service_registry.hpp │ │ │ ├── service_registry.ipp │ │ │ ├── signal_set_service.ipp │ │ │ ├── socket_ops.ipp │ │ │ ├── socket_select_interrupter.ipp │ │ │ ├── strand_executor_service.hpp │ │ │ ├── strand_executor_service.ipp │ │ │ ├── strand_service.hpp │ │ │ ├── strand_service.ipp │ │ │ ├── throw_error.ipp │ │ │ ├── timer_queue_ptime.ipp │ │ │ ├── timer_queue_set.ipp │ │ │ ├── win_event.ipp │ │ │ ├── win_iocp_handle_service.ipp │ │ │ ├── win_iocp_io_context.hpp │ │ │ ├── win_iocp_io_context.ipp │ │ │ ├── win_iocp_serial_port_service.ipp │ │ │ ├── win_iocp_socket_service_base.ipp │ │ │ ├── win_mutex.ipp │ │ │ ├── win_object_handle_service.ipp │ │ │ ├── win_static_mutex.ipp │ │ │ ├── win_thread.ipp │ │ │ ├── win_tss_ptr.ipp │ │ │ ├── winrt_ssocket_service_base.ipp │ │ │ ├── winrt_timer_scheduler.hpp │ │ │ ├── winrt_timer_scheduler.ipp │ │ │ └── winsock_init.ipp │ │ ├── io_control.hpp │ │ ├── is_buffer_sequence.hpp │ │ ├── is_executor.hpp │ │ ├── keyword_tss_ptr.hpp │ │ ├── kqueue_reactor.hpp │ │ ├── limits.hpp │ │ ├── local_free_on_block_exit.hpp │ │ ├── macos_fenced_block.hpp │ │ ├── memory.hpp │ │ ├── mutex.hpp │ │ ├── noncopyable.hpp │ │ ├── null_event.hpp │ │ ├── null_fenced_block.hpp │ │ ├── null_global.hpp │ │ ├── null_mutex.hpp │ │ ├── null_reactor.hpp │ │ ├── null_signal_blocker.hpp │ │ ├── null_socket_service.hpp │ │ ├── null_static_mutex.hpp │ │ ├── null_thread.hpp │ │ ├── null_tss_ptr.hpp │ │ ├── object_pool.hpp │ │ ├── old_win_sdk_compat.hpp │ │ ├── op_queue.hpp │ │ ├── operation.hpp │ │ ├── pipe_select_interrupter.hpp │ │ ├── pop_options.hpp │ │ ├── posix_event.hpp │ │ ├── posix_fd_set_adapter.hpp │ │ ├── posix_global.hpp │ │ ├── posix_mutex.hpp │ │ ├── posix_signal_blocker.hpp │ │ ├── posix_static_mutex.hpp │ │ ├── posix_thread.hpp │ │ ├── posix_tss_ptr.hpp │ │ ├── push_options.hpp │ │ ├── reactive_descriptor_service.hpp │ │ ├── reactive_null_buffers_op.hpp │ │ ├── reactive_serial_port_service.hpp │ │ ├── reactive_socket_accept_op.hpp │ │ ├── reactive_socket_connect_op.hpp │ │ ├── reactive_socket_recv_op.hpp │ │ ├── reactive_socket_recvfrom_op.hpp │ │ ├── reactive_socket_recvmsg_op.hpp │ │ ├── reactive_socket_send_op.hpp │ │ ├── reactive_socket_sendto_op.hpp │ │ ├── reactive_socket_service.hpp │ │ ├── reactive_socket_service_base.hpp │ │ ├── reactive_wait_op.hpp │ │ ├── reactor.hpp │ │ ├── reactor_fwd.hpp │ │ ├── reactor_op.hpp │ │ ├── reactor_op_queue.hpp │ │ ├── recycling_allocator.hpp │ │ ├── regex_fwd.hpp │ │ ├── resolve_endpoint_op.hpp │ │ ├── resolve_op.hpp │ │ ├── resolve_query_op.hpp │ │ ├── resolver_service.hpp │ │ ├── resolver_service_base.hpp │ │ ├── scheduler.hpp │ │ ├── scheduler_operation.hpp │ │ ├── scheduler_thread_info.hpp │ │ ├── scoped_lock.hpp │ │ ├── scoped_ptr.hpp │ │ ├── select_interrupter.hpp │ │ ├── select_reactor.hpp │ │ ├── service_registry.hpp │ │ ├── signal_blocker.hpp │ │ ├── signal_handler.hpp │ │ ├── signal_init.hpp │ │ ├── signal_op.hpp │ │ ├── signal_set_service.hpp │ │ ├── socket_holder.hpp │ │ ├── socket_ops.hpp │ │ ├── socket_option.hpp │ │ ├── socket_select_interrupter.hpp │ │ ├── socket_types.hpp │ │ ├── solaris_fenced_block.hpp │ │ ├── static_mutex.hpp │ │ ├── std_event.hpp │ │ ├── std_fenced_block.hpp │ │ ├── std_global.hpp │ │ ├── std_mutex.hpp │ │ ├── std_static_mutex.hpp │ │ ├── std_thread.hpp │ │ ├── strand_executor_service.hpp │ │ ├── strand_service.hpp │ │ ├── string_view.hpp │ │ ├── thread.hpp │ │ ├── thread_context.hpp │ │ ├── thread_group.hpp │ │ ├── thread_info_base.hpp │ │ ├── throw_error.hpp │ │ ├── throw_exception.hpp │ │ ├── timer_queue.hpp │ │ ├── timer_queue_base.hpp │ │ ├── timer_queue_ptime.hpp │ │ ├── timer_queue_set.hpp │ │ ├── timer_scheduler.hpp │ │ ├── timer_scheduler_fwd.hpp │ │ ├── tss_ptr.hpp │ │ ├── type_traits.hpp │ │ ├── variadic_templates.hpp │ │ ├── wait_handler.hpp │ │ ├── wait_op.hpp │ │ ├── win_event.hpp │ │ ├── win_fd_set_adapter.hpp │ │ ├── win_fenced_block.hpp │ │ ├── win_global.hpp │ │ ├── win_iocp_handle_read_op.hpp │ │ ├── win_iocp_handle_service.hpp │ │ ├── win_iocp_handle_write_op.hpp │ │ ├── win_iocp_io_context.hpp │ │ ├── win_iocp_null_buffers_op.hpp │ │ ├── win_iocp_operation.hpp │ │ ├── win_iocp_overlapped_op.hpp │ │ ├── win_iocp_overlapped_ptr.hpp │ │ ├── win_iocp_serial_port_service.hpp │ │ ├── win_iocp_socket_accept_op.hpp │ │ ├── win_iocp_socket_connect_op.hpp │ │ ├── win_iocp_socket_recv_op.hpp │ │ ├── win_iocp_socket_recvfrom_op.hpp │ │ ├── win_iocp_socket_recvmsg_op.hpp │ │ ├── win_iocp_socket_send_op.hpp │ │ ├── win_iocp_socket_service.hpp │ │ ├── win_iocp_socket_service_base.hpp │ │ ├── win_iocp_thread_info.hpp │ │ ├── win_iocp_wait_op.hpp │ │ ├── win_mutex.hpp │ │ ├── win_object_handle_service.hpp │ │ ├── win_static_mutex.hpp │ │ ├── win_thread.hpp │ │ ├── win_tss_ptr.hpp │ │ ├── winapp_thread.hpp │ │ ├── wince_thread.hpp │ │ ├── winrt_async_manager.hpp │ │ ├── winrt_async_op.hpp │ │ ├── winrt_resolve_op.hpp │ │ ├── winrt_resolver_service.hpp │ │ ├── winrt_socket_connect_op.hpp │ │ ├── winrt_socket_recv_op.hpp │ │ ├── winrt_socket_send_op.hpp │ │ ├── winrt_ssocket_service.hpp │ │ ├── winrt_ssocket_service_base.hpp │ │ ├── winrt_timer_scheduler.hpp │ │ ├── winrt_utils.hpp │ │ ├── winsock_init.hpp │ │ ├── work_dispatcher.hpp │ │ └── wrapped_handler.hpp │ │ ├── dispatch.hpp │ │ ├── error.hpp │ │ ├── error_code.hpp │ │ ├── execution_context.hpp │ │ ├── executor.hpp │ │ ├── executor_work_guard.hpp │ │ ├── experimental.hpp │ │ ├── experimental │ │ ├── co_spawn.hpp │ │ ├── detached.hpp │ │ ├── impl │ │ │ ├── co_spawn.hpp │ │ │ ├── detached.hpp │ │ │ └── redirect_error.hpp │ │ └── redirect_error.hpp │ │ ├── generic │ │ ├── basic_endpoint.hpp │ │ ├── datagram_protocol.hpp │ │ ├── detail │ │ │ ├── endpoint.hpp │ │ │ └── impl │ │ │ │ └── endpoint.ipp │ │ ├── raw_protocol.hpp │ │ ├── seq_packet_protocol.hpp │ │ └── stream_protocol.hpp │ │ ├── handler_alloc_hook.hpp │ │ ├── handler_continuation_hook.hpp │ │ ├── handler_invoke_hook.hpp │ │ ├── handler_type.hpp │ │ ├── high_resolution_timer.hpp │ │ ├── impl │ │ ├── buffered_read_stream.hpp │ │ ├── buffered_write_stream.hpp │ │ ├── connect.hpp │ │ ├── defer.hpp │ │ ├── dispatch.hpp │ │ ├── error.ipp │ │ ├── error_code.ipp │ │ ├── execution_context.hpp │ │ ├── execution_context.ipp │ │ ├── executor.hpp │ │ ├── executor.ipp │ │ ├── handler_alloc_hook.ipp │ │ ├── io_context.hpp │ │ ├── io_context.ipp │ │ ├── post.hpp │ │ ├── read.hpp │ │ ├── read_at.hpp │ │ ├── read_until.hpp │ │ ├── serial_port_base.hpp │ │ ├── serial_port_base.ipp │ │ ├── spawn.hpp │ │ ├── src.cpp │ │ ├── src.hpp │ │ ├── system_context.hpp │ │ ├── system_context.ipp │ │ ├── system_executor.hpp │ │ ├── thread_pool.hpp │ │ ├── thread_pool.ipp │ │ ├── use_future.hpp │ │ ├── write.hpp │ │ └── write_at.hpp │ │ ├── io_context.hpp │ │ ├── io_context_strand.hpp │ │ ├── io_service.hpp │ │ ├── io_service_strand.hpp │ │ ├── ip │ │ ├── address.hpp │ │ ├── address_v4.hpp │ │ ├── address_v4_iterator.hpp │ │ ├── address_v4_range.hpp │ │ ├── address_v6.hpp │ │ ├── address_v6_iterator.hpp │ │ ├── address_v6_range.hpp │ │ ├── bad_address_cast.hpp │ │ ├── basic_endpoint.hpp │ │ ├── basic_resolver.hpp │ │ ├── basic_resolver_entry.hpp │ │ ├── basic_resolver_iterator.hpp │ │ ├── basic_resolver_query.hpp │ │ ├── basic_resolver_results.hpp │ │ ├── detail │ │ │ ├── endpoint.hpp │ │ │ ├── impl │ │ │ │ └── endpoint.ipp │ │ │ └── socket_option.hpp │ │ ├── host_name.hpp │ │ ├── icmp.hpp │ │ ├── impl │ │ │ ├── address.hpp │ │ │ ├── address.ipp │ │ │ ├── address_v4.hpp │ │ │ ├── address_v4.ipp │ │ │ ├── address_v6.hpp │ │ │ ├── address_v6.ipp │ │ │ ├── basic_endpoint.hpp │ │ │ ├── host_name.ipp │ │ │ ├── network_v4.hpp │ │ │ ├── network_v4.ipp │ │ │ ├── network_v6.hpp │ │ │ └── network_v6.ipp │ │ ├── multicast.hpp │ │ ├── network_v4.hpp │ │ ├── network_v6.hpp │ │ ├── resolver_base.hpp │ │ ├── resolver_query_base.hpp │ │ ├── resolver_service.hpp │ │ ├── tcp.hpp │ │ ├── udp.hpp │ │ ├── unicast.hpp │ │ └── v6_only.hpp │ │ ├── is_executor.hpp │ │ ├── is_read_buffered.hpp │ │ ├── is_write_buffered.hpp │ │ ├── local │ │ ├── basic_endpoint.hpp │ │ ├── connect_pair.hpp │ │ ├── datagram_protocol.hpp │ │ ├── detail │ │ │ ├── endpoint.hpp │ │ │ └── impl │ │ │ │ └── endpoint.ipp │ │ └── stream_protocol.hpp │ │ ├── packaged_task.hpp │ │ ├── placeholders.hpp │ │ ├── posix │ │ ├── basic_descriptor.hpp │ │ ├── basic_stream_descriptor.hpp │ │ ├── descriptor.hpp │ │ ├── descriptor_base.hpp │ │ ├── stream_descriptor.hpp │ │ └── stream_descriptor_service.hpp │ │ ├── post.hpp │ │ ├── raw_socket_service.hpp │ │ ├── read.hpp │ │ ├── read_at.hpp │ │ ├── read_until.hpp │ │ ├── seq_packet_socket_service.hpp │ │ ├── serial_port.hpp │ │ ├── serial_port_base.hpp │ │ ├── serial_port_service.hpp │ │ ├── signal_set.hpp │ │ ├── signal_set_service.hpp │ │ ├── socket_acceptor_service.hpp │ │ ├── socket_base.hpp │ │ ├── spawn.hpp │ │ ├── ssl.hpp │ │ ├── ssl │ │ ├── context.hpp │ │ ├── context_base.hpp │ │ ├── detail │ │ │ ├── buffered_handshake_op.hpp │ │ │ ├── engine.hpp │ │ │ ├── handshake_op.hpp │ │ │ ├── impl │ │ │ │ ├── engine.ipp │ │ │ │ └── openssl_init.ipp │ │ │ ├── io.hpp │ │ │ ├── openssl_init.hpp │ │ │ ├── openssl_types.hpp │ │ │ ├── password_callback.hpp │ │ │ ├── read_op.hpp │ │ │ ├── shutdown_op.hpp │ │ │ ├── stream_core.hpp │ │ │ ├── verify_callback.hpp │ │ │ └── write_op.hpp │ │ ├── error.hpp │ │ ├── impl │ │ │ ├── context.hpp │ │ │ ├── context.ipp │ │ │ ├── error.ipp │ │ │ ├── rfc2818_verification.ipp │ │ │ └── src.hpp │ │ ├── rfc2818_verification.hpp │ │ ├── stream.hpp │ │ ├── stream_base.hpp │ │ ├── verify_context.hpp │ │ └── verify_mode.hpp │ │ ├── steady_timer.hpp │ │ ├── strand.hpp │ │ ├── stream_socket_service.hpp │ │ ├── streambuf.hpp │ │ ├── system_context.hpp │ │ ├── system_error.hpp │ │ ├── system_executor.hpp │ │ ├── system_timer.hpp │ │ ├── thread.hpp │ │ ├── thread_pool.hpp │ │ ├── time_traits.hpp │ │ ├── ts │ │ ├── buffer.hpp │ │ ├── executor.hpp │ │ ├── internet.hpp │ │ ├── io_context.hpp │ │ ├── net.hpp │ │ ├── netfwd.hpp │ │ ├── socket.hpp │ │ └── timer.hpp │ │ ├── unyield.hpp │ │ ├── use_future.hpp │ │ ├── uses_executor.hpp │ │ ├── version.hpp │ │ ├── wait_traits.hpp │ │ ├── waitable_timer_service.hpp │ │ ├── windows │ │ ├── basic_handle.hpp │ │ ├── basic_object_handle.hpp │ │ ├── basic_random_access_handle.hpp │ │ ├── basic_stream_handle.hpp │ │ ├── object_handle.hpp │ │ ├── object_handle_service.hpp │ │ ├── overlapped_handle.hpp │ │ ├── overlapped_ptr.hpp │ │ ├── random_access_handle.hpp │ │ ├── random_access_handle_service.hpp │ │ ├── stream_handle.hpp │ │ └── stream_handle_service.hpp │ │ ├── write.hpp │ │ ├── write_at.hpp │ │ └── yield.hpp ├── cppbase64 │ ├── CMakeLists.txt │ ├── LICENSE │ ├── base64.cpp │ └── base64.h ├── fmt │ ├── .travis.yml │ ├── CMakeLists.txt │ ├── CONTRIBUTING.rst │ ├── ChangeLog.rst │ ├── LICENSE.rst │ ├── README.rst │ ├── doc │ │ ├── CMakeLists.txt │ │ ├── _static │ │ │ ├── bootstrap.min.js │ │ │ └── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ └── glyphicons-halflings-regular.woff │ │ ├── _templates │ │ │ ├── layout.html │ │ │ └── search.html │ │ ├── api.rst │ │ ├── basic-bootstrap │ │ │ ├── README │ │ │ ├── layout.html │ │ │ └── theme.conf │ │ ├── bootstrap │ │ │ ├── alerts.less │ │ │ ├── badges.less │ │ │ ├── bootstrap.less │ │ │ ├── breadcrumbs.less │ │ │ ├── button-groups.less │ │ │ ├── buttons.less │ │ │ ├── carousel.less │ │ │ ├── close.less │ │ │ ├── code.less │ │ │ ├── component-animations.less │ │ │ ├── dropdowns.less │ │ │ ├── forms.less │ │ │ ├── glyphicons.less │ │ │ ├── grid.less │ │ │ ├── input-groups.less │ │ │ ├── jumbotron.less │ │ │ ├── labels.less │ │ │ ├── list-group.less │ │ │ ├── media.less │ │ │ ├── mixins.less │ │ │ ├── mixins │ │ │ │ ├── alerts.less │ │ │ │ ├── background-variant.less │ │ │ │ ├── border-radius.less │ │ │ │ ├── buttons.less │ │ │ │ ├── center-block.less │ │ │ │ ├── clearfix.less │ │ │ │ ├── forms.less │ │ │ │ ├── gradients.less │ │ │ │ ├── grid-framework.less │ │ │ │ ├── grid.less │ │ │ │ ├── hide-text.less │ │ │ │ ├── image.less │ │ │ │ ├── labels.less │ │ │ │ ├── list-group.less │ │ │ │ ├── nav-divider.less │ │ │ │ ├── nav-vertical-align.less │ │ │ │ ├── opacity.less │ │ │ │ ├── pagination.less │ │ │ │ ├── panels.less │ │ │ │ ├── progress-bar.less │ │ │ │ ├── reset-filter.less │ │ │ │ ├── resize.less │ │ │ │ ├── responsive-visibility.less │ │ │ │ ├── size.less │ │ │ │ ├── tab-focus.less │ │ │ │ ├── table-row.less │ │ │ │ ├── text-emphasis.less │ │ │ │ ├── text-overflow.less │ │ │ │ └── vendor-prefixes.less │ │ │ ├── modals.less │ │ │ ├── navbar.less │ │ │ ├── navs.less │ │ │ ├── normalize.less │ │ │ ├── pager.less │ │ │ ├── pagination.less │ │ │ ├── panels.less │ │ │ ├── popovers.less │ │ │ ├── print.less │ │ │ ├── progress-bars.less │ │ │ ├── responsive-embed.less │ │ │ ├── responsive-utilities.less │ │ │ ├── scaffolding.less │ │ │ ├── tables.less │ │ │ ├── theme.less │ │ │ ├── thumbnails.less │ │ │ ├── tooltip.less │ │ │ ├── type.less │ │ │ ├── utilities.less │ │ │ ├── variables.less │ │ │ └── wells.less │ │ ├── build.py │ │ ├── conf.py │ │ ├── contents.rst │ │ ├── fmt.less │ │ ├── html │ │ │ ├── _sources │ │ │ │ ├── api.txt │ │ │ │ ├── contents.txt │ │ │ │ ├── index.txt │ │ │ │ ├── syntax.txt │ │ │ │ └── usage.txt │ │ │ ├── _static │ │ │ │ ├── ajax-loader.gif │ │ │ │ ├── basic.css │ │ │ │ ├── bootstrap.min.js │ │ │ │ ├── comment-bright.png │ │ │ │ ├── comment-close.png │ │ │ │ ├── comment.png │ │ │ │ ├── doctools.js │ │ │ │ ├── down-pressed.png │ │ │ │ ├── down.png │ │ │ │ ├── file.png │ │ │ │ ├── fmt.css │ │ │ │ ├── fonts │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ └── glyphicons-halflings-regular.woff │ │ │ │ ├── jquery-1.11.1.js │ │ │ │ ├── jquery.js │ │ │ │ ├── minus.png │ │ │ │ ├── plus.png │ │ │ │ ├── pygments.css │ │ │ │ ├── searchtools.js │ │ │ │ ├── underscore-1.3.1.js │ │ │ │ ├── underscore.js │ │ │ │ ├── up-pressed.png │ │ │ │ ├── up.png │ │ │ │ └── websupport.js │ │ │ ├── api.html │ │ │ ├── contents.html │ │ │ ├── genindex.html │ │ │ ├── index.html │ │ │ ├── objects.inv │ │ │ ├── search.html │ │ │ ├── searchindex.js │ │ │ ├── syntax.html │ │ │ └── usage.html │ │ ├── index.rst │ │ ├── python-license.txt │ │ ├── syntax.rst │ │ └── usage.rst │ ├── include │ │ └── fmt │ │ │ ├── chrono.h │ │ │ ├── color.h │ │ │ ├── core.h │ │ │ ├── format-inl.h │ │ │ ├── format.h │ │ │ ├── locale.h │ │ │ ├── ostream.h │ │ │ ├── posix.h │ │ │ ├── printf.h │ │ │ ├── ranges.h │ │ │ └── time.h │ ├── src │ │ ├── format.cc │ │ └── posix.cc │ ├── support │ │ ├── Android.mk │ │ ├── AndroidManifest.xml │ │ ├── README │ │ ├── appveyor-build.py │ │ ├── appveyor.yml │ │ ├── build.gradle │ │ ├── cmake │ │ │ ├── FindSetEnv.cmake │ │ │ ├── cxx14.cmake │ │ │ ├── fmt-config.cmake.in │ │ │ ├── fmt.pc.in │ │ │ └── run-cmake.bat │ │ ├── compute-powers.py │ │ ├── docopt.py │ │ ├── fmt.pro │ │ ├── manage.py │ │ ├── rst2md.py │ │ ├── rtd │ │ │ ├── conf.py │ │ │ ├── index.rst │ │ │ └── theme │ │ │ │ ├── layout.html │ │ │ │ └── theme.conf │ │ ├── travis-build.py │ │ └── update-coverity-branch.py │ └── test │ │ ├── CMakeLists.txt │ │ ├── add-subdirectory-test │ │ ├── CMakeLists.txt │ │ └── main.cc │ │ ├── assert-test.cc │ │ ├── chrono-test.cc │ │ ├── compile-test │ │ └── CMakeLists.txt │ │ ├── core-test.cc │ │ ├── custom-formatter-test.cc │ │ ├── find-package-test │ │ ├── CMakeLists.txt │ │ └── main.cc │ │ ├── format-impl-test.cc │ │ ├── format-test.cc │ │ ├── gmock-gtest-all.cc │ │ ├── gmock │ │ └── gmock.h │ │ ├── gtest-extra-test.cc │ │ ├── gtest-extra.cc │ │ ├── gtest-extra.h │ │ ├── gtest │ │ ├── gtest-spi.h │ │ └── gtest.h │ │ ├── header-only-test.cc │ │ ├── header-only-test2.cc │ │ ├── locale-test.cc │ │ ├── mock-allocator.h │ │ ├── ostream-test.cc │ │ ├── posix-mock-test.cc │ │ ├── posix-mock.h │ │ ├── posix-test.cc │ │ ├── printf-test.cc │ │ ├── ranges-test.cc │ │ ├── test-assert.h │ │ ├── test-main.cc │ │ ├── time-test.cc │ │ ├── util.cc │ │ └── util.h ├── gtest │ ├── CMakeLists.txt │ ├── LICENSE │ └── gtest │ │ ├── gtest-all.cc │ │ └── gtest.h └── json │ ├── CMakeLists.txt │ ├── LICENSE.MIT │ ├── cmake │ └── config.cmake.in │ ├── nlohmann_json.natvis │ └── single_include │ └── nlohmann │ └── json.hpp ├── src ├── aas │ ├── BaSyxAASConfig.cmake.in │ ├── CMakeLists.txt │ └── aas │ │ ├── enumerations │ │ ├── AssetKind.cpp │ │ ├── DataTypeIEC61360.cpp │ │ ├── EntityType.cpp │ │ ├── IdentifiableElements.cpp │ │ ├── IdentifierType.cpp │ │ ├── KeyElements.cpp │ │ ├── KeyType.cpp │ │ ├── LevelType.cpp │ │ ├── LocalKeyType.cpp │ │ ├── ModelTypes.cpp │ │ ├── ModelingKind.cpp │ │ ├── ReferableElements.cpp │ │ └── XsdTypes.cpp │ │ ├── map_v2 │ │ ├── Submodel.cpp │ │ ├── aas │ │ │ ├── Asset.cpp │ │ │ └── AssetAdministrationShell.cpp │ │ ├── common │ │ │ ├── LangStringSet.cpp │ │ │ └── ModelType.cpp │ │ ├── constexpr.cpp │ │ ├── constraint │ │ │ ├── Formula.cpp │ │ │ └── Qualifier.cpp │ │ ├── dataspecification │ │ │ ├── DataSpecification.cpp │ │ │ ├── DataSpecificationContent.cpp │ │ │ ├── DataSpecificationIEC61360.cpp │ │ │ ├── DataSpecificationPhysicalUnit.cpp │ │ │ └── ValueList.cpp │ │ ├── parts │ │ │ ├── ConceptDescription.cpp │ │ │ ├── ConceptDictionary.cpp │ │ │ └── View.cpp │ │ ├── qualifier │ │ │ ├── AdministrativeInformation.cpp │ │ │ ├── HasDataSpecification.cpp │ │ │ ├── Identifiable.cpp │ │ │ ├── Qualifiable.cpp │ │ │ └── Referable.cpp │ │ ├── reference │ │ │ └── Reference.cpp │ │ └── submodelelement │ │ │ ├── AnnotatedRelationshipElement.cpp │ │ │ ├── BasicEvent.cpp │ │ │ ├── Capability.cpp │ │ │ ├── DataElement.cpp │ │ │ ├── Entity.cpp │ │ │ ├── RelationshipElement.cpp │ │ │ ├── SubmodelElement.cpp │ │ │ ├── SubmodelElementCollection.cpp │ │ │ ├── SubmodelElementFactory.cpp │ │ │ ├── file │ │ │ ├── Blob.cpp │ │ │ └── File.cpp │ │ │ ├── operation │ │ │ ├── Operation.cpp │ │ │ └── OperationVariable.cpp │ │ │ └── property │ │ │ ├── MultiLanguageProperty.cpp │ │ │ └── ReferenceElement.cpp │ │ └── simple │ │ ├── Submodel.cpp │ │ ├── aas │ │ ├── Asset.cpp │ │ └── AssetAdministrationShell.cpp │ │ ├── common │ │ ├── LangStringSet.cpp │ │ └── xsd_types │ │ │ ├── AnyURI.cpp │ │ │ ├── Date.cpp │ │ │ ├── DateTime.cpp │ │ │ ├── DayTimeDuration.cpp │ │ │ ├── GDay.cpp │ │ │ ├── GMonth.cpp │ │ │ ├── GMonthDay.cpp │ │ │ ├── GYear.cpp │ │ │ ├── GYearMonth.cpp │ │ │ ├── Time.cpp │ │ │ ├── Timezone.cpp │ │ │ └── YearMonthDuration.cpp │ │ ├── constraint │ │ ├── Formula.cpp │ │ └── Qualifier.cpp │ │ ├── dataspecification │ │ ├── DataSpecification.cpp │ │ ├── DataSpecificationContent.cpp │ │ ├── DataSpecificationIEC61360.cpp │ │ ├── DataSpecificationPhysicalUnit.cpp │ │ └── ValueList.cpp │ │ ├── identifier │ │ └── Identifier.cpp │ │ ├── parts │ │ ├── ConceptDescription.cpp │ │ ├── ConceptDictionary.cpp │ │ └── View.cpp │ │ ├── qualifier │ │ ├── AdministrativeInformation.cpp │ │ ├── HasDataSpecification.cpp │ │ ├── Identifiable.cpp │ │ ├── Qualifiable.cpp │ │ └── Referable.cpp │ │ ├── reference │ │ ├── Key.cpp │ │ └── Reference.cpp │ │ └── submodelelement │ │ ├── AnnotatedRelationshipElement.cpp │ │ ├── BasicEvent.cpp │ │ ├── Capability.cpp │ │ ├── DataElement.cpp │ │ ├── Entity.cpp │ │ ├── RelationshipElement.cpp │ │ ├── SubmodelElement.cpp │ │ ├── SubmodelElementCollection.cpp │ │ ├── file │ │ ├── Blob.cpp │ │ └── File.cpp │ │ ├── operation │ │ ├── Operation.cpp │ │ └── OperationVariable.cpp │ │ └── property │ │ ├── MultiLanguageProperty.cpp │ │ └── ReferenceElement.cpp ├── abstraction │ ├── BaSyxAbstractionConfig.cmake.in │ ├── CMakeLists.txt │ └── abstraction │ │ ├── impl │ │ ├── unix │ │ │ ├── socket │ │ │ │ ├── acceptor_impl.cpp │ │ │ │ └── socket_impl.cpp │ │ │ └── thread │ │ │ │ └── thread_impl.cpp │ │ └── windows │ │ │ ├── socket │ │ │ ├── acceptor_impl.cpp │ │ │ └── socket_impl.cpp │ │ │ └── thread │ │ │ └── thread_impl.cpp │ │ └── net │ │ └── Acceptor.cpp ├── controlcomponent │ ├── CMakeLists.txt │ ├── enumerations │ │ ├── ControlComponentConstants.cpp │ │ ├── ExecutionOrder.cpp │ │ └── ExecutionState.cpp │ ├── map │ │ └── ControlComponent.cpp │ └── simple │ │ └── ControlComponent.cpp ├── logging │ ├── BaSyxLogConfig.cmake.in │ ├── CMakeLists.txt │ └── log │ │ └── log.cpp ├── opcua │ ├── BaSyxOPCUAConfig.cmake.in │ ├── CMakeLists.txt │ ├── aas │ │ ├── api_v2 │ │ │ ├── ApiHelpers.cpp │ │ │ └── ApiMetamodelUtilities.cpp │ │ ├── metamodel │ │ │ ├── AASAdministrativeInformationType.cpp │ │ │ ├── AASAssetAdministrationShellType.cpp │ │ │ ├── AASAssetType.cpp │ │ │ ├── AASBlobType.cpp │ │ │ ├── AASCapabilityType.cpp │ │ │ ├── AASCustomConceptDescriptionType.cpp │ │ │ ├── AASEventType.cpp │ │ │ ├── AASFileType.cpp │ │ │ ├── AASIdentifierType.cpp │ │ │ ├── AASIrdiConceptDescriptionType.cpp │ │ │ ├── AASIriConceptDescriptionType.cpp │ │ │ ├── AASMultiLanguagePropertyType.cpp │ │ │ ├── AASOperationType.cpp │ │ │ ├── AASOrderedSubmodelElementCollectionType.cpp │ │ │ ├── AASPropertyType.cpp │ │ │ ├── AASQualifierType.cpp │ │ │ ├── AASRangeType.cpp │ │ │ ├── AASReference.cpp │ │ │ ├── AASReferenceElementType.cpp │ │ │ ├── AASReferenceType.cpp │ │ │ ├── AASSubModelElementType.cpp │ │ │ ├── AASSubModelType.cpp │ │ │ ├── AASSubmodelElementCollectionType.cpp │ │ │ ├── DictionaryEntryFragmentedId.cpp │ │ │ ├── DictionaryEntryIdShort.cpp │ │ │ ├── IAASIdentifiableType.cpp │ │ │ └── IAASReferableType.cpp │ │ └── provider │ │ │ ├── AASModelProviderCommon.cpp │ │ │ └── AASProviderApiParseHelpers.cpp │ ├── client │ │ ├── Client.cpp │ │ ├── ClientServices.cpp │ │ └── Subscription.cpp │ ├── common │ │ ├── ExpandedNodeId.cpp │ │ ├── LocalizedText.cpp │ │ ├── MethodAttributes.cpp │ │ ├── NodeId.cpp │ │ ├── ObjectAttributes.cpp │ │ ├── ObjectTypeAttributes.cpp │ │ ├── QualifiedName.cpp │ │ ├── ReferenceTypeAttributes.cpp │ │ ├── Services.cpp │ │ ├── Utilities.cpp │ │ ├── VariableAttributes.cpp │ │ └── Variant.cpp │ ├── provider │ │ └── OPCUAModelProvider.cpp │ ├── server │ │ ├── Server.cpp │ │ └── ServerServices.cpp │ └── typesmap │ │ ├── TypesMap.cpp │ │ └── TypesTransformer.cpp ├── server │ ├── BaSyxServerConfig.cmake.in │ ├── CMakeLists.txt │ └── server │ │ ├── TCPSelectServer.cpp │ │ └── TCPServer.cpp ├── shared │ ├── BaSyxSharedConfig.cmake.in │ ├── CMakeLists.txt │ └── shared │ │ ├── object │ │ └── impl │ │ │ ├── obj_error.cpp │ │ │ └── object_impl.cpp │ │ └── serialization │ │ └── json │ │ └── typeid.cpp ├── utility │ ├── BaSyxUtilConfig.cmake.in │ ├── CMakeLists.txt │ └── util │ │ └── util.cpp └── vab │ ├── BaSyxVABConfig.cmake.in │ ├── CMakeLists.txt │ └── vab │ ├── ElementList.cpp │ ├── ElementMap.cpp │ ├── backend │ ├── connector │ │ ├── http │ │ │ └── .gitkeep │ │ └── native │ │ │ ├── BaSyxConnector.cpp │ │ │ └── frame │ │ │ ├── EntityWrapper.cpp │ │ │ └── Frame.cpp │ ├── gateway │ │ └── .gitkeep │ ├── http │ │ └── .gitkeep │ ├── server │ │ └── .gitkeep │ └── type │ │ └── .gitkeep │ ├── core │ ├── VABConnectionManager.cpp │ ├── proxy │ │ └── VABElementProxy.cpp │ └── util │ │ └── VABPath.cpp │ └── provider │ ├── VABModelProvider.cpp │ ├── filesystem │ └── .gitkeep │ ├── native │ └── frame │ │ └── BaSyxNativeFrameProcessor.cpp │ └── xml │ └── .gitkeep └── tests ├── CMakeLists.txt ├── integration ├── CMakeLists.txt ├── cpp_test_connector │ ├── CMakeLists.txt │ └── cpp_test_connector.cpp └── cpp_test_server │ ├── CMakeLists.txt │ └── cpp_test_server.cpp ├── regression ├── aas │ └── CMakeLists.txt ├── controlcomponent │ ├── CMakeLists.txt │ ├── support │ │ └── ControlComponentChangeListenerMock.hpp │ └── test_ControlComponent.cpp ├── opcua │ ├── CMakeLists.txt │ ├── OPCUATestSetup.h │ ├── aas │ │ └── api │ │ │ ├── AASOperationsMockUp.cc │ │ │ ├── AASOperationsMockUp.h │ │ │ ├── test_AASAPI.cc │ │ │ └── test_AASModelProvider.cc │ ├── api │ │ ├── test_ApiAssetAdminstrationShell.cpp │ │ ├── test_ApiProperty.cpp │ │ └── test_ApiSubmodel.cpp │ ├── modelprovider │ │ ├── buildCNCModel.h │ │ ├── test_AASAggregatorProvider.cpp │ │ ├── test_OPCUALegacyModelVABAccess.cpp │ │ ├── test_OPCUAModelProvider.cpp │ │ └── test_OPCUAModelProviderTypeMeta.cpp │ ├── node │ │ ├── test_AssetAdministrationShellNodeManager.cpp │ │ ├── test_PropertyNodeManager.cpp │ │ └── test_SubmodelNodeManager.cpp │ └── utilities │ │ ├── test_ModeProviderUtilities.cpp │ │ ├── test_OPCUAUtilities.cpp │ │ └── test_OPUAClientServices.cpp ├── submodel │ ├── CMakeLists.txt │ ├── api │ │ ├── aas │ │ │ └── test_AssetAdministrationShell.cpp │ │ ├── common │ │ │ ├── test_ElementContainer.cpp │ │ │ └── test_LangStringSet.cpp │ │ ├── constraint │ │ │ ├── test_Formula.cpp │ │ │ └── test_Qualifier.cpp │ │ ├── dataspecification │ │ │ ├── test_DataSpecificationPhysicalUnit.cpp │ │ │ └── test_ValueList.cpp │ │ ├── parts │ │ │ ├── test_ConceptDescription.cpp │ │ │ ├── test_ConceptDictionary.cpp │ │ │ └── test_View.cpp │ │ ├── property │ │ │ └── test_Property.cpp │ │ ├── qualifier │ │ │ ├── test_AdministrativeInformation.cpp │ │ │ ├── test_HasDataSpecification.cpp │ │ │ ├── test_Identifiable.cpp │ │ │ ├── test_Qualifiable.cpp │ │ │ └── test_Referable.cpp │ │ ├── reference │ │ │ ├── test_Key.cpp │ │ │ └── test_Reference.cpp │ │ ├── submodelelement │ │ │ ├── file │ │ │ │ ├── test_Blob.cpp │ │ │ │ └── test_File.cpp │ │ │ ├── test_AnnotatedRelationshipElement.cpp │ │ │ ├── test_Entity.cpp │ │ │ ├── test_Range.cpp │ │ │ └── test_RelationshipElement.cpp │ │ └── test_Submodel.cpp │ ├── connected │ │ ├── submodelelement │ │ │ ├── operation │ │ │ │ └── test_ConnectedOperation.cpp │ │ │ ├── property │ │ │ │ ├── blob │ │ │ │ │ └── test_ConnectedBlob.cpp │ │ │ │ ├── file │ │ │ │ │ └── test_ConnectedFile.cpp │ │ │ │ ├── test_ConnectedCollectionProperty.cpp │ │ │ │ ├── test_ConnectedMapProperty.cpp │ │ │ │ ├── test_ConnectedProperty.cpp │ │ │ │ ├── test_ConnectedPropertyFactory.cpp │ │ │ │ ├── test_ConnectedReferenceElement.cpp │ │ │ │ └── test_ConnectedSingleProperty.cpp │ │ │ ├── test_ConnectedRelationshipElement.cpp │ │ │ ├── test_ConnectedSubmodelElement.cpp │ │ │ └── test_ConnectedSubmodelElementCollection.cpp │ │ ├── test_ConnectedDataElement.cpp │ │ └── test_ConnectedElement.cpp │ ├── map │ │ ├── qualifier │ │ │ ├── qualifiable │ │ │ │ ├── test_Constraint.cpp │ │ │ │ ├── test_Formula.cpp │ │ │ │ ├── test_Qualifiable.cpp │ │ │ │ └── test_Qualifier.cpp │ │ │ ├── test_HasDataSpecification.cpp │ │ │ ├── test_HasKind.cpp │ │ │ ├── test_HasSemantics.cpp │ │ │ ├── test_Identifiable.cpp │ │ │ └── test_Referable.cpp │ │ ├── reference │ │ │ ├── test_Key.cpp │ │ │ └── test_Reference.cpp │ │ ├── submodelelement │ │ │ ├── operation │ │ │ │ └── test_OperationVariable.cpp │ │ │ ├── property │ │ │ │ └── test_Property.cpp │ │ │ ├── test_DataElement.cpp │ │ │ └── test_ReferenceElement.cpp │ │ └── test_Submodel.cpp │ ├── map_v2 │ │ ├── common │ │ │ ├── test_ElementContainer.cpp │ │ │ └── test_LangStringSet.cpp │ │ ├── constraint │ │ │ ├── test_Formula.cpp │ │ │ └── test_Qualifier.cpp │ │ ├── dataspecification │ │ │ ├── test_DataSpecification.cpp │ │ │ └── test_DataSpecificationIEC61360.cpp │ │ ├── identifier │ │ │ └── test_Identifier.cpp │ │ ├── parts │ │ │ └── test_View.cpp │ │ ├── qualifier │ │ │ ├── test_HasDataSpecification.cpp │ │ │ ├── test_Qualifiable.cpp │ │ │ └── test_Referable.cpp │ │ ├── submodelelement │ │ │ ├── file │ │ │ │ ├── test_Blob.cpp │ │ │ │ └── test_File.cpp │ │ │ ├── operation │ │ │ │ ├── test_Operation.cpp │ │ │ │ └── test_OperationVariable.cpp │ │ │ ├── property │ │ │ │ ├── test_MultiLanguageProperty.cpp │ │ │ │ └── test_ReferenceElement.cpp │ │ │ ├── test_AnnotatedRelationshipElement.cpp │ │ │ ├── test_Entity.cpp │ │ │ ├── test_Range.cpp │ │ │ └── test_SubmodelElementCollection.cpp │ │ └── test_Submodel.cpp │ └── support │ │ ├── AdditionalAssertions.hpp │ │ ├── AdministrativeInformationMock.hpp │ │ ├── IdentifiableMock.hpp │ │ ├── IdentifierMock.hpp │ │ ├── KeyMock.hpp │ │ ├── ReferableMock.hpp │ │ ├── ReferenceMock.hpp │ │ ├── TestingObjects.h │ │ ├── VABProxyMock.cpp │ │ └── constant_definitions.cpp ├── util │ ├── CMakeLists.txt │ ├── fundamentals │ │ ├── test_basyx_make_function.cc │ │ └── test_basyx_object.cc │ └── serialization │ │ └── test_basyx_object_serializer_json.cc └── vab │ ├── CMakeLists.txt │ ├── connector │ └── basyx │ │ └── frame │ │ └── test_BaSyxNativeFrameBuilder.cpp │ ├── core │ └── proxy │ │ └── test_vab_elementproxy.cpp │ ├── path │ └── test_VABPath.cpp │ ├── provider │ ├── basyx │ │ ├── frame │ │ │ ├── test_BaSyxNativeFrame.cpp │ │ │ └── test_BaSyxNativeFrameProcessor.cpp │ │ └── test_BaSyxNative.cpp │ ├── test_hashmap.cpp │ ├── test_hashmap_collection.cpp │ └── test_hashmap_map.cpp │ ├── server │ └── test_TCPSelectServer.cpp │ ├── snippet │ ├── CMakeLists.txt │ ├── MapCreateDelete.h │ ├── MapInvoke.h │ ├── MapRead.h │ ├── MapUpdate.h │ └── TestCollectionProperty.h │ └── support │ └── MockupModelProvider.h └── support ├── CMakeLists.txt ├── macros.h ├── main.cpp └── vab └── stub └── elements ├── SimpleVABElement.cpp └── SimpleVABElement.h /.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | build/ 3 | .project 4 | .cproject 5 | bin/ 6 | compile_commands.json 7 | run-msbuild.bat 8 | .clangd/ 9 | *.swp 10 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "lib/open62541"] 2 | path = lib/open62541 3 | url = https://github.com/open62541/open62541.git 4 | -------------------------------------------------------------------------------- /cmake/Findasio.cmake: -------------------------------------------------------------------------------- 1 | 2 | find_path(ASIO_INCLUDE asio.hpp 3 | HINTS 4 | "/usr/include" 5 | "/usr/local/include" 6 | "/opt/local/include" 7 | "/opt/include" 8 | ) 9 | 10 | if(ASIO_INCLUDE) 11 | add_library(asio INTERFACE IMPORTED GLOBAL) 12 | target_include_directories(asio INTERFACE ${ASIO_INCLUDE}) 13 | target_compile_definitions(asio INTERFACE ASIO_STANDALONE) 14 | add_library(lib::asio ALIAS asio) 15 | add_library(asio::asio ALIAS asio) 16 | message(STATUS "Found asio include at: ${ASIO_INCLUDE}") 17 | else() 18 | message(FATAL_ERROR "Failed to locate ASIO dependency.") 19 | endif() 20 | -------------------------------------------------------------------------------- /cmake/build_source_group.cmake: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### build_source_group ### 3 | ############################################### 4 | ### 5 | ### Builds a source group from a set of files 6 | ### for nicer display in IDEs 7 | ### 8 | 9 | 10 | function( build_source_group target_name) 11 | get_target_property("sources" ${target_name} "SOURCES") 12 | 13 | set(local_files) 14 | foreach(_file ${sources}) 15 | string(FIND ${_file} "${CMAKE_CURRENT_SOURCE_DIR}" found) 16 | if(NOT found EQUAL -1) 17 | list(APPEND local_files ${_file}) 18 | endif() 19 | endforeach() 20 | 21 | set(include_files) 22 | foreach(_file ${sources}) 23 | string(FIND ${_file} "${BASYX_INCLUDE_DIR}" found) 24 | if(NOT found EQUAL -1) 25 | list(APPEND include_files ${_file}) 26 | endif() 27 | endforeach() 28 | 29 | source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "[src]" FILES ${local_files}) 30 | source_group(TREE "${BASYX_INCLUDE_DIR}/BaSyx" PREFIX "[include]" FILES ${include_files}) 31 | endfunction() -------------------------------------------------------------------------------- /cmake/config.windows.cmake: -------------------------------------------------------------------------------- 1 | add_compile_definitions(WIN32_LEAN_AND_MEAN) 2 | add_compile_definitions(_CRT_SECURE_NO_WARNINGS) 3 | add_compile_options(/wd4250) 4 | -------------------------------------------------------------------------------- /cmake/diagnostics_print.cmake: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### diagnostics_print ### 3 | ############################################### 4 | ### 5 | ### Prints different diagnostics and infos 6 | ### about the specified target 7 | ### 8 | 9 | function( diagnostics_print target_name ) 10 | message(STATUS "${target_name} settings:") 11 | message(STATUS "==============\n") 12 | 13 | message(STATUS "Source Files:") 14 | get_target_property(SOURCE_FILES ${target_name} SOURCES) 15 | if(SOURCE_FILES) 16 | message(STATUS "${SOURCE_FILES}") 17 | endif() 18 | 19 | message(STATUS "\nInclude Directories:") 20 | get_target_property(HEADER_DIR ${target_name} INCLUDE_DIRECTORIES) 21 | if(HEADER_DIR) 22 | message(STATUS "${HEADER_DIR}") 23 | endif() 24 | 25 | message(STATUS "\nLink Libraries:") 26 | get_target_property(LINKED_LIBS ${target_name} LINK_LIBRARIES) 27 | if(LINKED_LIBS) 28 | message(STATUS "${LINKED_LIBS}") 29 | endif() 30 | 31 | message(STATUS "\n") 32 | endfunction() -------------------------------------------------------------------------------- /cmake/enable_clang_format.cmake: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### enable_clang_format ### 3 | ############################################### 4 | ### 5 | ### Enables a clang-format target, if 6 | ### clang-format is installed, automatically 7 | ### formatting all sources in the tree 8 | ### 9 | 10 | function( enable_clang_format ) 11 | 12 | endfunction() -------------------------------------------------------------------------------- /cmake/enable_clang_tidy.cmake: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### enable_clang_tidy ### 3 | ############################################### 4 | ### 5 | ### Enables a clang-tidy target, if 6 | ### clang-tidy is installed, to run static 7 | ### code analysis on all sources 8 | ### 9 | 10 | function( enable_clang_tidy ) 11 | file(GLOB_RECURSE SOURCE_FILES src/*.c src/*.cpp src/*.cxx src/*.cc ) 12 | file(GLOB_RECURSE HEADER_FILES src/*.h src/*.hpp src/*.hxx src/*.hh ) 13 | 14 | find_program(UTIL_TIDY_PATH clang-tidy) 15 | if(UTIL_TIDY_PATH) 16 | message(STATUS "Using clang-tidy static-analysis: yes") 17 | add_custom_target(clang-tidy 18 | COMMAND ${UTIL_TIDY_PATH} ${SOURCE_FILES} ${HEADER_FILES} -p=./ ) 19 | else() 20 | message(STATUS "Using clang-tidy static-analysis: no") 21 | endif() 22 | endfunction() 23 | -------------------------------------------------------------------------------- /cmake/enable_cppcheck.cmake: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### enable_cppcheck ### 3 | ############################################### 4 | ### 5 | ### Enables a cppcheck target, if 6 | ### cppcheck is installed, to run static 7 | ### analysis on all sources 8 | ### 9 | 10 | function( enable_cppcheck ) 11 | file(GLOB_RECURSE SOURCE_FILES src/*.c src/*.cpp src/*.cxx src/*.cc ) 12 | file(GLOB_RECURSE HEADER_FILES src/*.h src/*.hpp src/*.hxx src/*.hh ) 13 | 14 | find_program(UTIL_CPPCHECK_PATH cppcheck) 15 | if(UTIL_CPPCHECK_PATH) 16 | message(STATUS "Using cppcheck static-analysis: yes ") 17 | add_custom_target( 18 | cppcheck 19 | COMMAND ${UTIL_CPPCHECK_PATH} 20 | --enable=warning,performance,portability,information,missingInclude 21 | --language=c++ 22 | --std=c++11 23 | --template=gcc 24 | --verbose 25 | --quiet 26 | ${SOURCE_FILES} ${HEADER_FILES} 27 | ) 28 | else() 29 | message(STATUS "Using cppcheck static-analysis: no ") 30 | endif() 31 | endfunction() 32 | -------------------------------------------------------------------------------- /cmake/enable_testbed.cmake: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### enable_testbed ### 3 | ############################################### 4 | ### 5 | ### Load instructions from a testing.cmake file 6 | ### This can be used, to create build targets 7 | ### for testing purposes 8 | ### 9 | 10 | function( enable_testbed ) 11 | if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/testbed.cmake") 12 | include("${CMAKE_CURRENT_SOURCE_DIR}/testbed.cmake") 13 | endif() 14 | endfunction() -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/common/IModelType.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_COMMON_IMODELTYPE_H 12 | #define BASYX_SUBMODEL_API_V2_COMMON_IMODELTYPE_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace api { 19 | 20 | class IModelType 21 | { 22 | public: 23 | virtual ~IModelType() = 0; 24 | virtual ModelTypes GetModelType() const = 0; 25 | }; 26 | 27 | inline IModelType::~IModelType() = default; 28 | 29 | } 30 | } 31 | } 32 | 33 | #endif /* BASYX_SUBMODEL_API_V2_COMMON_IMODELTYPE_H */ 34 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/constraint/IConstraint.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_CONSTRAINT_ICONSTRAINT_H 12 | #define BASYX_SUBMODEL_API_V2_CONSTRAINT_ICONSTRAINT_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace api { 19 | 20 | 21 | class IConstraint 22 | { 23 | public: 24 | virtual ~IConstraint() = 0; 25 | }; 26 | 27 | inline IConstraint::~IConstraint() = default; 28 | 29 | } 30 | } 31 | } 32 | 33 | #endif /* BASYX_SUBMODEL_API_V2_CONSTRAINT_ICONSTRAINT_H */ 34 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/constraint/IFormula.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_CONSTRAINT_IFORMULA_H 12 | #define BASYX_SUBMODEL_API_V2_CONSTRAINT_IFORMULA_H 13 | 14 | #include 15 | #include 16 | 17 | #include 18 | 19 | namespace basyx { 20 | namespace aas { 21 | namespace api { 22 | 23 | 24 | class IFormula : public IConstraint 25 | { 26 | public: 27 | virtual ~IFormula() = 0; 28 | 29 | virtual std::vector getDependencies() const = 0; 30 | virtual void addDependency(const IReference & reference) = 0; 31 | }; 32 | 33 | inline IFormula::~IFormula() = default; 34 | 35 | } 36 | } 37 | } 38 | 39 | #endif /* BASYX_SUBMODEL_API_V2_CONSTRAINT_IFORMULA_H */ 40 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/dataspecification/IDataSpecificationContent.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IDATASPECIFICATIONCONTENT_H 12 | #define BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IDATASPECIFICATIONCONTENT_H 13 | 14 | namespace basyx { 15 | namespace aas { 16 | namespace api { 17 | 18 | class IDataSpecificationContent 19 | { 20 | public: 21 | virtual ~IDataSpecificationContent() = 0; 22 | }; 23 | 24 | inline IDataSpecificationContent::~IDataSpecificationContent() = default; 25 | 26 | } 27 | } 28 | } 29 | 30 | #endif /* BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IDATASPECIFICATIONCONTENT_H */ 31 | 32 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/dataspecification/IEmbeddedDataSpecification.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IEMBEDDEDDATASPECIFICATION_H 12 | #define BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IEMBEDDEDDATASPECIFICATION_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace api { 19 | 20 | class IEmbeddedDataSpecification 21 | { 22 | public: 23 | virtual ~IEmbeddedDataSpecification() = 0; 24 | 25 | virtual IReference * getDataSpecifaction() const = 0; 26 | }; 27 | 28 | inline IEmbeddedDataSpecification::~IEmbeddedDataSpecification() = default; 29 | 30 | } 31 | } 32 | } 33 | #endif /* BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IEMBEDDEDDATASPECIFICATION_H */ 34 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/dataspecification/IValueList.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IVALUELIST_H 12 | #define BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IVALUELIST_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace api { 19 | 20 | class IValueList 21 | { 22 | public: 23 | virtual ~IValueList() = 0; 24 | 25 | virtual void addValueReferencePair(const simple::ValueReferencePair & valueRefPair) = 0; 26 | virtual std::vector getValueReferencePairs() = 0; 27 | }; 28 | 29 | inline IValueList::~IValueList() = default; 30 | 31 | } 32 | } 33 | } 34 | 35 | #endif /* BASYX_SUBMODEL_API_V2_DATASPECIFICATION_IVALUELIST_H */ 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/parts/IConceptDictionary.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_PARTS_ICONCEPTDICTIONARY_H 12 | #define BASYX_SUBMODEL_API_V2_PARTS_ICONCEPTDICTIONARY_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace api { 19 | 20 | class IConceptDictionary 21 | : public virtual IReferable 22 | { 23 | public: 24 | virtual ~IConceptDictionary() = 0; 25 | 26 | virtual const IElementContainer & getConceptDescriptions() const = 0; 27 | }; 28 | 29 | inline IConceptDictionary::~IConceptDictionary() = default; 30 | 31 | } 32 | } 33 | } 34 | #endif /* BASYX_SUBMODEL_API_V2_PARTS_ICONCEPTDICTIONARY_H */ 35 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/qualifier/IHasDataSpecification.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_QUALIFIER_IHASDATASPECIFICATION_H 12 | #define BASYX_SUBMODEL_API_V2_QUALIFIER_IHASDATASPECIFICATION_H 13 | 14 | #include 15 | #include 16 | 17 | namespace basyx { 18 | namespace aas { 19 | namespace api { 20 | 21 | class IHasDataSpecification 22 | { 23 | public: 24 | virtual ~IHasDataSpecification() = default; 25 | 26 | virtual void addDataSpecification(const simple::Reference & reference) = 0; 27 | virtual const std::vector getDataSpecificationReference() const = 0; 28 | }; 29 | 30 | } 31 | } 32 | } 33 | 34 | #endif /* BASYX_SUBMODEL_API_V2_QUALIFIER_IHASDATASPECIFICATION_H */ 35 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/qualifier/IHasKind.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_QUALIFIER_IHASKIND_H 12 | #define BASYX_SUBMODEL_API_V2_QUALIFIER_IHASKIND_H 13 | 14 | #include 15 | 16 | #include 17 | 18 | #include 19 | 20 | namespace basyx { 21 | namespace aas { 22 | 23 | class IHasKind 24 | { 25 | public: 26 | virtual ~IHasKind() = default; 27 | virtual ModelingKind getKind() const = 0; 28 | }; 29 | 30 | 31 | } 32 | } 33 | #endif /* BASYX_SUBMODEL_API_V2_QUALIFIER_IHASKIND_H */ 34 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/qualifier/IHasSemantics.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_QUALIFIER_IHASSEMANTICS_H 12 | #define BASYX_SUBMODEL_API_V2_QUALIFIER_IHASSEMANTICS_H 13 | 14 | #include 15 | 16 | #include 17 | #include 18 | 19 | namespace basyx { 20 | namespace aas { 21 | namespace api { 22 | 23 | class IHasSemantics 24 | { 25 | public: 26 | virtual ~IHasSemantics() = 0; 27 | 28 | virtual const IReference * getSemanticId() const = 0; 29 | }; 30 | 31 | inline IHasSemantics::~IHasSemantics() = default; 32 | 33 | } 34 | } 35 | } 36 | 37 | #endif /* BASYX_SUBMODEL_API_V2_QUALIFIER_IHASSEMANTICS_H */ 38 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/reference/IReference.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_REFERENCE_IREFERENCE_H 12 | #define BASYX_SUBMODEL_API_V2_REFERENCE_IREFERENCE_H 13 | 14 | #include 15 | 16 | #include 17 | 18 | namespace basyx { 19 | namespace aas { 20 | namespace api { 21 | 22 | 23 | class IReference 24 | { 25 | public: 26 | virtual ~IReference() = 0; 27 | 28 | virtual std::vector getKeys() const = 0; 29 | virtual void addKey(const simple::Key & key) = 0; 30 | 31 | virtual bool empty() const = 0; 32 | }; 33 | 34 | inline IReference::~IReference() = default; 35 | 36 | } 37 | } 38 | } 39 | 40 | #endif /* BASYX_SUBMODEL_API_V2_REFERENCE_IREFERENCE_H */ 41 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/submodelelement/ICapability.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_ICAPABILITY_H 12 | #define BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_ICAPABILITY_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace api { 19 | 20 | class ICapability 21 | : ISubmodelElement 22 | { 23 | public: 24 | ~ICapability() = 0; 25 | 26 | virtual KeyElements getKeyElementType() const override { return KeyElements::Capability; }; 27 | }; 28 | 29 | inline ICapability::~ICapability() = default; 30 | 31 | } 32 | } 33 | } 34 | #endif /* BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_ICAPABILITY_H */ 35 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/submodelelement/IDataElement.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_IDATAELEMENT_H 12 | #define BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_IDATAELEMENT_H 13 | 14 | 15 | #include 16 | 17 | namespace basyx { 18 | namespace aas { 19 | namespace api { 20 | 21 | class IDataElement : public virtual ISubmodelElement 22 | { 23 | public: 24 | virtual ~IDataElement() = 0; 25 | 26 | virtual KeyElements getKeyElementType() const override { return KeyElements::DataElement; }; 27 | }; 28 | 29 | inline IDataElement::~IDataElement() = default; 30 | 31 | } 32 | } 33 | } 34 | 35 | #endif /* BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_IDATAELEMENT_H */ 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/api_v2/submodelelement/IEvent.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_IEVENT_H 12 | #define BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_IEVENT_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace api { 19 | 20 | class IEvent 21 | : public virtual ISubmodelElement 22 | { 23 | public: 24 | ~IEvent() = 0; 25 | 26 | virtual KeyElements getKeyElementType() const override { return KeyElements::Event; }; 27 | }; 28 | 29 | inline IEvent::~IEvent() = default; 30 | 31 | } 32 | } 33 | } 34 | #endif /* BASYX_SUBMODEL_API_V2_SUBMODELELEMENT_IEVENT_H */ 35 | -------------------------------------------------------------------------------- /include/BaSyx/aas/enumerations/AssetKind.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_ENUMERATIONS_ASSETKIND_H 12 | #define BASYX_SUBMODEL_ENUMERATIONS_ASSETKIND_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | 19 | enum class AssetKind { 20 | Type, 21 | Instance, 22 | Unknown, 23 | }; 24 | 25 | class AssetKind_ 26 | { 27 | public: 28 | static AssetKind from_string(const std::string & name); 29 | static const char * to_string(AssetKind value); 30 | }; 31 | 32 | 33 | } 34 | } 35 | 36 | #endif /* BASYX_SUBMODEL_ENUMERATIONS_ASSETKIND_H */ 37 | -------------------------------------------------------------------------------- /include/BaSyx/aas/enumerations/EntityType.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_ENUMERATIONS_ENTITYTYPE_H 12 | #define BASYX_SUBMODEL_ENUMERATIONS_ENTITYTYPE_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | 19 | enum class EntityType { 20 | CoManagedEntity, 21 | SelfManagedEntity, 22 | }; 23 | 24 | class EntityType_ 25 | { 26 | public: 27 | static EntityType from_string(const std::string & name); 28 | static const char * to_string(EntityType value); 29 | }; 30 | 31 | 32 | } 33 | } 34 | 35 | #endif /* BASYX_SUBMODEL_ENUMERATIONS_ENTITYTYPE_H */ 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/enumerations/IdentifiableElements.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_ENUMERATIONS_IDENTIFIABLEELEMENTS_H 12 | #define BASYX_SUBMODEL_ENUMERATIONS_IDENTIFIABLEELEMENTS_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | 19 | enum class IdentifiableElements { 20 | Asset, 21 | AssetAdministrationShell, 22 | ConceptDescription, 23 | Submodel, 24 | }; 25 | 26 | class IdentifiableElements_ 27 | { 28 | public: 29 | static IdentifiableElements from_string(const std::string & name); 30 | static const char * to_string(IdentifiableElements value); 31 | }; 32 | 33 | 34 | } 35 | } 36 | 37 | #endif /* BASYX_SUBMODEL_ENUMERATIONS_IDENTIFIABLEELEMENTS_H */ 38 | -------------------------------------------------------------------------------- /include/BaSyx/aas/enumerations/IdentifierType.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_ENUMERATIONS_IDENTIFIERTYPE_H 12 | #define BASYX_SUBMODEL_ENUMERATIONS_IDENTIFIERTYPE_H 13 | 14 | #include 15 | 16 | #include 17 | 18 | namespace basyx { 19 | namespace aas { 20 | 21 | using IdentifierType = KeyType; 22 | using IdentifierType_ = KeyType_; 23 | 24 | //enum class IdentifierType { 25 | // Custom, 26 | // IRDI, 27 | // URI, 28 | // Unknown, 29 | //}; 30 | // 31 | //class IdentifierType_ 32 | //{ 33 | //public: 34 | // static IdentifierType from_string(const std::string & name); 35 | // static const char * to_string(IdentifierType value); 36 | //}; 37 | 38 | 39 | } 40 | } 41 | 42 | #endif /* BASYX_SUBMODEL_ENUMERATIONS_IDENTIFIERTYPE_H */ 43 | -------------------------------------------------------------------------------- /include/BaSyx/aas/enumerations/KeyType.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_ENUMERATIONS_KEYTYPE_H 12 | #define BASYX_SUBMODEL_ENUMERATIONS_KEYTYPE_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | 19 | enum class KeyType { 20 | IdShort, 21 | FragementId, 22 | Custom, 23 | IRDI, 24 | URI, 25 | Unknown, 26 | }; 27 | 28 | class KeyType_ 29 | { 30 | public: 31 | static KeyType from_string(const std::string & name); 32 | static const char * to_string(KeyType value); 33 | }; 34 | 35 | 36 | } 37 | } 38 | 39 | #endif /* BASYX_SUBMODEL_ENUMERATIONS_KEYTYPE_H */ 40 | -------------------------------------------------------------------------------- /include/BaSyx/aas/enumerations/LevelType.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_ENUMERATIONS_LEVELTYPE_H 12 | #define BASYX_SUBMODEL_ENUMERATIONS_LEVELTYPE_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | 19 | enum class LevelType { 20 | Max, 21 | Min, 22 | Nom, 23 | Typ, 24 | Undefined, 25 | }; 26 | 27 | class LevelType_ 28 | { 29 | public: 30 | static LevelType from_string(const std::string & name); 31 | static const char * to_string(LevelType value); 32 | }; 33 | 34 | 35 | } 36 | } 37 | 38 | #endif /* BASYX_SUBMODEL_ENUMERATIONS_LEVELTYPE_H */ 39 | -------------------------------------------------------------------------------- /include/BaSyx/aas/enumerations/LocalKeyType.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_ENUMERATIONS_LOCALKEYTYPE_H 12 | #define BASYX_SUBMODEL_ENUMERATIONS_LOCALKEYTYPE_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | 19 | enum class LocalKeyType { 20 | IdShort, 21 | FragmentId, 22 | }; 23 | 24 | class LocalKeyType_ 25 | { 26 | public: 27 | static LocalKeyType from_string(const std::string & name); 28 | static const char * to_string(LocalKeyType value); 29 | }; 30 | 31 | 32 | } 33 | } 34 | 35 | #endif /* BASYX_SUBMODEL_ENUMERATIONS_LOCALKEYTYPE_H */ 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/enumerations/ModelingKind.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_ENUMERATIONS_MODELINGKIND_H 12 | #define BASYX_SUBMODEL_ENUMERATIONS_MODELINGKIND_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | 19 | enum class ModelingKind { 20 | Template, 21 | Instance, 22 | }; 23 | 24 | class ModelingKind_ 25 | { 26 | public: 27 | static ModelingKind from_string(const std::string & name); 28 | static const char * to_string(ModelingKind value); 29 | }; 30 | 31 | 32 | } 33 | } 34 | 35 | #endif /* BASYX_SUBMODEL_ENUMERATIONS_MODELINGKIND_H */ 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/map_v2/common/SubmodelContainer.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_MAP_V2_COMMON_SUBMODELCONTAINER_H 12 | #define BASYX_SUBMODEL_MAP_V2_COMMON_SUBMODELCONTAINER_H 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | namespace basyx { 22 | namespace aas { 23 | namespace map { 24 | 25 | class SubmodelContainer : public map::ElementContainer 26 | { 27 | public: 28 | 29 | }; 30 | 31 | 32 | } 33 | } 34 | } 35 | 36 | #endif /* BASYX_SUBMODEL_MAP_V2_COMMON_SUBMODELCONTAINER_H */ 37 | -------------------------------------------------------------------------------- /include/BaSyx/aas/map_v2/dataspecification/DataSpecificationContent.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_MAP_V2_DATASPECIFICATION_DATASPECIFICATIONCONTENT_H 12 | #define BASYX_SUBMODEL_MAP_V2_DATASPECIFICATION_DATASPECIFICATIONCONTENT_H 13 | 14 | #include 15 | 16 | #include 17 | 18 | namespace basyx { 19 | namespace aas { 20 | namespace map { 21 | 22 | class DataSpecificationContent 23 | : public api::IDataSpecificationContent 24 | , public virtual vab::ElementMap 25 | {}; 26 | 27 | } 28 | } 29 | } 30 | #endif /* BASYX_SUBMODEL_MAP_V2_DATASPECIFICATION_DATASPECIFICATIONCONTENT_H */ 31 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/AnyURI.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_ANYURI_H 12 | #define BASYX_SIMPLE_SDK_ANYURI_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class AnyURI 21 | { 22 | private: 23 | std::string uri; 24 | 25 | public: 26 | AnyURI(const std::string & uri); 27 | 28 | const std::string & getUri() const; 29 | void setURI(const std::string & uri); 30 | }; 31 | 32 | } 33 | } 34 | } 35 | #endif //BASYX_MAP_V2_SDK_ANYURI_H 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/Date.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_DATE_H 12 | #define BASYX_SIMPLE_SDK_DATE_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class Date 21 | { 22 | private: 23 | tm date; 24 | 25 | public: 26 | Date(const tm &); 27 | 28 | const tm & getDate() const; 29 | void setDate(const tm &); 30 | }; 31 | 32 | } 33 | } 34 | } 35 | #endif /* BASYX_SIMPLE_SDK_DATE_H */ 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/DateTime.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_DATETIME_H 12 | #define BASYX_SIMPLE_SDK_DATETIME_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class DateTime 21 | { 22 | private: 23 | tm time; 24 | 25 | public: 26 | DateTime(const tm &); 27 | 28 | const tm & getTime() const; 29 | void setTime(const tm & time); 30 | }; 31 | 32 | } 33 | } 34 | } 35 | #endif //BASYX_MAP_V2_SDK_DATETIME_H 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/DayTimeDuration.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_DAYTIMEDURATION_H 12 | #define BASYX_SIMPLE_SDK_DAYTIMEDURATION_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class DayTimeDuration 21 | { 22 | private: 23 | std::chrono::duration duration_in_sec; 24 | public: 25 | DayTimeDuration(const std::chrono::duration &); 26 | 27 | const std::chrono::duration & getDuration() const; 28 | void setDuration(const std::chrono::duration &); 29 | }; 30 | 31 | } 32 | } 33 | } 34 | #endif /* BASYX_SIMPLE_SDK_DAYTIMEDURATION_H */ 35 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/GDay.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_GDAY_H 12 | #define BASYX_SIMPLE_SDK_GDAY_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class GDay 21 | { 22 | private: 23 | uint8_t day; 24 | Timezone timezone; 25 | 26 | public: 27 | GDay(uint8_t day, const Timezone & timezone = "Z"); 28 | 29 | uint8_t getDay() const; 30 | void setDay(uint8_t day); 31 | 32 | const Timezone & getTimezone() const; 33 | void setTimezone(const Timezone &timezone); 34 | }; 35 | 36 | } 37 | } 38 | } 39 | #endif /* BASYX_SIMPLE_SDK_GDAY_H */ 40 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/GMonth.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_GMONTH_H 12 | #define BASYX_SIMPLE_SDK_GMONTH_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class GMonth 21 | { 22 | private: 23 | uint8_t month; 24 | Timezone timezone; 25 | 26 | public: 27 | GMonth(uint8_t month, const Timezone & timezone = "Z"); 28 | 29 | uint8_t getMonth() const; 30 | void setMonth(uint8_t month); 31 | 32 | const Timezone & getTimezone() const; 33 | void setTimezone(const Timezone &timezone); 34 | }; 35 | 36 | } 37 | } 38 | } 39 | #endif /* BASYX_SIMPLE_SDK_GMONTH_H */ 40 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/GYear.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_GYEAR_H 12 | #define BASYX_SIMPLE_SDK_GYEAR_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class GYear 21 | { 22 | private: 23 | int year; 24 | Timezone timezone; 25 | 26 | public: 27 | GYear(int year, const Timezone & timezone = "Z"); 28 | 29 | int getYear() const; 30 | void setYear(int year); 31 | 32 | const Timezone & getTimezone() const; 33 | void setTimezone(const Timezone &timezone); 34 | 35 | 36 | }; 37 | 38 | } 39 | } 40 | } 41 | #endif /* BASYX_SIMPLE_SDK_GYEAR_H */ 42 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/GYearMonth.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_GYEARMONTH_H 12 | #define BASYX_SIMPLE_SDK_GYEARMONTH_H 13 | 14 | #include "Timezone.h" 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class GYearMonth 21 | { 22 | private: 23 | int year; 24 | uint8_t month; 25 | private: 26 | Timezone timezone; 27 | public: 28 | GYearMonth(int year, uint8_t month, const Timezone & = Timezone{}); 29 | 30 | int getYear() const; 31 | void setYear(int year); 32 | 33 | uint8_t getMonth() const; 34 | void setMonth(uint8_t month); 35 | 36 | const Timezone &getTimezone() const; 37 | void setTimezone(const Timezone &timezone); 38 | }; 39 | 40 | } 41 | } 42 | } 43 | #endif /* BASYX_SIMPLE_SDK_GYEARMONTH_H */ 44 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/Timezone.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_TIMEZONE_H 12 | #define BASYX_SIMPLE_SDK_TIMEZONE_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace aas { 18 | namespace simple { 19 | 20 | class Timezone 21 | { 22 | private: 23 | std::string timezone; 24 | 25 | public: 26 | Timezone(); 27 | Timezone(const std::string &); 28 | Timezone(const char*); 29 | 30 | const std::string &getTimezone() const; 31 | void setTimezone(const std::string &timezone); 32 | 33 | bool isUTC() const; 34 | 35 | operator const std::string & () const; 36 | }; 37 | 38 | } 39 | } 40 | } 41 | #endif /* BASYX_SIMPLE_SDK_TIMEZONE_H */ 42 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/common/xsd_types/YearMonthDuration.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SIMPLE_SDK_YEARMONTHDURATION_H 12 | #define BASYX_SIMPLE_SDK_YEARMONTHDURATION_H 13 | 14 | namespace basyx { 15 | namespace aas { 16 | namespace simple { 17 | 18 | class YearMonthDuration 19 | { 20 | private: 21 | int years = 0, months = 0; 22 | public: 23 | YearMonthDuration(int years, int months); 24 | 25 | int getYears() const; 26 | int getMonths() const; 27 | 28 | void setYears(const int &); 29 | void setMonths(const int &); 30 | }; 31 | 32 | } 33 | } 34 | } 35 | #endif /* BASYX_SIMPLE_SDK_YEARMONTHDURATION_H */ 36 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/submodelelement/Capability.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_SIMPLE_CAPABILITY_H 12 | #define BASYX_SUBMODEL_SIMPLE_CAPABILITY_H 13 | 14 | #include 15 | #include 16 | 17 | namespace basyx { 18 | namespace aas { 19 | namespace simple { 20 | 21 | class Capability 22 | : public api::ICapability 23 | , public SubmodelElement 24 | { 25 | Capability(const std::string & idShort, ModelingKind kind = ModelingKind::Instance); 26 | 27 | KeyElements getKeyElementType() const override { return KeyElements::Capability; }; 28 | }; 29 | 30 | } 31 | } 32 | } 33 | #endif //BASYX_SUBMODEL_MAP_CAPABILITY_H 34 | -------------------------------------------------------------------------------- /include/BaSyx/aas/simple/submodelelement/DataElement.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SUBMODEL_SIMPLE_SUBMODELELEMENT_DATAELEMENT_H 12 | #define BASYX_SUBMODEL_SIMPLE_SUBMODELELEMENT_DATAELEMENT_H 13 | 14 | #include 15 | #include 16 | 17 | namespace basyx { 18 | namespace aas { 19 | namespace simple { 20 | 21 | class DataElement 22 | : public virtual api::IDataElement 23 | , public SubmodelElement 24 | { 25 | public: 26 | ~DataElement() = default; 27 | 28 | DataElement(const std::string & idShort, ModelingKind kind = ModelingKind::Instance); 29 | }; 30 | 31 | } 32 | } 33 | } 34 | 35 | #endif /* BASYX_SUBMODEL_SIMPLE_SUBMODELELEMENT_DATAELEMENT_H */ 36 | -------------------------------------------------------------------------------- /include/BaSyx/abstraction/Net.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_ABSTRACTION_NET_H 12 | #define BASYX_ABSTRACTION_NET_H 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | #endif /* BASYX_ABSTRACTION_NET_H */ 19 | -------------------------------------------------------------------------------- /include/BaSyx/abstraction/Thread.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_ABSTRACTION_THREAD_H 12 | #define BASYX_ABSTRACTION_THREAD_H 13 | 14 | #include 15 | 16 | #endif /* BASYX_ABSTRACTION_THREAD_H */ 17 | -------------------------------------------------------------------------------- /include/BaSyx/abstraction/impl/thread_impl.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_ABSTRACTION_IMPL_THREAD_IMPL_H 12 | #define BASYX_ABSTRACTION_IMPL_THREAD_IMPL_H 13 | 14 | #ifdef _WIN32 15 | #include 16 | #else //UNIX 17 | #include 18 | #endif 19 | 20 | #endif /* BASYX_ABSTRACTION_IMPL_THREAD_IMPL_H */ 21 | -------------------------------------------------------------------------------- /include/BaSyx/controlcomponent/enumerations/ExecutionMode.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_CONTROLCOMPONENT_ENUM_EXECUTIONMODE_H 12 | #define BASYX_CONTROLCOMPONENT_ENUM_EXECUTIONMODE_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace controlcomponent { 18 | 19 | enum class ExecutionMode { 20 | Auto = 1, 21 | Semiauto = 2, 22 | Manual = 3, 23 | Reserved = 4, 24 | Simulation = 5 25 | }; 26 | 27 | } 28 | } 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /include/BaSyx/controlcomponent/enumerations/ExecutionOrder.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_CONTROLCOMPONENT_ENUM_EXECUTIONORDER_H 12 | #define BASYX_CONTROLCOMPONENT_ENUM_EXECUTIONORDER_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace controlcomponent { 18 | 19 | enum class ExecutionOrder { 20 | start, 21 | complete, 22 | reset, 23 | hold, 24 | unhold, 25 | suspend, 26 | unsuspend, 27 | clear, 28 | stop, 29 | abort, 30 | }; 31 | 32 | class ExecutionOrder_ 33 | { 34 | public: 35 | static ExecutionOrder from_string(const std::string & name); 36 | static const char * to_string(ExecutionOrder value); 37 | }; 38 | 39 | 40 | } 41 | } 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /include/BaSyx/controlcomponent/enumerations/OccupationState.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_CONTROLCOMPONENT_ENUM_OCCUPATIONSTATE_H 12 | #define BASYX_CONTROLCOMPONENT_ENUM_OCCUPATIONSTATE_H 13 | 14 | namespace basyx { 15 | namespace controlcomponent { 16 | 17 | enum class OccupationState { 18 | free = 0, 19 | occupied = 1, 20 | priority = 2, 21 | local = 3 22 | }; 23 | 24 | } 25 | } 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /include/BaSyx/opcua/client/open62541Client.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef OPEN_62541_CLIENT_INCLUDES_H 12 | #define OPEN_62541_CLIENT_INCLUDES_H 13 | 14 | extern "C"{ 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | } 21 | #endif -------------------------------------------------------------------------------- /include/BaSyx/opcua/server/open62541Server.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef OPEN_62541_SERVER_INCLUDES_H 12 | #define OPEN_62541_SERVER_INCLUDES_H 13 | extern "C"{ 14 | #include 15 | #include 16 | #include 17 | #include 18 | } 19 | #endif -------------------------------------------------------------------------------- /include/BaSyx/shared/enums.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SHARED_ENUMS_H 12 | #define BASYX_SHARED_ENUMS_H 13 | 14 | namespace basyx { 15 | 16 | enum class EntityType : char { 17 | CoManagedEntity = 0, 18 | SelfManagedEntity = 1, 19 | }; 20 | 21 | enum class Category : char { 22 | Constant = 0, 23 | Parameter = 1, 24 | Variable = 2, 25 | }; 26 | 27 | }; 28 | 29 | #endif /* BASYX_SHARED_ENUMS_H */ 30 | -------------------------------------------------------------------------------- /include/BaSyx/shared/object.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SHARED_OBJECT_H 12 | #define BASYX_SHARED_OBJECT_H 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | #endif /* BASYX_SHARED_OBJECT_H */ 23 | -------------------------------------------------------------------------------- /include/BaSyx/shared/object/impl/object_meta_impl.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SHARED_OBJECT_IMPL_OBJECT_META_IMPL_H 12 | #define BASYX_SHARED_OBJECT_IMPL_OBJECT_META_IMPL_H 13 | 14 | template 15 | bool basyx::object::operator!=(const T& rhs) const 16 | { 17 | return !this->operator==(rhs); 18 | } 19 | 20 | template 21 | bool basyx::object::operator==(const T& rhs) const 22 | { 23 | if (this->type() == typeid(T)) { 24 | return const_cast(this)->Get() == rhs; 25 | } 26 | return false; 27 | } 28 | 29 | 30 | #endif /* BASYX_SHARED_OBJECT_IMPL_OBJECT_META_IMPL_H */ 31 | -------------------------------------------------------------------------------- /include/BaSyx/shared/object/obj_error.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SHARED_OBJECT_OBJ_ERROR_H 12 | #define BASYX_SHARED_OBJECT_OBJ_ERROR_H 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace detail { 18 | 19 | enum class error { 20 | None, 21 | PropertyNotFound, 22 | IndexOutOfBounds, 23 | NotInvokable, 24 | ObjectAlreadyExists, 25 | MalformedRequest, 26 | ProviderException, 27 | }; 28 | 29 | class error_ 30 | { 31 | public: 32 | static error from_string(const std::string & name); 33 | static const char * to_string(error value); 34 | }; 35 | 36 | } 37 | } 38 | 39 | #endif /* BASYX_SHARED_OBJECT_OBJ_ERROR_H */ 40 | -------------------------------------------------------------------------------- /include/BaSyx/shared/serialization/json.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_SHARED_SERIALIZATION_JSON_H 12 | #define BASYX_SHARED_SERIALIZATION_JSON_H 13 | 14 | #include 15 | 16 | #endif /* BASYX_SHARED_SERIALIZATION_JSON_H */ 17 | -------------------------------------------------------------------------------- /include/BaSyx/shared/string_constants.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/include/BaSyx/shared/string_constants.h -------------------------------------------------------------------------------- /include/BaSyx/util/function_traits.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef UTILITY_UTIL_FUNCTION_TRAITS_H 12 | #define UTILITY_UTIL_FUNCTION_TRAITS_H 13 | 14 | #include 15 | 16 | namespace util 17 | { 18 | 19 | template 20 | struct function_traits; 21 | 22 | template 23 | struct function_traits> 24 | { 25 | static const std::size_t args_n = sizeof...(Args); 26 | 27 | using result_type = RetType; 28 | using argument_type = std::tuple; 29 | 30 | template 31 | struct arg_at 32 | { 33 | using type = typename std::tuple_element>::type; 34 | }; 35 | }; 36 | 37 | } 38 | 39 | #endif /* UTILITY_UTIL_FUNCTION_TRAITS_H */ 40 | -------------------------------------------------------------------------------- /include/BaSyx/util/macros.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef UTIL_MACROS_H_ 12 | #define UTIL_MACROS_H_ 13 | 14 | #endif -------------------------------------------------------------------------------- /include/BaSyx/util/meta.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef UTIL_META_H 12 | #define UTIL_META_H 13 | 14 | namespace util { 15 | namespace meta { 16 | 17 | template 18 | struct Typelist { 19 | }; 20 | 21 | template 22 | struct sequence { }; 23 | 24 | template 25 | struct generator_sequence : generator_sequence { }; 26 | 27 | template 28 | struct generator_sequence<0, tail...> { 29 | typedef sequence type; 30 | }; 31 | 32 | } 33 | }; 34 | 35 | #endif // UTIL_META_H -------------------------------------------------------------------------------- /include/BaSyx/vab/ElementList.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef BASYX_AAS_METAMODEL_ELEMENT_LIST_H_ 12 | #define BASYX_AAS_METAMODEL_ELEMENT_LIST_H_ 13 | 14 | #include 15 | 16 | namespace basyx { 17 | namespace vab { 18 | 19 | class ElementList 20 | { 21 | protected: 22 | mutable basyx::object collection; 23 | public: 24 | ElementList(); 25 | 26 | ElementList(basyx::object object); 27 | 28 | ElementList(const ElementList & other); 29 | 30 | void insertElement(const ElementList& collection); 31 | 32 | basyx::object getList() const; 33 | }; 34 | 35 | } 36 | } 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /include/BaSyx/vab/backend/connector/native/frame/EntityWrapper.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #pragma once 12 | 13 | #include 14 | #include 15 | 16 | #include 17 | 18 | namespace basyx { 19 | namespace vab { 20 | 21 | class EntityWrapper 22 | { 23 | public: 24 | static json_t build_from_object(const basyx::object & obj); 25 | static json_t build_from_error(basyx::object::error error, const std::string & message = ""); 26 | //static json_t build_exception(const basyx::object::error & error, const std::string & message); 27 | //static json_t to_json(const EntityWrapper & result); 28 | static basyx::object from_json(const json_t & json); 29 | }; 30 | 31 | } 32 | } -------------------------------------------------------------------------------- /include/BaSyx/vab/core/VABConnectionManager.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef VAB_CORE_VABCONNECTIONMANAGER_H 12 | #define VAB_CORE_VABCONNECTIONMANAGER_H 13 | 14 | 15 | 16 | #endif /* VAB_CORE_VABCONNECTIONMANAGER_H */ 17 | -------------------------------------------------------------------------------- /lib/asio/asio/basic_streambuf_fwd.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // basic_streambuf_fwd.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_BASIC_STREAMBUF_FWD_HPP 12 | #define ASIO_BASIC_STREAMBUF_FWD_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if !defined(ASIO_NO_IOSTREAM) 21 | 22 | #include 23 | 24 | namespace asio { 25 | 26 | template > 27 | class basic_streambuf; 28 | 29 | template > 30 | class basic_streambuf_ref; 31 | 32 | } // namespace asio 33 | 34 | #endif // !defined(ASIO_NO_IOSTREAM) 35 | 36 | #endif // ASIO_BASIC_STREAMBUF_FWD_HPP 37 | -------------------------------------------------------------------------------- /lib/asio/asio/buffered_read_stream_fwd.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // buffered_read_stream_fwd.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_BUFFERED_READ_STREAM_FWD_HPP 12 | #define ASIO_BUFFERED_READ_STREAM_FWD_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | namespace asio { 19 | 20 | template 21 | class buffered_read_stream; 22 | 23 | } // namespace asio 24 | 25 | #endif // ASIO_BUFFERED_READ_STREAM_FWD_HPP 26 | -------------------------------------------------------------------------------- /lib/asio/asio/buffered_stream_fwd.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // buffered_stream_fwd.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_BUFFERED_STREAM_FWD_HPP 12 | #define ASIO_BUFFERED_STREAM_FWD_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | namespace asio { 19 | 20 | template 21 | class buffered_stream; 22 | 23 | } // namespace asio 24 | 25 | #endif // ASIO_BUFFERED_STREAM_FWD_HPP 26 | -------------------------------------------------------------------------------- /lib/asio/asio/buffered_write_stream_fwd.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // buffered_write_stream_fwd.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_BUFFERED_WRITE_STREAM_FWD_HPP 12 | #define ASIO_BUFFERED_WRITE_STREAM_FWD_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | namespace asio { 19 | 20 | template 21 | class buffered_write_stream; 22 | 23 | } // namespace asio 24 | 25 | #endif // ASIO_BUFFERED_WRITE_STREAM_FWD_HPP 26 | -------------------------------------------------------------------------------- /lib/asio/asio/deadline_timer.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // deadline_timer.hpp 3 | // ~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DEADLINE_TIMER_HPP 12 | #define ASIO_DEADLINE_TIMER_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if defined(ASIO_HAS_BOOST_DATE_TIME) \ 21 | || defined(GENERATING_DOCUMENTATION) 22 | 23 | #include "asio/detail/socket_types.hpp" // Must come before posix_time. 24 | #include "asio/basic_deadline_timer.hpp" 25 | 26 | #include 27 | 28 | namespace asio { 29 | 30 | /// Typedef for the typical usage of timer. Uses a UTC clock. 31 | typedef basic_deadline_timer deadline_timer; 32 | 33 | } // namespace asio 34 | 35 | #endif // defined(ASIO_HAS_BOOST_DATE_TIME) 36 | // || defined(GENERATING_DOCUMENTATION) 37 | 38 | #endif // ASIO_DEADLINE_TIMER_HPP 39 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/array.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/array.hpp 3 | // ~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_ARRAY_HPP 12 | #define ASIO_DETAIL_ARRAY_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if defined(ASIO_HAS_STD_ARRAY) 21 | # include 22 | #else // defined(ASIO_HAS_STD_ARRAY) 23 | # include 24 | #endif // defined(ASIO_HAS_STD_ARRAY) 25 | 26 | namespace asio { 27 | namespace detail { 28 | 29 | #if defined(ASIO_HAS_STD_ARRAY) 30 | using std::array; 31 | #else // defined(ASIO_HAS_STD_ARRAY) 32 | using boost::array; 33 | #endif // defined(ASIO_HAS_STD_ARRAY) 34 | 35 | } // namespace detail 36 | } // namespace asio 37 | 38 | #endif // ASIO_DETAIL_ARRAY_HPP 39 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/array_fwd.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/array_fwd.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_ARRAY_FWD_HPP 12 | #define ASIO_DETAIL_ARRAY_FWD_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | namespace boost { 21 | 22 | template 23 | class array; 24 | 25 | } // namespace boost 26 | 27 | // Standard library components can't be forward declared, so we'll have to 28 | // include the array header. Fortunately, it's fairly lightweight and doesn't 29 | // add significantly to the compile time. 30 | #if defined(ASIO_HAS_STD_ARRAY) 31 | # include 32 | #endif // defined(ASIO_HAS_STD_ARRAY) 33 | 34 | #endif // ASIO_DETAIL_ARRAY_FWD_HPP 35 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/assert.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/assert.hpp 3 | // ~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_ASSERT_HPP 12 | #define ASIO_DETAIL_ASSERT_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if defined(ASIO_HAS_BOOST_ASSERT) 21 | # include 22 | #else // defined(ASIO_HAS_BOOST_ASSERT) 23 | # include 24 | #endif // defined(ASIO_HAS_BOOST_ASSERT) 25 | 26 | #if defined(ASIO_HAS_BOOST_ASSERT) 27 | # define ASIO_ASSERT(expr) BOOST_ASSERT(expr) 28 | #else // defined(ASIO_HAS_BOOST_ASSERT) 29 | # define ASIO_ASSERT(expr) assert(expr) 30 | #endif // defined(ASIO_HAS_BOOST_ASSERT) 31 | 32 | #endif // ASIO_DETAIL_ASSERT_HPP 33 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/cstddef.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/cstddef.hpp 3 | // ~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_CSTDDEF_HPP 12 | #define ASIO_DETAIL_CSTDDEF_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | #include 20 | 21 | namespace asio { 22 | 23 | #if defined(ASIO_HAS_NULLPTR) 24 | using std::nullptr_t; 25 | #else // defined(ASIO_HAS_NULLPTR) 26 | struct nullptr_t {}; 27 | #endif // defined(ASIO_HAS_NULLPTR) 28 | 29 | } // namespace asio 30 | 31 | #endif // ASIO_DETAIL_CSTDDEF_HPP 32 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/date_time_fwd.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/date_time_fwd.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_DATE_TIME_FWD_HPP 12 | #define ASIO_DETAIL_DATE_TIME_FWD_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | namespace boost { 21 | namespace date_time { 22 | 23 | template 24 | class base_time; 25 | 26 | } // namespace date_time 27 | namespace posix_time { 28 | 29 | class ptime; 30 | 31 | } // namespace posix_time 32 | } // namespace boost 33 | 34 | #endif // ASIO_DETAIL_DATE_TIME_FWD_HPP 35 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/dependent_type.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/dependent_type.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_DEPENDENT_TYPE_HPP 12 | #define ASIO_DETAIL_DEPENDENT_TYPE_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #include "asio/detail/push_options.hpp" 21 | 22 | namespace asio { 23 | namespace detail { 24 | 25 | template 26 | struct dependent_type 27 | { 28 | typedef T type; 29 | }; 30 | 31 | } // namespace detail 32 | } // namespace asio 33 | 34 | #include "asio/detail/pop_options.hpp" 35 | 36 | #endif // ASIO_DETAIL_DEPENDENT_TYPE_HPP 37 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/fd_set_adapter.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/fd_set_adapter.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_FD_SET_ADAPTER_HPP 12 | #define ASIO_DETAIL_FD_SET_ADAPTER_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if !defined(ASIO_WINDOWS_RUNTIME) 21 | 22 | #include "asio/detail/posix_fd_set_adapter.hpp" 23 | #include "asio/detail/win_fd_set_adapter.hpp" 24 | 25 | namespace asio { 26 | namespace detail { 27 | 28 | #if defined(ASIO_WINDOWS) || defined(__CYGWIN__) 29 | typedef win_fd_set_adapter fd_set_adapter; 30 | #else 31 | typedef posix_fd_set_adapter fd_set_adapter; 32 | #endif 33 | 34 | } // namespace detail 35 | } // namespace asio 36 | 37 | #endif // !defined(ASIO_WINDOWS_RUNTIME) 38 | 39 | #endif // ASIO_DETAIL_FD_SET_ADAPTER_HPP 40 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/functional.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/functional.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_FUNCTIONAL_HPP 12 | #define ASIO_DETAIL_FUNCTIONAL_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #include 21 | 22 | #if !defined(ASIO_HAS_STD_FUNCTION) 23 | # include 24 | #endif // !defined(ASIO_HAS_STD_FUNCTION) 25 | 26 | namespace asio { 27 | namespace detail { 28 | 29 | #if defined(ASIO_HAS_STD_FUNCTION) 30 | using std::function; 31 | #else // defined(ASIO_HAS_STD_FUNCTION) 32 | using boost::function; 33 | #endif // defined(ASIO_HAS_STD_FUNCTION) 34 | 35 | } // namespace detail 36 | } // namespace asio 37 | 38 | #endif // ASIO_DETAIL_FUNCTIONAL_HPP 39 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/limits.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/limits.hpp 3 | // ~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_LIMITS_HPP 12 | #define ASIO_DETAIL_LIMITS_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if defined(ASIO_HAS_BOOST_LIMITS) 21 | # include 22 | #else // defined(ASIO_HAS_BOOST_LIMITS) 23 | # include 24 | #endif // defined(ASIO_HAS_BOOST_LIMITS) 25 | 26 | #endif // ASIO_DETAIL_LIMITS_HPP 27 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/noncopyable.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/noncopyable.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_NONCOPYABLE_HPP 12 | #define ASIO_DETAIL_NONCOPYABLE_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #include "asio/detail/push_options.hpp" 21 | 22 | namespace asio { 23 | namespace detail { 24 | 25 | class noncopyable 26 | { 27 | protected: 28 | noncopyable() {} 29 | ~noncopyable() {} 30 | private: 31 | noncopyable(const noncopyable&); 32 | const noncopyable& operator=(const noncopyable&); 33 | }; 34 | 35 | } // namespace detail 36 | 37 | using asio::detail::noncopyable; 38 | 39 | } // namespace asio 40 | 41 | #include "asio/detail/pop_options.hpp" 42 | 43 | #endif // ASIO_DETAIL_NONCOPYABLE_HPP 44 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/null_fenced_block.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/null_fenced_block.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_NULL_FENCED_BLOCK_HPP 12 | #define ASIO_DETAIL_NULL_FENCED_BLOCK_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/noncopyable.hpp" 19 | 20 | #include "asio/detail/push_options.hpp" 21 | 22 | namespace asio { 23 | namespace detail { 24 | 25 | class null_fenced_block 26 | : private noncopyable 27 | { 28 | public: 29 | enum half_or_full_t { half, full }; 30 | 31 | // Constructor. 32 | explicit null_fenced_block(half_or_full_t) 33 | { 34 | } 35 | 36 | // Destructor. 37 | ~null_fenced_block() 38 | { 39 | } 40 | }; 41 | 42 | } // namespace detail 43 | } // namespace asio 44 | 45 | #include "asio/detail/pop_options.hpp" 46 | 47 | #endif // ASIO_DETAIL_NULL_FENCED_BLOCK_HPP 48 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/operation.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/operation.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_OPERATION_HPP 12 | #define ASIO_DETAIL_OPERATION_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if defined(ASIO_HAS_IOCP) 21 | # include "asio/detail/win_iocp_operation.hpp" 22 | #else 23 | # include "asio/detail/scheduler_operation.hpp" 24 | #endif 25 | 26 | namespace asio { 27 | namespace detail { 28 | 29 | #if defined(ASIO_HAS_IOCP) 30 | typedef win_iocp_operation operation; 31 | #else 32 | typedef scheduler_operation operation; 33 | #endif 34 | 35 | } // namespace detail 36 | } // namespace asio 37 | 38 | #endif // ASIO_DETAIL_OPERATION_HPP 39 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/reactor.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/reactor.hpp 3 | // ~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_REACTOR_HPP 12 | #define ASIO_DETAIL_REACTOR_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/reactor_fwd.hpp" 19 | 20 | #if defined(ASIO_HAS_EPOLL) 21 | # include "asio/detail/epoll_reactor.hpp" 22 | #elif defined(ASIO_HAS_KQUEUE) 23 | # include "asio/detail/kqueue_reactor.hpp" 24 | #elif defined(ASIO_HAS_DEV_POLL) 25 | # include "asio/detail/dev_poll_reactor.hpp" 26 | #elif defined(ASIO_HAS_IOCP) || defined(ASIO_WINDOWS_RUNTIME) 27 | # include "asio/detail/null_reactor.hpp" 28 | #else 29 | # include "asio/detail/select_reactor.hpp" 30 | #endif 31 | 32 | #endif // ASIO_DETAIL_REACTOR_HPP 33 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/reactor_fwd.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/reactor_fwd.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_REACTOR_FWD_HPP 12 | #define ASIO_DETAIL_REACTOR_FWD_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | namespace asio { 21 | namespace detail { 22 | 23 | #if defined(ASIO_HAS_IOCP) || defined(ASIO_WINDOWS_RUNTIME) 24 | typedef class null_reactor reactor; 25 | #elif defined(ASIO_HAS_IOCP) 26 | typedef class select_reactor reactor; 27 | #elif defined(ASIO_HAS_EPOLL) 28 | typedef class epoll_reactor reactor; 29 | #elif defined(ASIO_HAS_KQUEUE) 30 | typedef class kqueue_reactor reactor; 31 | #elif defined(ASIO_HAS_DEV_POLL) 32 | typedef class dev_poll_reactor reactor; 33 | #else 34 | typedef class select_reactor reactor; 35 | #endif 36 | 37 | } // namespace detail 38 | } // namespace asio 39 | 40 | #endif // ASIO_DETAIL_REACTOR_FWD_HPP 41 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/regex_fwd.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/regex_fwd.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_REGEX_FWD_HPP 12 | #define ASIO_DETAIL_REGEX_FWD_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #if defined(ASIO_HAS_BOOST_REGEX) 19 | 20 | #include 21 | #include 22 | 23 | namespace boost { 24 | 25 | template 26 | struct sub_match; 27 | 28 | template 29 | class match_results; 30 | 31 | } // namespace boost 32 | 33 | #endif // defined(ASIO_HAS_BOOST_REGEX) 34 | 35 | #endif // ASIO_DETAIL_REGEX_FWD_HPP 36 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/resolve_op.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/resolve_op.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_RESOLVE_OP_HPP 12 | #define ASIO_DETAIL_RESOLVE_OP_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | #include "asio/error.hpp" 20 | #include "asio/detail/operation.hpp" 21 | 22 | #include "asio/detail/push_options.hpp" 23 | 24 | namespace asio { 25 | namespace detail { 26 | 27 | class resolve_op : public operation 28 | { 29 | public: 30 | // The error code to be passed to the completion handler. 31 | asio::error_code ec_; 32 | 33 | protected: 34 | resolve_op(func_type complete_func) 35 | : operation(complete_func) 36 | { 37 | } 38 | }; 39 | 40 | } // namespace detail 41 | } // namespace asio 42 | 43 | #include "asio/detail/pop_options.hpp" 44 | 45 | #endif // ASIO_DETAIL_RESOLVE_OP_HPP 46 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/scheduler_thread_info.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/scheduler_thread_info.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_SCHEDULER_THREAD_INFO_HPP 12 | #define ASIO_DETAIL_SCHEDULER_THREAD_INFO_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/op_queue.hpp" 19 | #include "asio/detail/thread_info_base.hpp" 20 | 21 | #include "asio/detail/push_options.hpp" 22 | 23 | namespace asio { 24 | namespace detail { 25 | 26 | class scheduler; 27 | class scheduler_operation; 28 | 29 | struct scheduler_thread_info : public thread_info_base 30 | { 31 | op_queue private_op_queue; 32 | long private_outstanding_work; 33 | }; 34 | 35 | } // namespace detail 36 | } // namespace asio 37 | 38 | #include "asio/detail/pop_options.hpp" 39 | 40 | #endif // ASIO_DETAIL_SCHEDULER_THREAD_INFO_HPP 41 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/signal_init.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/signal_init.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_SIGNAL_INIT_HPP 12 | #define ASIO_DETAIL_SIGNAL_INIT_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if !defined(ASIO_WINDOWS) && !defined(__CYGWIN__) 21 | 22 | #include 23 | 24 | #include "asio/detail/push_options.hpp" 25 | 26 | namespace asio { 27 | namespace detail { 28 | 29 | template 30 | class signal_init 31 | { 32 | public: 33 | // Constructor. 34 | signal_init() 35 | { 36 | std::signal(Signal, SIG_IGN); 37 | } 38 | }; 39 | 40 | } // namespace detail 41 | } // namespace asio 42 | 43 | #include "asio/detail/pop_options.hpp" 44 | 45 | #endif // !defined(ASIO_WINDOWS) && !defined(__CYGWIN__) 46 | 47 | #endif // ASIO_DETAIL_SIGNAL_INIT_HPP 48 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/timer_scheduler.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/timer_scheduler.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_TIMER_SCHEDULER_HPP 12 | #define ASIO_DETAIL_TIMER_SCHEDULER_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | #include "asio/detail/timer_scheduler_fwd.hpp" 20 | 21 | #if defined(ASIO_WINDOWS_RUNTIME) 22 | # include "asio/detail/winrt_timer_scheduler.hpp" 23 | #elif defined(ASIO_HAS_IOCP) 24 | # include "asio/detail/win_iocp_io_context.hpp" 25 | #elif defined(ASIO_HAS_EPOLL) 26 | # include "asio/detail/epoll_reactor.hpp" 27 | #elif defined(ASIO_HAS_KQUEUE) 28 | # include "asio/detail/kqueue_reactor.hpp" 29 | #elif defined(ASIO_HAS_DEV_POLL) 30 | # include "asio/detail/dev_poll_reactor.hpp" 31 | #else 32 | # include "asio/detail/select_reactor.hpp" 33 | #endif 34 | 35 | #endif // ASIO_DETAIL_TIMER_SCHEDULER_HPP 36 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/wait_op.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/wait_op.hpp 3 | // ~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_WAIT_OP_HPP 12 | #define ASIO_DETAIL_WAIT_OP_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | #include "asio/detail/operation.hpp" 20 | 21 | #include "asio/detail/push_options.hpp" 22 | 23 | namespace asio { 24 | namespace detail { 25 | 26 | class wait_op 27 | : public operation 28 | { 29 | public: 30 | // The error code to be passed to the completion handler. 31 | asio::error_code ec_; 32 | 33 | protected: 34 | wait_op(func_type func) 35 | : operation(func) 36 | { 37 | } 38 | }; 39 | 40 | } // namespace detail 41 | } // namespace asio 42 | 43 | #include "asio/detail/pop_options.hpp" 44 | 45 | #endif // ASIO_DETAIL_WAIT_OP_HPP 46 | -------------------------------------------------------------------------------- /lib/asio/asio/detail/win_iocp_thread_info.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // detail/win_iocp_thread_info.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP 12 | #define ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/thread_info_base.hpp" 19 | 20 | #include "asio/detail/push_options.hpp" 21 | 22 | namespace asio { 23 | namespace detail { 24 | 25 | struct win_iocp_thread_info : public thread_info_base 26 | { 27 | }; 28 | 29 | } // namespace detail 30 | } // namespace asio 31 | 32 | #include "asio/detail/pop_options.hpp" 33 | 34 | #endif // ASIO_DETAIL_WIN_IOCP_THREAD_INFO_HPP 35 | -------------------------------------------------------------------------------- /lib/asio/asio/experimental.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // experimental.hpp 3 | // ~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2017 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_EXPERIMENTAL_HPP 12 | #define ASIO_EXPERIMENTAL_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/experimental/co_spawn.hpp" 19 | #include "asio/experimental/detached.hpp" 20 | #include "asio/experimental/redirect_error.hpp" 21 | 22 | #endif // ASIO_EXPERIMENTAL_HPP 23 | -------------------------------------------------------------------------------- /lib/asio/asio/impl/executor.ipp: -------------------------------------------------------------------------------- 1 | // 2 | // impl/executor.ipp 3 | // ~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_IMPL_EXECUTOR_IPP 12 | #define ASIO_IMPL_EXECUTOR_IPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | #include "asio/executor.hpp" 20 | 21 | #include "asio/detail/push_options.hpp" 22 | 23 | namespace asio { 24 | 25 | bad_executor::bad_executor() ASIO_NOEXCEPT 26 | { 27 | } 28 | 29 | const char* bad_executor::what() const ASIO_NOEXCEPT_OR_NOTHROW 30 | { 31 | return "bad executor"; 32 | } 33 | 34 | } // namespace asio 35 | 36 | #include "asio/detail/pop_options.hpp" 37 | 38 | #endif // ASIO_IMPL_EXECUTOR_IPP 39 | -------------------------------------------------------------------------------- /lib/asio/asio/impl/src.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // impl/src.cpp 3 | // ~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #if defined(_MSC_VER) \ 12 | || defined(__BORLANDC__) \ 13 | || defined(__DMC__) 14 | # pragma message ( \ 15 | "This file is deprecated. " \ 16 | "Please #include instead.") 17 | #elif defined(__GNUC__) \ 18 | || defined(__HP_aCC) \ 19 | || defined(__SUNPRO_CC) \ 20 | || defined(__IBMCPP__) 21 | # warning "This file is deprecated." 22 | # warning "Please #include instead." 23 | #endif 24 | 25 | #include "asio/impl/src.hpp" 26 | -------------------------------------------------------------------------------- /lib/asio/asio/impl/system_context.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // impl/system_context.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_IMPL_SYSTEM_CONTEXT_HPP 12 | #define ASIO_IMPL_SYSTEM_CONTEXT_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/system_executor.hpp" 19 | 20 | #include "asio/detail/push_options.hpp" 21 | 22 | namespace asio { 23 | 24 | inline system_context::executor_type 25 | system_context::get_executor() ASIO_NOEXCEPT 26 | { 27 | return system_executor(); 28 | } 29 | 30 | } // namespace asio 31 | 32 | #include "asio/detail/pop_options.hpp" 33 | 34 | #endif // ASIO_IMPL_SYSTEM_CONTEXT_HPP 35 | -------------------------------------------------------------------------------- /lib/asio/asio/io_service.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // io_service.hpp 3 | // ~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_IO_SERVICE_HPP 12 | #define ASIO_IO_SERVICE_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/io_context.hpp" 19 | 20 | #include "asio/detail/push_options.hpp" 21 | 22 | namespace asio { 23 | 24 | #if !defined(ASIO_NO_DEPRECATED) 25 | /// Typedef for backwards compatibility. 26 | typedef io_context io_service; 27 | #endif // !defined(ASIO_NO_DEPRECATED) 28 | 29 | } // namespace asio 30 | 31 | #include "asio/detail/pop_options.hpp" 32 | 33 | #endif // ASIO_IO_SERVICE_HPP 34 | -------------------------------------------------------------------------------- /lib/asio/asio/io_service_strand.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // io_service_strand.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_IO_SERVICE_STRAND_HPP 12 | #define ASIO_IO_SERVICE_STRAND_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/io_context_strand.hpp" 19 | 20 | #endif // ASIO_IO_SERVICE_STRAND_HPP 21 | -------------------------------------------------------------------------------- /lib/asio/asio/ip/host_name.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ip/host_name.hpp 3 | // ~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_IP_HOST_NAME_HPP 12 | #define ASIO_IP_HOST_NAME_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | #include 20 | #include "asio/error_code.hpp" 21 | 22 | #include "asio/detail/push_options.hpp" 23 | 24 | namespace asio { 25 | namespace ip { 26 | 27 | /// Get the current host name. 28 | ASIO_DECL std::string host_name(); 29 | 30 | /// Get the current host name. 31 | ASIO_DECL std::string host_name(asio::error_code& ec); 32 | 33 | } // namespace ip 34 | } // namespace asio 35 | 36 | #include "asio/detail/pop_options.hpp" 37 | 38 | #if defined(ASIO_HEADER_ONLY) 39 | # include "asio/ip/impl/host_name.ipp" 40 | #endif // defined(ASIO_HEADER_ONLY) 41 | 42 | #endif // ASIO_IP_HOST_NAME_HPP 43 | -------------------------------------------------------------------------------- /lib/asio/asio/ssl.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ssl.hpp 3 | // ~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_SSL_HPP 12 | #define ASIO_SSL_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/ssl/context.hpp" 19 | #include "asio/ssl/context_base.hpp" 20 | #include "asio/ssl/error.hpp" 21 | #include "asio/ssl/rfc2818_verification.hpp" 22 | #include "asio/ssl/stream.hpp" 23 | #include "asio/ssl/stream_base.hpp" 24 | #include "asio/ssl/verify_context.hpp" 25 | #include "asio/ssl/verify_mode.hpp" 26 | 27 | #endif // ASIO_SSL_HPP 28 | -------------------------------------------------------------------------------- /lib/asio/asio/ssl/detail/openssl_types.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ssl/detail/openssl_types.hpp 3 | // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_SSL_DETAIL_OPENSSL_TYPES_HPP 12 | #define ASIO_SSL_DETAIL_OPENSSL_TYPES_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | #include "asio/detail/socket_types.hpp" 20 | #include 21 | #include 22 | #if !defined(OPENSSL_NO_ENGINE) 23 | # include 24 | #endif // !defined(OPENSSL_NO_ENGINE) 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | #endif // ASIO_SSL_DETAIL_OPENSSL_TYPES_HPP 31 | -------------------------------------------------------------------------------- /lib/asio/asio/ssl/impl/src.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // impl/ssl/src.hpp 3 | // ~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_SSL_IMPL_SRC_HPP 12 | #define ASIO_SSL_IMPL_SRC_HPP 13 | 14 | #define ASIO_SOURCE 15 | 16 | #include "asio/detail/config.hpp" 17 | 18 | #if defined(ASIO_HEADER_ONLY) 19 | # error Do not compile Asio library source with ASIO_HEADER_ONLY defined 20 | #endif 21 | 22 | #include "asio/ssl/impl/context.ipp" 23 | #include "asio/ssl/impl/error.ipp" 24 | #include "asio/ssl/detail/impl/engine.ipp" 25 | #include "asio/ssl/detail/impl/openssl_init.ipp" 26 | #include "asio/ssl/impl/rfc2818_verification.ipp" 27 | 28 | #endif // ASIO_SSL_IMPL_SRC_HPP 29 | -------------------------------------------------------------------------------- /lib/asio/asio/streambuf.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // streambuf.hpp 3 | // ~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_STREAMBUF_HPP 12 | #define ASIO_STREAMBUF_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/config.hpp" 19 | 20 | #if !defined(ASIO_NO_IOSTREAM) 21 | 22 | #include "asio/basic_streambuf.hpp" 23 | 24 | namespace asio { 25 | 26 | /// Typedef for the typical usage of basic_streambuf. 27 | typedef basic_streambuf<> streambuf; 28 | 29 | } // namespace asio 30 | 31 | #endif // !defined(ASIO_NO_IOSTREAM) 32 | 33 | #endif // ASIO_STREAMBUF_HPP 34 | -------------------------------------------------------------------------------- /lib/asio/asio/ts/buffer.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ts/buffer.hpp 3 | // ~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_TS_BUFFER_HPP 12 | #define ASIO_TS_BUFFER_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/buffer.hpp" 19 | #include "asio/completion_condition.hpp" 20 | #include "asio/read.hpp" 21 | #include "asio/write.hpp" 22 | #include "asio/read_until.hpp" 23 | 24 | #endif // ASIO_TS_BUFFER_HPP 25 | -------------------------------------------------------------------------------- /lib/asio/asio/ts/executor.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ts/executor.hpp 3 | // ~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_TS_EXECUTOR_HPP 12 | #define ASIO_TS_EXECUTOR_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/handler_type.hpp" 19 | #include "asio/async_result.hpp" 20 | #include "asio/associated_allocator.hpp" 21 | #include "asio/execution_context.hpp" 22 | #include "asio/is_executor.hpp" 23 | #include "asio/associated_executor.hpp" 24 | #include "asio/bind_executor.hpp" 25 | #include "asio/executor_work_guard.hpp" 26 | #include "asio/system_executor.hpp" 27 | #include "asio/executor.hpp" 28 | #include "asio/dispatch.hpp" 29 | #include "asio/post.hpp" 30 | #include "asio/defer.hpp" 31 | #include "asio/strand.hpp" 32 | #include "asio/packaged_task.hpp" 33 | #include "asio/use_future.hpp" 34 | 35 | #endif // ASIO_TS_EXECUTOR_HPP 36 | -------------------------------------------------------------------------------- /lib/asio/asio/ts/io_context.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ts/io_context.hpp 3 | // ~~~~~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_TS_IO_CONTEXT_HPP 12 | #define ASIO_TS_IO_CONTEXT_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/io_context.hpp" 19 | 20 | #endif // ASIO_TS_IO_CONTEXT_HPP 21 | -------------------------------------------------------------------------------- /lib/asio/asio/ts/net.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ts/net.hpp 3 | // ~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_TS_NET_HPP 12 | #define ASIO_TS_NET_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/ts/netfwd.hpp" 19 | #include "asio/ts/executor.hpp" 20 | #include "asio/ts/io_context.hpp" 21 | #include "asio/ts/timer.hpp" 22 | #include "asio/ts/buffer.hpp" 23 | #include "asio/ts/socket.hpp" 24 | #include "asio/ts/internet.hpp" 25 | 26 | #endif // ASIO_TS_NET_HPP 27 | -------------------------------------------------------------------------------- /lib/asio/asio/ts/socket.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ts/socket.hpp 3 | // ~~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_TS_SOCKET_HPP 12 | #define ASIO_TS_SOCKET_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/socket_base.hpp" 19 | #include "asio/basic_socket.hpp" 20 | #include "asio/basic_datagram_socket.hpp" 21 | #include "asio/basic_stream_socket.hpp" 22 | #include "asio/basic_socket_acceptor.hpp" 23 | #include "asio/basic_socket_streambuf.hpp" 24 | #include "asio/basic_socket_iostream.hpp" 25 | #include "asio/connect.hpp" 26 | 27 | #endif // ASIO_TS_SOCKET_HPP 28 | -------------------------------------------------------------------------------- /lib/asio/asio/ts/timer.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // ts/timer.hpp 3 | // ~~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_TS_TIMER_HPP 12 | #define ASIO_TS_TIMER_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | #include "asio/detail/chrono.hpp" 19 | 20 | #include "asio/wait_traits.hpp" 21 | #include "asio/basic_waitable_timer.hpp" 22 | #include "asio/system_timer.hpp" 23 | #include "asio/steady_timer.hpp" 24 | #include "asio/high_resolution_timer.hpp" 25 | 26 | #endif // ASIO_TS_TIMER_HPP 27 | -------------------------------------------------------------------------------- /lib/asio/asio/unyield.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // unyield.hpp 3 | // ~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifdef reenter 12 | # undef reenter 13 | #endif 14 | 15 | #ifdef yield 16 | # undef yield 17 | #endif 18 | 19 | #ifdef fork 20 | # undef fork 21 | #endif 22 | -------------------------------------------------------------------------------- /lib/asio/asio/version.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // version.hpp 3 | // ~~~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #ifndef ASIO_VERSION_HPP 12 | #define ASIO_VERSION_HPP 13 | 14 | #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 | # pragma once 16 | #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 | 18 | // ASIO_VERSION % 100 is the sub-minor version 19 | // ASIO_VERSION / 100 % 1000 is the minor version 20 | // ASIO_VERSION / 100000 is the major version 21 | #define ASIO_VERSION 101202 // 1.12.2 22 | 23 | #endif // ASIO_VERSION_HPP 24 | -------------------------------------------------------------------------------- /lib/asio/asio/yield.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // yield.hpp 3 | // ~~~~~~~~~ 4 | // 5 | // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 | // 7 | // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 | // 10 | 11 | #include "coroutine.hpp" 12 | 13 | #ifndef reenter 14 | # define reenter(c) ASIO_CORO_REENTER(c) 15 | #endif 16 | 17 | #ifndef yield 18 | # define yield ASIO_CORO_YIELD 19 | #endif 20 | 21 | #ifndef fork 22 | # define fork ASIO_CORO_FORK 23 | #endif 24 | -------------------------------------------------------------------------------- /lib/cppbase64/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.13.0) 2 | 3 | set(CPPBASE64_VERSION_MAJOR 2) 4 | set(CPPBASE64_VERSION_MINOR 8) 5 | 6 | project(cppbase64 VERSION ${CPPBASE64_VERSION_MAJOR}.${CPPBASE64_VERSION_MAJOR}) 7 | 8 | file(GLOB_RECURSE SOURCE_FILES *.cpp) 9 | file(GLOB_RECURSE HEADER_FILES *.h) 10 | 11 | add_library(cppbase64 ${SOURCE_FILES}) 12 | 13 | target_include_directories(cppbase64 14 | PUBLIC 15 | "$" 16 | "$" 17 | ) 18 | 19 | install(TARGETS cppbase64 20 | EXPORT cppbase64-targets 21 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} 22 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} 23 | ) 24 | 25 | install(FILES ${HEADER_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) 26 | 27 | install(EXPORT cppbase64-targets 28 | FILE cppbase64-targets.cmake 29 | NAMESPACE cppbase64:: 30 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cppbase64 31 | ) 32 | 33 | add_library(cppbase64::cppbase64 ALIAS cppbase64) 34 | build_source_group(cppbase64) 35 | diagnostics_print(cppbase64) 36 | -------------------------------------------------------------------------------- /lib/fmt/CONTRIBUTING.rst: -------------------------------------------------------------------------------- 1 | Contributing to fmt 2 | =================== 3 | 4 | All C++ code must adhere to `Google C++ Style Guide 5 | `_ with the following 6 | exceptions: 7 | 8 | * Exceptions are permitted 9 | * snake_case should be used instead of UpperCamelCase for function and type 10 | names 11 | 12 | Thanks for contributing! 13 | -------------------------------------------------------------------------------- /lib/fmt/doc/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | find_program(DOXYGEN doxygen) 2 | if (NOT DOXYGEN) 3 | message(STATUS "Target 'doc' disabled (requires doxygen)") 4 | return () 5 | endif () 6 | 7 | add_custom_target(doc 8 | COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build.py ${FMT_VERSION} 9 | SOURCES api.rst syntax.rst build.py conf.py _templates/layout.html) 10 | 11 | install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ 12 | DESTINATION share/doc/fmt OPTIONAL) 13 | -------------------------------------------------------------------------------- /lib/fmt/doc/_static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/_static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /lib/fmt/doc/_static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/_static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /lib/fmt/doc/_static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/_static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /lib/fmt/doc/basic-bootstrap/README: -------------------------------------------------------------------------------- 1 | Sphinx basic theme with Bootstrap support. Modifications are kept to 2 | a minimum to simplify integration in case of changes to Sphinx theming. 3 | -------------------------------------------------------------------------------- /lib/fmt/doc/basic-bootstrap/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; 8 | margin-bottom: @line-height-computed; 9 | list-style: none; 10 | background-color: @breadcrumb-bg; 11 | border-radius: @border-radius-base; 12 | 13 | > li { 14 | display: inline-block; 15 | 16 | + li:before { 17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space 18 | padding: 0 5px; 19 | color: @breadcrumb-color; 20 | } 21 | } 22 | 23 | > .active { 24 | color: @breadcrumb-active-color; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: (@font-size-base * 1.5); 9 | font-weight: @close-font-weight; 10 | line-height: 1; 11 | color: @close-color; 12 | text-shadow: @close-text-shadow; 13 | .opacity(.2); 14 | 15 | &:hover, 16 | &:focus { 17 | color: @close-color; 18 | text-decoration: none; 19 | cursor: pointer; 20 | .opacity(.5); 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | button& { 28 | padding: 0; 29 | cursor: pointer; 30 | background: transparent; 31 | border: 0; 32 | -webkit-appearance: none; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | // Heads up! 6 | // 7 | // We don't use the `.opacity()` mixin here since it causes a bug with text 8 | // fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. 9 | 10 | .fade { 11 | opacity: 0; 12 | .transition(opacity .15s linear); 13 | &.in { 14 | opacity: 1; 15 | } 16 | } 17 | 18 | .collapse { 19 | display: none; 20 | 21 | &.in { display: block; } 22 | tr&.in { display: table-row; } 23 | tbody&.in { display: table-row-group; } 24 | } 25 | 26 | .collapsing { 27 | position: relative; 28 | height: 0; 29 | overflow: hidden; 30 | .transition-property(~"height, visibility"); 31 | .transition-duration(.35s); 32 | .transition-timing-function(ease); 33 | } 34 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/jumbotron.less: -------------------------------------------------------------------------------- 1 | // 2 | // Jumbotron 3 | // -------------------------------------------------- 4 | 5 | 6 | .jumbotron { 7 | padding: @jumbotron-padding (@jumbotron-padding / 2); 8 | margin-bottom: @jumbotron-padding; 9 | color: @jumbotron-color; 10 | background-color: @jumbotron-bg; 11 | 12 | h1, 13 | .h1 { 14 | color: @jumbotron-heading-color; 15 | } 16 | 17 | p { 18 | margin-bottom: (@jumbotron-padding / 2); 19 | font-size: @jumbotron-font-size; 20 | font-weight: 200; 21 | } 22 | 23 | > hr { 24 | border-top-color: darken(@jumbotron-bg, 10%); 25 | } 26 | 27 | .tb-container &, 28 | .container-fluid & { 29 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container 30 | } 31 | 32 | .tb-container { 33 | max-width: 100%; 34 | } 35 | 36 | @media screen and (min-width: @screen-sm-min) { 37 | padding: (@jumbotron-padding * 1.6) 0; 38 | 39 | .tb-container &, 40 | .container-fluid & { 41 | padding-left: (@jumbotron-padding * 2); 42 | padding-right: (@jumbotron-padding * 2); 43 | } 44 | 45 | h1, 46 | .h1 { 47 | font-size: (@font-size-base * 4.5); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/media.less: -------------------------------------------------------------------------------- 1 | .media { 2 | // Proper spacing between instances of .media 3 | margin-top: 15px; 4 | 5 | &:first-child { 6 | margin-top: 0; 7 | } 8 | } 9 | 10 | .media, 11 | .media-body { 12 | zoom: 1; 13 | overflow: hidden; 14 | } 15 | 16 | .media-body { 17 | width: 10000px; 18 | } 19 | 20 | .media-object { 21 | display: block; 22 | } 23 | 24 | .media-right, 25 | .media > .pull-right { 26 | padding-left: 10px; 27 | } 28 | 29 | .media-left, 30 | .media > .pull-left { 31 | padding-right: 10px; 32 | } 33 | 34 | .media-left, 35 | .media-right, 36 | .media-body { 37 | display: table-cell; 38 | vertical-align: top; 39 | } 40 | 41 | .media-middle { 42 | vertical-align: middle; 43 | } 44 | 45 | .media-bottom { 46 | vertical-align: bottom; 47 | } 48 | 49 | // Reset margins on headings for tighter default spacing 50 | .media-heading { 51 | margin-top: 0; 52 | margin-bottom: 5px; 53 | } 54 | 55 | // Media list variation 56 | // 57 | // Undo default ul/ol styles 58 | .media-list { 59 | padding-left: 0; 60 | list-style: none; 61 | } 62 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/alerts.less: -------------------------------------------------------------------------------- 1 | // Alerts 2 | 3 | .alert-variant(@background; @border; @text-color) { 4 | background-color: @background; 5 | border-color: @border; 6 | color: @text-color; 7 | 8 | hr { 9 | border-top-color: darken(@border, 5%); 10 | } 11 | .alert-link { 12 | color: darken(@text-color, 10%); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/background-variant.less: -------------------------------------------------------------------------------- 1 | // Contextual backgrounds 2 | 3 | .bg-variant(@color) { 4 | background-color: @color; 5 | a&:hover { 6 | background-color: darken(@color, 10%); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/border-radius.less: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | .border-top-radius(@radius) { 4 | border-top-right-radius: @radius; 5 | border-top-left-radius: @radius; 6 | } 7 | .border-right-radius(@radius) { 8 | border-bottom-right-radius: @radius; 9 | border-top-right-radius: @radius; 10 | } 11 | .border-bottom-radius(@radius) { 12 | border-bottom-right-radius: @radius; 13 | border-bottom-left-radius: @radius; 14 | } 15 | .border-left-radius(@radius) { 16 | border-bottom-left-radius: @radius; 17 | border-top-left-radius: @radius; 18 | } 19 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/center-block.less: -------------------------------------------------------------------------------- 1 | // Center-align a block level element 2 | 3 | .center-block() { 4 | display: block; 5 | margin-left: auto; 6 | margin-right: auto; 7 | } 8 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/clearfix.less: -------------------------------------------------------------------------------- 1 | // Clearfix 2 | // 3 | // For modern browsers 4 | // 1. The space content is one way to avoid an Opera bug when the 5 | // contenteditable attribute is included anywhere else in the document. 6 | // Otherwise it causes space to appear at the top and bottom of elements 7 | // that are clearfixed. 8 | // 2. The use of `table` rather than `block` is only necessary if using 9 | // `:before` to contain the top-margins of child elements. 10 | // 11 | // Source: http://nicolasgallagher.com/micro-clearfix-hack/ 12 | 13 | .clearfix() { 14 | &:before, 15 | &:after { 16 | content: " "; // 1 17 | display: table; // 2 18 | } 19 | &:after { 20 | clear: both; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/hide-text.less: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | // 3 | // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for 4 | // mixins being reused as classes with the same name, this doesn't hold up. As 5 | // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. 6 | // 7 | // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 8 | 9 | // Deprecated as of v3.0.1 (will be removed in v4) 10 | .hide-text() { 11 | font: ~"0/0" a; 12 | color: transparent; 13 | text-shadow: none; 14 | background-color: transparent; 15 | border: 0; 16 | } 17 | 18 | // New mixin to use as of v3.0.1 19 | .text-hide() { 20 | .hide-text(); 21 | } 22 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/image.less: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | .img-responsive(@display: block) { 10 | display: @display; 11 | max-width: 100%; // Part 1: Set a maximum relative to the parent 12 | height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching 13 | } 14 | 15 | 16 | // Retina image 17 | // 18 | // Short retina mixin for setting background-image and -size. Note that the 19 | // spelling of `min--moz-device-pixel-ratio` is intentional. 20 | .img-retina(@file-1x; @file-2x; @width-1x; @height-1x) { 21 | background-image: url("@{file-1x}"); 22 | 23 | @media 24 | only screen and (-webkit-min-device-pixel-ratio: 2), 25 | only screen and ( min--moz-device-pixel-ratio: 2), 26 | only screen and ( -o-min-device-pixel-ratio: 2/1), 27 | only screen and ( min-device-pixel-ratio: 2), 28 | only screen and ( min-resolution: 192dpi), 29 | only screen and ( min-resolution: 2dppx) { 30 | background-image: url("@{file-2x}"); 31 | background-size: @width-1x @height-1x; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/labels.less: -------------------------------------------------------------------------------- 1 | // Labels 2 | 3 | .label-variant(@color) { 4 | background-color: @color; 5 | 6 | &[href] { 7 | &:hover, 8 | &:focus { 9 | background-color: darken(@color, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/list-group.less: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | .list-group-item-variant(@state; @background; @color) { 4 | .list-group-item-@{state} { 5 | color: @color; 6 | background-color: @background; 7 | 8 | a& { 9 | color: @color; 10 | 11 | .list-group-item-heading { 12 | color: inherit; 13 | } 14 | 15 | &:hover, 16 | &:focus { 17 | color: @color; 18 | background-color: darken(@background, 5%); 19 | } 20 | &.active, 21 | &.active:hover, 22 | &.active:focus { 23 | color: #fff; 24 | background-color: @color; 25 | border-color: @color; 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/nav-divider.less: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | .nav-divider(@color: #e5e5e5) { 6 | height: 1px; 7 | margin: ((@line-height-computed / 2) - 1) 0; 8 | overflow: hidden; 9 | background-color: @color; 10 | } 11 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/nav-vertical-align.less: -------------------------------------------------------------------------------- 1 | // Navbar vertical align 2 | // 3 | // Vertically center elements in the navbar. 4 | // Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin. 5 | 6 | .navbar-vertical-align(@element-height) { 7 | margin-top: ((@navbar-height - @element-height) / 2); 8 | margin-bottom: ((@navbar-height - @element-height) / 2); 9 | } 10 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/opacity.less: -------------------------------------------------------------------------------- 1 | // Opacity 2 | 3 | .opacity(@opacity) { 4 | opacity: @opacity; 5 | // IE8 filter 6 | @opacity-ie: (@opacity * 100); 7 | filter: ~"alpha(opacity=@{opacity-ie})"; 8 | } 9 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/pagination.less: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | .pagination-size(@padding-vertical; @padding-horizontal; @font-size; @border-radius) { 4 | > li { 5 | > a, 6 | > span { 7 | padding: @padding-vertical @padding-horizontal; 8 | font-size: @font-size; 9 | } 10 | &:first-child { 11 | > a, 12 | > span { 13 | .border-left-radius(@border-radius); 14 | } 15 | } 16 | &:last-child { 17 | > a, 18 | > span { 19 | .border-right-radius(@border-radius); 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/panels.less: -------------------------------------------------------------------------------- 1 | // Panels 2 | 3 | .panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) { 4 | border-color: @border; 5 | 6 | & > .panel-heading { 7 | color: @heading-text-color; 8 | background-color: @heading-bg-color; 9 | border-color: @heading-border; 10 | 11 | + .panel-collapse > .panel-body { 12 | border-top-color: @border; 13 | } 14 | .badge { 15 | color: @heading-bg-color; 16 | background-color: @heading-text-color; 17 | } 18 | } 19 | & > .panel-footer { 20 | + .panel-collapse > .panel-body { 21 | border-bottom-color: @border; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/progress-bar.less: -------------------------------------------------------------------------------- 1 | // Progress bars 2 | 3 | .progress-bar-variant(@color) { 4 | background-color: @color; 5 | 6 | // Deprecated parent class requirement as of v3.2.0 7 | .progress-striped & { 8 | #gradient > .striped(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/reset-filter.less: -------------------------------------------------------------------------------- 1 | // Reset filters for IE 2 | // 3 | // When you need to remove a gradient background, do not forget to use this to reset 4 | // the IE filter for IE9 and below. 5 | 6 | .reset-filter() { 7 | filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); 8 | } 9 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/resize.less: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | .resizable(@direction) { 4 | resize: @direction; // Options: horizontal, vertical, both 5 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 6 | } 7 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/responsive-visibility.less: -------------------------------------------------------------------------------- 1 | // Responsive utilities 2 | 3 | // 4 | // More easily include all the states for responsive-utilities.less. 5 | .responsive-visibility() { 6 | display: block !important; 7 | table& { display: table; } 8 | tr& { display: table-row !important; } 9 | th&, 10 | td& { display: table-cell !important; } 11 | } 12 | 13 | .responsive-invisibility() { 14 | display: none !important; 15 | } 16 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/size.less: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | .size(@width; @height) { 4 | width: @width; 5 | height: @height; 6 | } 7 | 8 | .square(@size) { 9 | .size(@size; @size); 10 | } 11 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/tab-focus.less: -------------------------------------------------------------------------------- 1 | // WebKit-style focus 2 | 3 | .tab-focus() { 4 | // Default 5 | outline: thin dotted; 6 | // WebKit 7 | outline: 5px auto -webkit-focus-ring-color; 8 | outline-offset: -2px; 9 | } 10 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/table-row.less: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | .table-row-variant(@state; @background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table > thead > tr, 7 | .table > tbody > tr, 8 | .table > tfoot > tr { 9 | > td.@{state}, 10 | > th.@{state}, 11 | &.@{state} > td, 12 | &.@{state} > th { 13 | background-color: @background; 14 | } 15 | } 16 | 17 | // Hover states for `.table-hover` 18 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 19 | .table-hover > tbody > tr { 20 | > td.@{state}:hover, 21 | > th.@{state}:hover, 22 | &.@{state}:hover > td, 23 | &:hover > .@{state}, 24 | &.@{state}:hover > th { 25 | background-color: darken(@background, 5%); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/text-emphasis.less: -------------------------------------------------------------------------------- 1 | // Typography 2 | 3 | .text-emphasis-variant(@color) { 4 | color: @color; 5 | a&:hover { 6 | color: darken(@color, 10%); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/mixins/text-overflow.less: -------------------------------------------------------------------------------- 1 | // Text overflow 2 | // Requires inline-block or block for proper styling 3 | 4 | .text-overflow() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/pager.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | padding-left: 0; 8 | margin: @line-height-computed 0; 9 | list-style: none; 10 | text-align: center; 11 | &:extend(.clearfix all); 12 | li { 13 | display: inline; 14 | > a, 15 | > span { 16 | display: inline-block; 17 | padding: 5px 14px; 18 | background-color: @pager-bg; 19 | border: 1px solid @pager-border; 20 | border-radius: @pager-border-radius; 21 | } 22 | 23 | > a:hover, 24 | > a:focus { 25 | text-decoration: none; 26 | background-color: @pager-hover-bg; 27 | } 28 | } 29 | 30 | .next { 31 | > a, 32 | > span { 33 | float: right; 34 | } 35 | } 36 | 37 | .previous { 38 | > a, 39 | > span { 40 | float: left; 41 | } 42 | } 43 | 44 | .disabled { 45 | > a, 46 | > a:hover, 47 | > a:focus, 48 | > span { 49 | color: @pager-disabled-color; 50 | background-color: @pager-bg; 51 | cursor: @cursor-disabled; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/responsive-embed.less: -------------------------------------------------------------------------------- 1 | // Embeds responsive 2 | // 3 | // Credit: Nicolas Gallagher and SUIT CSS. 4 | 5 | .embed-responsive { 6 | position: relative; 7 | display: block; 8 | height: 0; 9 | padding: 0; 10 | overflow: hidden; 11 | 12 | .embed-responsive-item, 13 | iframe, 14 | embed, 15 | object, 16 | video { 17 | position: absolute; 18 | top: 0; 19 | left: 0; 20 | bottom: 0; 21 | height: 100%; 22 | width: 100%; 23 | border: 0; 24 | } 25 | } 26 | 27 | // Modifier class for 16:9 aspect ratio 28 | .embed-responsive-16by9 { 29 | padding-bottom: 56.25%; 30 | } 31 | 32 | // Modifier class for 4:3 aspect ratio 33 | .embed-responsive-4by3 { 34 | padding-bottom: 75%; 35 | } 36 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Mixin and adjust the regular image class 7 | .thumbnail { 8 | display: block; 9 | padding: @thumbnail-padding; 10 | margin-bottom: @line-height-computed; 11 | line-height: @line-height-base; 12 | background-color: @thumbnail-bg; 13 | border: 1px solid @thumbnail-border; 14 | border-radius: @thumbnail-border-radius; 15 | .transition(border .2s ease-in-out); 16 | 17 | > img, 18 | a > img { 19 | &:extend(.img-responsive); 20 | margin-left: auto; 21 | margin-right: auto; 22 | } 23 | 24 | // Add a hover state for linked versions only 25 | a&:hover, 26 | a&:focus, 27 | a&.active { 28 | border-color: @link-color; 29 | } 30 | 31 | // Image captions 32 | .caption { 33 | padding: @thumbnail-caption-padding; 34 | color: @thumbnail-caption-color; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Floats 7 | // ------------------------- 8 | 9 | .clearfix { 10 | .clearfix(); 11 | } 12 | .center-block { 13 | .center-block(); 14 | } 15 | .pull-right { 16 | float: right !important; 17 | } 18 | .pull-left { 19 | float: left !important; 20 | } 21 | 22 | 23 | // Toggling content 24 | // ------------------------- 25 | 26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1 27 | .hide { 28 | display: none !important; 29 | } 30 | .show { 31 | display: block !important; 32 | } 33 | .invisible { 34 | visibility: hidden; 35 | } 36 | .text-hide { 37 | .text-hide(); 38 | } 39 | 40 | 41 | // Hide from screenreaders and browsers 42 | // 43 | // Credit: HTML5 Boilerplate 44 | 45 | .hidden { 46 | display: none !important; 47 | } 48 | 49 | 50 | // For Affix plugin 51 | // ------------------------- 52 | 53 | .affix { 54 | position: fixed; 55 | } 56 | -------------------------------------------------------------------------------- /lib/fmt/doc/bootstrap/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @well-bg; 12 | border: 1px solid @well-border; 13 | border-radius: @border-radius-base; 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-lg { 23 | padding: 24px; 24 | border-radius: @border-radius-large; 25 | } 26 | .well-sm { 27 | padding: 9px; 28 | border-radius: @border-radius-small; 29 | } 30 | -------------------------------------------------------------------------------- /lib/fmt/doc/contents.rst: -------------------------------------------------------------------------------- 1 | ######## 2 | Contents 3 | ######## 4 | 5 | .. toctree:: 6 | :maxdepth: 2 7 | 8 | usage 9 | api 10 | syntax 11 | -------------------------------------------------------------------------------- /lib/fmt/doc/html/_sources/contents.txt: -------------------------------------------------------------------------------- 1 | ######## 2 | Contents 3 | ######## 4 | 5 | .. toctree:: 6 | :maxdepth: 2 7 | 8 | usage 9 | api 10 | syntax 11 | -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/ajax-loader.gif -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/comment-bright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/comment-bright.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/comment-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/comment-close.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/comment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/comment.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/down-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/down-pressed.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/down.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/file.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/minus.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/plus.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/up-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/up-pressed.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/_static/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/_static/up.png -------------------------------------------------------------------------------- /lib/fmt/doc/html/objects.inv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/lib/fmt/doc/html/objects.inv -------------------------------------------------------------------------------- /lib/fmt/support/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | include $(CLEAR_VARS) 3 | 4 | LOCAL_MODULE := fmt_static 5 | LOCAL_MODULE_FILENAME := libfmt 6 | 7 | LOCAL_SRC_FILES := ../src/format.cc 8 | 9 | LOCAL_C_INCLUDES := $(LOCAL_PATH) 10 | LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) 11 | 12 | LOCAL_CFLAGS += -std=c++11 -fexceptions 13 | 14 | include $(BUILD_STATIC_LIBRARY) 15 | 16 | -------------------------------------------------------------------------------- /lib/fmt/support/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /lib/fmt/support/README: -------------------------------------------------------------------------------- 1 | This directory contains build support files such as 2 | 3 | * CMake modules 4 | * Build scripts 5 | * qmake (static build with dynamic libc only) 6 | 7 | -------------------------------------------------------------------------------- /lib/fmt/support/appveyor.yml: -------------------------------------------------------------------------------- 1 | configuration: 2 | - Debug 3 | - Release 4 | 5 | clone_depth: 1 6 | 7 | platform: 8 | - Win32 9 | - x64 10 | 11 | image: 12 | - Visual Studio 2013 13 | - Visual Studio 2015 14 | - Visual Studio 2017 15 | 16 | environment: 17 | CTEST_OUTPUT_ON_FAILURE: 1 18 | MSVC_DEFAULT_OPTIONS: ON 19 | BUILD: msvc 20 | 21 | before_build: 22 | - mkdir build 23 | - cd build 24 | 25 | build_script: 26 | - python ../support/appveyor-build.py 27 | 28 | on_failure: 29 | - appveyor PushArtifact Testing/Temporary/LastTest.log 30 | - appveyor AddTest test 31 | 32 | # Uncomment this to debug AppVeyor failures. 33 | #on_finish: 34 | # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) 35 | -------------------------------------------------------------------------------- /lib/fmt/support/cmake/FindSetEnv.cmake: -------------------------------------------------------------------------------- 1 | # A CMake script to find SetEnv.cmd. 2 | 3 | find_program(WINSDK_SETENV NAMES SetEnv.cmd 4 | PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]/bin") 5 | if (WINSDK_SETENV AND PRINT_PATH) 6 | execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${WINSDK_SETENV}") 7 | endif () 8 | -------------------------------------------------------------------------------- /lib/fmt/support/cmake/fmt-config.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | include(${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake) 4 | check_required_components(fmt) 5 | -------------------------------------------------------------------------------- /lib/fmt/support/cmake/fmt.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_PREFIX@ 3 | libdir=@CMAKE_INSTALL_FULL_LIBDIR@ 4 | includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ 5 | 6 | Name: fmt 7 | Description: A modern formatting library 8 | Version: @FMT_VERSION@ 9 | Libs: -L${libdir} -lfmt 10 | Cflags: -I${includedir} 11 | 12 | -------------------------------------------------------------------------------- /lib/fmt/support/cmake/run-cmake.bat: -------------------------------------------------------------------------------- 1 | @echo on 2 | rem This scripts configures build environment and runs CMake. 3 | rem Use it instead of running CMake directly when building with 4 | rem the Microsoft SDK toolchain rather than Visual Studio. 5 | rem It is used in the same way as cmake, for example: 6 | rem 7 | rem run-cmake -G "Visual Studio 10 Win64" . 8 | 9 | for /F "delims=" %%i IN ('cmake "-DPRINT_PATH=1" -P %~dp0/FindSetEnv.cmake') DO set setenv=%%i 10 | if NOT "%setenv%" == "" call "%setenv%" 11 | cmake %* 12 | -------------------------------------------------------------------------------- /lib/fmt/support/fmt.pro: -------------------------------------------------------------------------------- 1 | # Staticlib configuration for qmake builds 2 | # For some reason qmake 3.1 fails to identify source dependencies and excludes format.cc and printf.cc 3 | # from compilation so it _MUST_ be called as qmake -nodepend 4 | # A workaround is implemented below: a custom compiler is defined which does not track dependencies 5 | 6 | TEMPLATE = lib 7 | 8 | TARGET = fmt 9 | 10 | QMAKE_EXT_CPP = .cc 11 | 12 | CONFIG = staticlib warn_on c++11 13 | 14 | FMT_SOURCES = \ 15 | ../src/format.cc \ 16 | ../src/posix.cc 17 | 18 | fmt.name = libfmt 19 | fmt.input = FMT_SOURCES 20 | fmt.output = ${QMAKE_FILE_BASE}$$QMAKE_EXT_OBJ 21 | fmt.clean = ${QMAKE_FILE_BASE}$$QMAKE_EXT_OBJ 22 | fmt.depends = ${QMAKE_FILE_IN} 23 | # QMAKE_RUN_CXX will not be expanded 24 | fmt.commands = $$QMAKE_CXX -c $$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_WARN_ON $$QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO $$QMAKE_CXXFLAGS_CXX11 ${QMAKE_FILE_IN} 25 | fmt.variable_out = OBJECTS 26 | fmt.CONFIG = no_dependencies no_link 27 | QMAKE_EXTRA_COMPILERS += fmt 28 | -------------------------------------------------------------------------------- /lib/fmt/support/rtd/conf.py: -------------------------------------------------------------------------------- 1 | # Sphinx configuration for readthedocs. 2 | 3 | import os, sys 4 | 5 | master_doc = 'index' 6 | html_theme = 'theme' 7 | html_theme_path = ["."] 8 | -------------------------------------------------------------------------------- /lib/fmt/support/rtd/index.rst: -------------------------------------------------------------------------------- 1 | If you are not redirected automatically, follow the 2 | `link to the fmt documentation `_. 3 | -------------------------------------------------------------------------------- /lib/fmt/support/rtd/theme/layout.html: -------------------------------------------------------------------------------- 1 | {% extends "basic/layout.html" %} 2 | 3 | {% block extrahead %} 4 | 5 | 6 | 9 | Page Redirection 10 | {% endblock %} 11 | 12 | {% block document %} 13 | If you are not redirected automatically, follow the link to the fmt documentation. 14 | {% endblock %} 15 | 16 | {% block footer %} 17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /lib/fmt/support/rtd/theme/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | -------------------------------------------------------------------------------- /lib/fmt/support/update-coverity-branch.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # Update the coverity branch from the master branch. 3 | # It is not done automatically because Coverity Scan limits 4 | # the number of submissions per day. 5 | 6 | from __future__ import print_function 7 | import shutil, tempfile 8 | from subprocess import check_output, STDOUT 9 | 10 | class Git: 11 | def __init__(self, dir): 12 | self.dir = dir 13 | 14 | def __call__(self, *args): 15 | output = check_output(['git'] + list(args), cwd=self.dir, stderr=STDOUT) 16 | print(output) 17 | return output 18 | 19 | dir = tempfile.mkdtemp() 20 | try: 21 | git = Git(dir) 22 | git('clone', '-b', 'coverity', 'git@github.com:fmtlib/fmt.git', dir) 23 | output = git('merge', '-X', 'theirs', '--no-commit', 'origin/master') 24 | if 'Fast-forward' not in output: 25 | git('reset', 'HEAD', '.travis.yml') 26 | git('checkout', '--', '.travis.yml') 27 | git('commit', '-m', 'Update coverity branch') 28 | git('push') 29 | finally: 30 | shutil.rmtree(dir) 31 | -------------------------------------------------------------------------------- /lib/fmt/test/add-subdirectory-test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.0) 2 | 3 | project(fmt-test) 4 | 5 | add_subdirectory(../.. fmt) 6 | 7 | add_executable(library-test "main.cc") 8 | target_link_libraries(library-test fmt::fmt) 9 | target_compile_options(library-test PRIVATE ${PEDANTIC_COMPILE_FLAGS}) 10 | target_include_directories(library-test PUBLIC SYSTEM .) 11 | 12 | if (TARGET fmt::fmt-header-only) 13 | add_executable(header-only-test "main.cc") 14 | target_link_libraries(header-only-test fmt::fmt-header-only) 15 | target_compile_options(header-only-test PRIVATE ${PEDANTIC_COMPILE_FLAGS}) 16 | target_include_directories(header-only-test PUBLIC SYSTEM .) 17 | endif () 18 | -------------------------------------------------------------------------------- /lib/fmt/test/add-subdirectory-test/main.cc: -------------------------------------------------------------------------------- 1 | #include "fmt/format.h" 2 | 3 | int main(int argc, char** argv) { 4 | for(int i = 0; i < argc; ++i) 5 | fmt::print("{}: {}\n", i, argv[i]); 6 | } 7 | -------------------------------------------------------------------------------- /lib/fmt/test/assert-test.cc: -------------------------------------------------------------------------------- 1 | // Formatting library for C++ - assertion tests 2 | // 3 | // Copyright (c) 2012 - present, Victor Zverovich 4 | // All rights reserved. 5 | // 6 | // For the license information refer to format.h. 7 | 8 | #include "fmt/core.h" 9 | #include "gtest.h" 10 | 11 | #if GTEST_HAS_DEATH_TEST 12 | # define EXPECT_DEBUG_DEATH_IF_SUPPORTED(statement, regex) \ 13 | EXPECT_DEBUG_DEATH(statement, regex) 14 | #else 15 | # define EXPECT_DEBUG_DEATH_IF_SUPPORTED(statement, regex) \ 16 | GTEST_UNSUPPORTED_DEATH_TEST_(statement, regex, ) 17 | #endif 18 | 19 | TEST(AssertTest, Fail) { 20 | EXPECT_DEBUG_DEATH_IF_SUPPORTED( 21 | FMT_ASSERT(false, "don't panic!"), "don't panic!"); 22 | } 23 | -------------------------------------------------------------------------------- /lib/fmt/test/find-package-test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.1.0) 2 | 3 | project(fmt-test) 4 | 5 | find_package(FMT REQUIRED) 6 | 7 | add_executable(library-test main.cc) 8 | target_link_libraries(library-test fmt::fmt) 9 | target_compile_options(library-test PRIVATE ${PEDANTIC_COMPILE_FLAGS}) 10 | target_include_directories(library-test PUBLIC SYSTEM .) 11 | 12 | if (TARGET fmt::fmt-header-only) 13 | add_executable(header-only-test main.cc) 14 | target_link_libraries(header-only-test fmt::fmt-header-only) 15 | target_compile_options(header-only-test PRIVATE ${PEDANTIC_COMPILE_FLAGS}) 16 | target_include_directories(header-only-test PUBLIC SYSTEM .) 17 | endif () 18 | -------------------------------------------------------------------------------- /lib/fmt/test/find-package-test/main.cc: -------------------------------------------------------------------------------- 1 | #include "fmt/format.h" 2 | 3 | int main(int argc, char** argv) { 4 | for(int i = 0; i < argc; ++i) 5 | fmt::print("{}: {}\n", i, argv[i]); 6 | } 7 | -------------------------------------------------------------------------------- /lib/fmt/test/header-only-test.cc: -------------------------------------------------------------------------------- 1 | // Header-only configuration test 2 | 3 | #include "fmt/core.h" 4 | -------------------------------------------------------------------------------- /lib/fmt/test/header-only-test2.cc: -------------------------------------------------------------------------------- 1 | // Additional translation unit for the header-only configuration test 2 | 3 | #include "fmt/core.h" 4 | -------------------------------------------------------------------------------- /lib/fmt/test/test-assert.h: -------------------------------------------------------------------------------- 1 | // Formatting library for C++ - test version of FMT_ASSERT 2 | // 3 | // Copyright (c) 2012 - present, Victor Zverovich 4 | // All rights reserved. 5 | // 6 | // For the license information refer to format.h. 7 | 8 | #ifndef FMT_TEST_ASSERT_H_ 9 | #define FMT_TEST_ASSERT_H_ 10 | 11 | #include 12 | #include "gtest.h" 13 | 14 | class assertion_failure : public std::logic_error { 15 | public: 16 | explicit assertion_failure(const char *message) : std::logic_error(message) {} 17 | }; 18 | 19 | #define FMT_ASSERT(condition, message) \ 20 | if (!(condition)) throw assertion_failure(message); 21 | 22 | // Expects an assertion failure. 23 | #define EXPECT_ASSERT(stmt, message) \ 24 | FMT_TEST_THROW_(stmt, assertion_failure, message, GTEST_NONFATAL_FAILURE_) 25 | 26 | #endif // FMT_TEST_ASSERT_H_ 27 | -------------------------------------------------------------------------------- /lib/fmt/test/util.cc: -------------------------------------------------------------------------------- 1 | // Formatting library for C++ - test utilities 2 | // 3 | // Copyright (c) 2012 - present, Victor Zverovich 4 | // All rights reserved. 5 | // 6 | // For the license information refer to format.h. 7 | 8 | #include "util.h" 9 | #include 10 | 11 | void increment(char *s) { 12 | for (int i = static_cast(std::strlen(s)) - 1; i >= 0; --i) { 13 | if (s[i] != '9') { 14 | ++s[i]; 15 | break; 16 | } 17 | s[i] = '0'; 18 | } 19 | } 20 | 21 | std::string get_system_error(int error_code) { 22 | #if defined(__MINGW32__) || !defined(_WIN32) 23 | return strerror(error_code); 24 | #else 25 | enum { BUFFER_SIZE = 200 }; 26 | char buffer[BUFFER_SIZE]; 27 | if (strerror_s(buffer, BUFFER_SIZE, error_code)) 28 | throw std::exception("strerror_s failed"); 29 | return buffer; 30 | #endif 31 | } 32 | 33 | const char *const FILE_CONTENT = "Don't panic!"; 34 | 35 | fmt::buffered_file open_buffered_file(FILE **fp) { 36 | fmt::file read_end, write_end; 37 | fmt::file::pipe(read_end, write_end); 38 | write_end.write(FILE_CONTENT, std::strlen(FILE_CONTENT)); 39 | write_end.close(); 40 | fmt::buffered_file f = read_end.fdopen("r"); 41 | if (fp) 42 | *fp = f.get(); 43 | return f; 44 | } 45 | -------------------------------------------------------------------------------- /lib/gtest/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### GTest ### 3 | ############################################### 4 | 5 | cmake_minimum_required(VERSION 2.8.4...3.13) 6 | 7 | # Allow versioning the subproject 8 | if(POLICY CMP0048) 9 | cmake_policy(SET CMP0048 NEW) 10 | endif(POLICY CMP0048) 11 | 12 | # Version from gtest Release page: https://github.com/google/googletest/releases 13 | set(GTEST_VERSION_MAJOR 1) 14 | set(GTEST_VERSION_MINOR 8) 15 | set(GTEST_VERSION_PATCH 1) 16 | 17 | project(gtest 18 | VERSION ${GTEST_VERSION_MAJOR}.${GTEST_VERSION_MINOR}.${GTEST_VERSION_PATCH} 19 | ) 20 | 21 | ###''' SOURCE AND HEADER FILES '''### 22 | 23 | file(GLOB_RECURSE SOURCE_FILES *.cc) 24 | file(GLOB_RECURSE HEADER_FILES *.h) 25 | 26 | ### GTest ### 27 | 28 | add_library(gtest ${SOURCE_FILES} ${HEADER_FILES}) 29 | target_include_directories(gtest PUBLIC ${PROJECT_SOURCE_DIR}) 30 | target_link_libraries(gtest Threads::Threads) 31 | add_library(lib::gtest ALIAS gtest) 32 | 33 | diagnostics_print(gtest) 34 | -------------------------------------------------------------------------------- /lib/json/LICENSE.MIT: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2013-2019 Niels Lohmann 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /lib/json/cmake/config.cmake.in: -------------------------------------------------------------------------------- 1 | include(FindPackageHandleStandardArgs) 2 | set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG ${CMAKE_CURRENT_LIST_FILE}) 3 | find_package_handle_standard_args(@PROJECT_NAME@ CONFIG_MODE) 4 | 5 | if(NOT TARGET @PROJECT_NAME@::@NLOHMANN_JSON_TARGET_NAME@) 6 | include("${CMAKE_CURRENT_LIST_DIR}/@NLOHMANN_JSON_TARGETS_EXPORT_NAME@.cmake") 7 | if((NOT TARGET @NLOHMANN_JSON_TARGET_NAME@) AND 8 | (NOT @PROJECT_NAME@_FIND_VERSION OR 9 | @PROJECT_NAME@_FIND_VERSION VERSION_LESS 3.2.0)) 10 | add_library(@NLOHMANN_JSON_TARGET_NAME@ INTERFACE IMPORTED) 11 | set_target_properties(@NLOHMANN_JSON_TARGET_NAME@ PROPERTIES 12 | INTERFACE_LINK_LIBRARIES @PROJECT_NAME@::@NLOHMANN_JSON_TARGET_NAME@ 13 | ) 14 | endif() 15 | endif() 16 | -------------------------------------------------------------------------------- /src/aas/BaSyxAASConfig.cmake.in: -------------------------------------------------------------------------------- 1 | include(CMakeFindDependencyMacro) 2 | 3 | set(BASYX_SUBMODEL_VERSION_STRING "@PROJECT_VERSION@") 4 | 5 | find_dependency(BaSyxShared) 6 | find_dependency(BaSyxVAB) 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/@BASYX_SUBMODEL_LIBRARY_NAME@Targets.cmake") 9 | 10 | @PACKAGE_INIT@ 11 | 12 | -------------------------------------------------------------------------------- /src/aas/aas/map_v2/common/ModelType.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | //#include 12 | // 13 | //using namespace basyx::aas; 14 | //using namespace basyx::aas::map; 15 | // 16 | // 17 | ////ModelType::ModelType(ModelTypes modelType) 18 | ////{ 19 | //// auto modelTypeMap = basyx::object::make_map(); 20 | //// modelTypeMap.insertKey("name", ModelTypes_::to_string(modelType)); 21 | //// this->map.insertKey("modelType", modelTypeMap); 22 | ////}; 23 | //// 24 | ////ModelTypes basyx::aas::map::ModelType::GetModelType() const 25 | ////{ 26 | //// auto modelType = this->map.getProperty("modelType").getProperty("name").Get(); 27 | //// return ModelTypes_::from_string(modelType); 28 | ////}; -------------------------------------------------------------------------------- /src/aas/aas/map_v2/dataspecification/DataSpecificationContent.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | 14 | namespace basyx { 15 | namespace submodel { 16 | namespace map { 17 | 18 | using namespace basyx::submodel::api; 19 | 20 | DataSpecificationContent::DataSpecificationContent() 21 | : vab::ElementMap() 22 | {} 23 | 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/aas/aas/map_v2/submodelelement/Capability.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | 14 | namespace basyx { 15 | namespace aas { 16 | namespace map { 17 | 18 | Capability::Capability(const std::string & idShort, ModelingKind kind) 19 | : SubmodelElement(idShort, kind) 20 | {} 21 | 22 | Capability::Capability(basyx::object obj) 23 | : SubmodelElement(obj) 24 | {} 25 | 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/aas/aas/map_v2/submodelelement/DataElement.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | 14 | namespace basyx { 15 | namespace aas { 16 | namespace map { 17 | 18 | DataElement::DataElement(const std::string & idShort, ModelingKind kind) 19 | : SubmodelElement(idShort, kind) 20 | {} 21 | 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/aas/aas/simple/common/xsd_types/AnyURI.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx { 14 | namespace aas { 15 | namespace simple { 16 | 17 | AnyURI::AnyURI(const std::string & uri) 18 | : uri{uri} 19 | {} 20 | 21 | const std::string &AnyURI::getUri() const 22 | { 23 | return this->uri; 24 | } 25 | 26 | void AnyURI::setURI(const std::string &uri) 27 | { 28 | this->uri = uri; 29 | } 30 | 31 | 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/aas/aas/simple/common/xsd_types/Date.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | 14 | namespace basyx { 15 | namespace aas { 16 | namespace simple { 17 | 18 | Date::Date(const tm & date) 19 | : date{date} 20 | {} 21 | 22 | const tm &Date::getDate() const 23 | { 24 | return this->date; 25 | } 26 | 27 | void Date::setDate(const tm & date) 28 | { 29 | this->date = date; 30 | } 31 | 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/aas/aas/simple/common/xsd_types/DateTime.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | #include 13 | 14 | namespace basyx { 15 | namespace aas { 16 | namespace simple { 17 | 18 | DateTime::DateTime(const tm & time) 19 | : time{time} 20 | {} 21 | 22 | const tm &DateTime::getTime() const 23 | { 24 | return this->time; 25 | } 26 | 27 | void DateTime::setTime(const tm & time) 28 | { 29 | this->time = time; 30 | } 31 | 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/aas/aas/simple/common/xsd_types/DayTimeDuration.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | #include 13 | 14 | 15 | namespace basyx { 16 | namespace aas { 17 | namespace simple { 18 | 19 | DayTimeDuration::DayTimeDuration(const std::chrono::duration & duration) 20 | : duration_in_sec{duration} 21 | {} 22 | 23 | const std::chrono::duration &DayTimeDuration::getDuration() const 24 | { 25 | return this->duration_in_sec; 26 | } 27 | 28 | void DayTimeDuration::setDuration(const std::chrono::duration & duration) 29 | { 30 | this->duration_in_sec = duration; 31 | } 32 | 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/aas/aas/simple/common/xsd_types/GDay.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | 14 | namespace basyx { 15 | namespace aas { 16 | namespace simple { 17 | 18 | GDay::GDay(uint8_t day, const Timezone & timezone) 19 | : timezone{timezone} 20 | { 21 | this->setDay(day); 22 | } 23 | 24 | uint8_t GDay::getDay() const 25 | { 26 | return this->day; 27 | } 28 | 29 | void GDay::setDay(uint8_t day) 30 | { 31 | day %= 31; 32 | if (day == 0) 33 | day = 31; 34 | this->day = day; 35 | } 36 | 37 | const Timezone &GDay::getTimezone() const 38 | { 39 | return this->timezone; 40 | } 41 | 42 | void GDay::setTimezone(const Timezone &timezone) 43 | { 44 | this->timezone = timezone; 45 | } 46 | 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/aas/aas/simple/common/xsd_types/GYear.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | 14 | namespace basyx { 15 | namespace aas { 16 | namespace simple { 17 | 18 | GYear::GYear(int year, const Timezone & timezone) 19 | : year{year} 20 | , timezone{timezone} 21 | {} 22 | 23 | int GYear::getYear() const 24 | { 25 | return year; 26 | } 27 | 28 | void GYear::setYear(int year) 29 | { 30 | this->year = this->year; 31 | } 32 | 33 | const Timezone & GYear::getTimezone() const 34 | { 35 | return this->timezone; 36 | } 37 | 38 | void GYear::setTimezone(const Timezone & timezone) 39 | { 40 | this->timezone = timezone; 41 | } 42 | 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/aas/aas/simple/dataspecification/DataSpecificationContent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/aas/aas/simple/dataspecification/DataSpecificationContent.cpp -------------------------------------------------------------------------------- /src/aas/aas/simple/dataspecification/ValueList.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx { 14 | namespace aas { 15 | namespace simple { 16 | 17 | ValueList::ValueList(const std::vector &list) 18 | : list(list) 19 | {} 20 | 21 | void ValueList::addValueReferencePair(const simple::ValueReferencePair &valueRefPair) 22 | { 23 | this->list.push_back(valueRefPair); 24 | } 25 | 26 | std::vector ValueList::getValueReferencePairs() 27 | { 28 | return this->list; 29 | } 30 | 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/aas/aas/simple/qualifier/HasDataSpecification.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | #include 14 | 15 | namespace basyx { 16 | namespace aas { 17 | namespace simple { 18 | 19 | HasDataSpecification::HasDataSpecification() 20 | { 21 | } 22 | 23 | void HasDataSpecification::addDataSpecification(const Reference & reference) 24 | { 25 | this->dataSpecification.emplace_back(reference); 26 | }; 27 | 28 | const std::vector HasDataSpecification::getDataSpecificationReference() const 29 | { 30 | return this->dataSpecification; 31 | } 32 | 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/aas/aas/simple/submodelelement/BasicEvent.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx { 14 | namespace aas { 15 | namespace simple { 16 | 17 | BasicEvent::BasicEvent(const std::string & idShort, Reference observed, ModelingKind kind) 18 | : SubmodelElement {idShort, kind} 19 | , observed {observed} 20 | {} 21 | 22 | const api::IReference & BasicEvent::getObserved() const 23 | { 24 | return this->observed; 25 | } 26 | 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/aas/aas/simple/submodelelement/Capability.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | #include 13 | 14 | 15 | namespace basyx { 16 | namespace aas { 17 | namespace simple { 18 | 19 | Capability::Capability(const std::string & idShort, ModelingKind kind) 20 | : SubmodelElement{ idShort, kind } 21 | {} 22 | 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/aas/aas/simple/submodelelement/DataElement.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx { 14 | namespace aas { 15 | namespace simple { 16 | 17 | simple::DataElement::DataElement(const std::string & idShort, ModelingKind kind) 18 | : SubmodelElement(idShort, kind) 19 | {} 20 | 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/aas/aas/simple/submodelelement/RelationshipElement.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | #include 13 | 14 | 15 | namespace basyx { 16 | namespace aas { 17 | namespace simple { 18 | 19 | RelationshipElement::RelationshipElement(const Reference & first, const Reference & second, const std::string & idShort, ModelingKind kind) 20 | : SubmodelElement(idShort, kind) 21 | , first(first) 22 | , second(second) 23 | {} 24 | 25 | const Reference & RelationshipElement::getFirst() const 26 | { 27 | return first; 28 | } 29 | 30 | const Reference & RelationshipElement::getSecond() const 31 | { 32 | return second; 33 | } 34 | 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/aas/aas/simple/submodelelement/file/File.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | using namespace basyx::aas::simple; 14 | 15 | File::File(const std::string & idShort, const std::string & mimeType) 16 | : SubmodelElement(idShort) 17 | , mimeType(mimeType) 18 | { 19 | }; 20 | 21 | const std::string File::getPath() const 22 | { 23 | return this->path; 24 | } 25 | 26 | void File::setPath(const std::string & path) 27 | { 28 | this->path = path; 29 | } 30 | 31 | const std::string File::getMimeType() const 32 | { 33 | return this->mimeType; 34 | } 35 | 36 | void File::setMimeType(const std::string & mimeType) 37 | { 38 | this->mimeType = mimeType; 39 | } 40 | -------------------------------------------------------------------------------- /src/aas/aas/simple/submodelelement/operation/OperationVariable.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | //#include 12 | // 13 | //using namespace basyx::aas::simple; 14 | // 15 | //OperationVariable::OperationVariable(const std::string & idShort) 16 | // : SubmodelElement(idShort, Kind::Type) 17 | //{ 18 | // 19 | //} 20 | // 21 | //OperationVariable::OperationVariable(const std::string & idShort, std::unique_ptr value) 22 | // : SubmodelElement(idShort, Kind::Type) 23 | // , value(std::move(value)) 24 | //{ 25 | // 26 | //} 27 | // 28 | //ISubmodelElement & OperationVariable::getValue() const 29 | //{ 30 | // return *this->value; 31 | //}; 32 | -------------------------------------------------------------------------------- /src/aas/aas/simple/submodelelement/property/ReferenceElement.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | using namespace basyx::aas; 14 | using namespace basyx::aas::api; 15 | using namespace basyx::aas::simple; 16 | 17 | ReferenceElement::ReferenceElement(const std::string & idShort, ModelingKind kind) 18 | : DataElement(idShort, kind) 19 | {} 20 | 21 | const api::IReference * const ReferenceElement::getValue() const 22 | { 23 | return &this->value; 24 | }; 25 | 26 | void ReferenceElement::setValue(const api::IReference & valueId) 27 | { 28 | this->value = Reference( valueId.getKeys() ); 29 | }; -------------------------------------------------------------------------------- /src/abstraction/BaSyxAbstractionConfig.cmake.in: -------------------------------------------------------------------------------- 1 | include(CMakeFindDependencyMacro) 2 | 3 | set(BASYX_ABSTRACTION_VERSION_STRING "@PROJECT_VERSION@") 4 | 5 | find_dependency(BaSyxUtil) 6 | find_dependency(BaSyxLog) 7 | find_dependency(Threads) 8 | 9 | include("${CMAKE_CURRENT_LIST_DIR}/@BASYX_ABSTRACTION_LIBRARY_NAME@Targets.cmake") 10 | 11 | @PACKAGE_INIT@ 12 | -------------------------------------------------------------------------------- /src/logging/BaSyxLogConfig.cmake.in: -------------------------------------------------------------------------------- 1 | include(CMakeFindDependencyMacro) 2 | 3 | set(BASYX_LOG_VERSION_STRING "@PROJECT_VERSION@") 4 | 5 | find_dependency(BaSyxUtil) 6 | find_dependency(fmt) 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/@BASYX_LOG_LIBRARY_NAME@Targets.cmake") 9 | 10 | @PACKAGE_INIT@ 11 | -------------------------------------------------------------------------------- /src/opcua/BaSyxOPCUAConfig.cmake.in: -------------------------------------------------------------------------------- 1 | include(CMakeFindDependencyMacro) 2 | 3 | set(BASYX_AAS_VERSION_STRING "@PROJECT_VERSION@") 4 | 5 | find_dependency(BaSyxShared) 6 | find_dependency(BaSyxAbstraction) 7 | find_dependency(BaSyxVAB) 8 | find_dependency(BaSyxSubmodel) 9 | 10 | include("${CMAKE_CURRENT_LIST_DIR}/@BASYX_AAS_LIBRARY_NAME@Targets.cmake") 11 | 12 | @PACKAGE_INIT@ 13 | -------------------------------------------------------------------------------- /src/opcua/aas/api_v2/ApiMetamodelUtilities.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx 14 | { 15 | namespace opcua 16 | { 17 | namespace aas 18 | { 19 | bool ApiMetamodelUtilities::isPropertyType(const ISubmodelElement_t * t_submodelElement) 20 | { 21 | if (t_submodelElement != nullptr) 22 | return (dynamic_cast(t_submodelElement) != nullptr); 23 | 24 | return false; 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/opcua/aas/metamodel/AASCapabilityType.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx 14 | { 15 | namespace opcua 16 | { 17 | namespace aas 18 | { 19 | namespace metamodel 20 | { 21 | constexpr char AASCapabilityType::AttrNames::BrowseText[]; 22 | constexpr char AASCapabilityType::AttrNames::DisplayName[]; 23 | constexpr char AASCapabilityType::AttrNames::Description[]; 24 | constexpr char AASCapabilityType::AttrNames::NodeHandle[]; 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/opcua/aas/metamodel/AASCustomConceptDescriptionType.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/opcua/aas/metamodel/AASCustomConceptDescriptionType.cpp -------------------------------------------------------------------------------- /src/opcua/aas/metamodel/AASEventType.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | using namespace basyx::opcua::aas::metamodel; 14 | 15 | namespace basyx 16 | { 17 | namespace opcua 18 | { 19 | namespace aas 20 | { 21 | namespace metamodel 22 | { 23 | constexpr char AASEventType::AttrNames::BrowseText[]; 24 | constexpr char AASEventType::AttrNames::DisplayName[]; 25 | constexpr char AASEventType::AttrNames::Description[]; 26 | constexpr char AASEventType::AttrNames::NodeHandle[]; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/opcua/aas/metamodel/AASIrdiConceptDescriptionType.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/opcua/aas/metamodel/AASIrdiConceptDescriptionType.cpp -------------------------------------------------------------------------------- /src/opcua/aas/metamodel/AASIriConceptDescriptionType.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/opcua/aas/metamodel/AASIriConceptDescriptionType.cpp -------------------------------------------------------------------------------- /src/opcua/aas/metamodel/AASReference.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx 14 | { 15 | namespace opcua 16 | { 17 | namespace aas 18 | { 19 | namespace metamodel 20 | { 21 | constexpr char AASReference::AttrNames::BrowseName[]; 22 | constexpr char AASReference::AttrNames::DisplayName[]; 23 | constexpr char AASReference::AttrNames::Description[]; 24 | constexpr char AASReference::AttrNames::NodeHandle[]; 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/opcua/aas/metamodel/DictionaryEntryFragmentedId.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx 14 | { 15 | namespace opcua 16 | { 17 | namespace aas 18 | { 19 | namespace metamodel 20 | { 21 | constexpr char DictionaryEntryFragmentedId::AttrNames::BrowseText[]; 22 | constexpr char DictionaryEntryFragmentedId::AttrNames::DisplayName[]; 23 | constexpr char DictionaryEntryFragmentedId::AttrNames::Description[]; 24 | constexpr char DictionaryEntryFragmentedId::AttrNames::NodeHandle[]; 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/opcua/aas/metamodel/DictionaryEntryIdShort.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | 14 | namespace basyx 15 | { 16 | namespace opcua 17 | { 18 | namespace aas 19 | { 20 | namespace metamodel 21 | { 22 | constexpr char DictionaryEntryIdShort::AttrNames::BrowseText[]; 23 | constexpr char DictionaryEntryIdShort::AttrNames::DisplayName[]; 24 | constexpr char DictionaryEntryIdShort::AttrNames::Description[]; 25 | constexpr char DictionaryEntryIdShort::AttrNames::NodeHandle[]; 26 | } 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /src/opcua/common/Variant.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | -------------------------------------------------------------------------------- /src/server/BaSyxServerConfig.cmake.in: -------------------------------------------------------------------------------- 1 | include(CMakeFindDependencyMacro) 2 | 3 | # We rely on a selfmade find_package(asio) Findasio.cmake, thus add it to the 4 | # module path 5 | list(APPEND CMAKE_MODULE_PATH "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/cmake/BaSyxAsio") 6 | 7 | set(BASYX_SERVER_VERSION_STRING "@PROJECT_VERSION@") 8 | 9 | find_dependency(BaSyxShared) 10 | find_dependency(BaSyxVAB) 11 | # We rely on our own Findasio.cmake, thus find_dependency is not usable 12 | find_package(asio) 13 | 14 | include("${CMAKE_CURRENT_LIST_DIR}/@BASYX_SERVER_LIBRARY_NAME@Targets.cmake") 15 | 16 | @PACKAGE_INIT@ 17 | -------------------------------------------------------------------------------- /src/server/server/TCPServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/server/server/TCPServer.cpp -------------------------------------------------------------------------------- /src/shared/BaSyxSharedConfig.cmake.in: -------------------------------------------------------------------------------- 1 | include(CMakeFindDependencyMacro) 2 | 3 | set(BASYX_SHARED_VERSION_STRING "@PROJECT_VERSION@") 4 | 5 | find_dependency(BaSyxUtil) 6 | find_dependency(BaSyxLog) 7 | find_dependency(nlohmann_json) 8 | 9 | include("${CMAKE_CURRENT_LIST_DIR}/@BASYX_SHARED_LIBRARY_NAME@Targets.cmake") 10 | 11 | @PACKAGE_INIT@ 12 | -------------------------------------------------------------------------------- /src/shared/shared/serialization/json/typeid.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | 14 | 15 | constexpr char basyx::serialization::basysType::string[]; 16 | constexpr char basyx::serialization::basysType::string[]; 17 | constexpr char basyx::serialization::basysType::string[]; 18 | constexpr char basyx::serialization::basysType::string[]; 19 | constexpr char basyx::serialization::basysType::string[]; 20 | constexpr char basyx::serialization::basysType::string[]; 21 | -------------------------------------------------------------------------------- /src/utility/BaSyxUtilConfig.cmake.in: -------------------------------------------------------------------------------- 1 | include(CMakeFindDependencyMacro) 2 | 3 | set(BASYX_UTIL_VERSION_STRING "@PROJECT_VERSION@") 4 | 5 | include("${CMAKE_CURRENT_LIST_DIR}/@BASYX_UTIL_LIBRARY_NAME@Targets.cmake") 6 | 7 | @PACKAGE_INIT@ 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/utility/util/util.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/utility/util/util.cpp -------------------------------------------------------------------------------- /src/vab/BaSyxVABConfig.cmake.in: -------------------------------------------------------------------------------- 1 | include(CMakeFindDependencyMacro) 2 | 3 | set(BASYX_VAB_VERSION_STRING "@PROJECT_VERSION@") 4 | 5 | find_dependency(BaSyxShared) 6 | find_dependency(BaSyxAbstraction) 7 | 8 | include("${CMAKE_CURRENT_LIST_DIR}/@BASYX_VAB_LIBRARY_NAME@Targets.cmake") 9 | 10 | @PACKAGE_INIT@ 11 | -------------------------------------------------------------------------------- /src/vab/vab/ElementList.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | basyx::vab::ElementList::ElementList() : 14 | collection(basyx::object::make_object_list()){} 15 | 16 | basyx::vab::ElementList::ElementList(basyx::object object): 17 | collection(object){} 18 | 19 | basyx::vab::ElementList::ElementList(const ElementList & other) : collection{ other.getList() } 20 | {} 21 | 22 | void basyx::vab::ElementList::insertElement(const ElementList & collection) 23 | { 24 | this->collection.insert(collection.getList()); 25 | } 26 | 27 | basyx::object basyx::vab::ElementList::getList() const 28 | { 29 | return this->collection; 30 | } 31 | -------------------------------------------------------------------------------- /src/vab/vab/ElementMap.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | namespace basyx { 14 | namespace vab { 15 | 16 | ElementMap::ElementMap() 17 | : map(basyx::object::make_map()) 18 | {} 19 | 20 | ElementMap::ElementMap(basyx::object object) 21 | : map(object) 22 | { 23 | } 24 | 25 | ElementMap::ElementMap(const ElementMap & other) : 26 | map{other.getMap()} 27 | {} 28 | 29 | basyx::object ElementMap::getMap() const 30 | { 31 | return map; 32 | }; 33 | 34 | void ElementMap::insertMapElement(const std::string & key, const ElementMap & element) 35 | { 36 | this->map.insertKey(key, element.getMap(), true); 37 | } 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/vab/vab/backend/connector/http/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/vab/vab/backend/connector/http/.gitkeep -------------------------------------------------------------------------------- /src/vab/vab/backend/gateway/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/vab/vab/backend/gateway/.gitkeep -------------------------------------------------------------------------------- /src/vab/vab/backend/http/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/vab/vab/backend/http/.gitkeep -------------------------------------------------------------------------------- /src/vab/vab/backend/server/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/vab/vab/backend/server/.gitkeep -------------------------------------------------------------------------------- /src/vab/vab/backend/type/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/vab/vab/backend/type/.gitkeep -------------------------------------------------------------------------------- /src/vab/vab/core/VABConnectionManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/vab/vab/core/VABConnectionManager.cpp -------------------------------------------------------------------------------- /src/vab/vab/provider/filesystem/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/vab/vab/provider/filesystem/.gitkeep -------------------------------------------------------------------------------- /src/vab/vab/provider/xml/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclipse-basyx/basyx-cpp-sdk/3cddc1ab16839a43ac60067c952c2225725f47ee/src/vab/vab/provider/xml/.gitkeep -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### Tests ### 3 | ############################################### 4 | 5 | cmake_minimum_required(VERSION 2.8.4...3.13) 6 | 7 | # Allow versioning the subproject 8 | if(POLICY CMP0048) 9 | cmake_policy(SET CMP0048 NEW) 10 | endif(POLICY CMP0048) 11 | 12 | project(tests 13 | VERSION ${BASYX_PACKAGE_VERSION_MAJOR}.${BASYX_PACKAGE_VERSION_MINOR}.${BASYX_PACKAGE_VERSION_PATCH} 14 | ) 15 | 16 | ### tests::main ### 17 | 18 | add_library(tests_main support/main.cpp) 19 | target_link_libraries(tests_main gtest) 20 | add_library(tests::main ALIAS tests_main) 21 | diagnostics_print(tests_main) 22 | 23 | ### Unit Tests ### 24 | 25 | add_subdirectory(regression/util) 26 | add_subdirectory(regression/vab) 27 | add_subdirectory(regression/submodel) 28 | add_subdirectory(regression/controlcomponent) 29 | 30 | if(${BASYX_MODULE_OPCUA}) 31 | add_subdirectory(regression/opcua) 32 | endif() 33 | 34 | ### Integration tests ### 35 | 36 | if(BASYX_BUILD_INTEGRATION_TESTS) 37 | add_subdirectory(integration) 38 | endif() 39 | 40 | ### Support ### 41 | 42 | add_subdirectory(support) 43 | 44 | -------------------------------------------------------------------------------- /tests/integration/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(cpp_test_connector) 2 | add_subdirectory(cpp_test_server) 3 | -------------------------------------------------------------------------------- /tests/integration/cpp_test_connector/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(cpp_test_connector cpp_test_connector.cpp) 2 | target_link_libraries(cpp_test_connector basyx::shared basyx::log basyx::vab tests::support) 3 | -------------------------------------------------------------------------------- /tests/integration/cpp_test_server/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_executable(cpp_test_server cpp_test_server.cpp) 2 | target_link_libraries(cpp_test_server basyx::shared basyx::log basyx::vab basyx::abstraction basyx::server tests::support) -------------------------------------------------------------------------------- /tests/regression/aas/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### tests_aas ### 3 | ############################################### 4 | 5 | cmake_minimum_required(VERSION 3.1.0) 6 | project(tests_aas) 7 | 8 | #add_executable(tests_aas) 9 | 10 | #target_include_directories(tests_aas PUBLIC ${PROJECT_SOURCE_DIR}) 11 | #target_link_libraries(tests_aas lib::gtest basyx::submodel tests::main) 12 | #gtest_discover_tests(tests_aas) 13 | 14 | #diagnostics_print(tests_aas) 15 | -------------------------------------------------------------------------------- /tests/regression/controlcomponent/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ##################################################### 2 | ### tests_controlcomponent ### 3 | ##################################################### 4 | 5 | cmake_minimum_required(VERSION 3.1.0) 6 | 7 | project(tests_controlcomponent) 8 | 9 | add_executable(${PROJECT_NAME}) 10 | 11 | target_sources(${PROJECT_NAME} 12 | PRIVATE 13 | test_ControlComponent.cpp 14 | ) 15 | 16 | target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR}) 17 | target_link_libraries(${PROJECT_NAME} basyx::util basyx::shared lib::gtest basyx::vab tests::support basyx::controlcomponent tests::main) 18 | gtest_discover_tests(${PROJECT_NAME}) 19 | 20 | diagnostics_print(${PROJECT_NAME}) 21 | -------------------------------------------------------------------------------- /tests/regression/opcua/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### tests_opcua ### 3 | ############################################### 4 | 5 | cmake_minimum_required(VERSION 3.1.0) 6 | project(tests_opcua) 7 | 8 | add_executable(tests_opcua) 9 | 10 | target_sources(tests_opcua 11 | PRIVATE 12 | "OPCUATestSetup.h" 13 | "modelprovider/test_OPCUAModelProvider.cpp" 14 | "modelprovider/test_OPCUALegacyModelVABAccess.cpp" 15 | "modelprovider/test_OPCUAModelProviderTypeMeta.cpp" 16 | "modelprovider/test_AASAggregatorProvider.cpp" 17 | "utilities/test_OPCUAUtilities.cpp" 18 | "utilities/test_OPUAClientServices.cpp" 19 | "utilities/test_ModeProviderUtilities.cpp" 20 | "node/test_AssetAdministrationShellNodeManager.cpp" 21 | "node/test_SubmodelNodeManager.cpp" 22 | "node/test_PropertyNodeManager.cpp" 23 | "api/test_ApiAssetAdminstrationShell.cpp" 24 | "api/test_ApiSubmodel.cpp" 25 | "api/test_ApiProperty.cpp" 26 | ) 27 | 28 | target_link_libraries(tests_opcua basyx::util basyx::shared lib::gtest basyx::vab tests::support BaSyx::AAS tests::main basyx::opcua) 29 | gtest_discover_tests(tests_opcua) 30 | 31 | diagnostics_print(tests_opcua) -------------------------------------------------------------------------------- /tests/regression/opcua/aas/api/AASOperationsMockUp.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #pragma once 12 | 13 | #include 14 | 15 | #include 16 | 17 | namespace basyx { 18 | namespace tests { 19 | namespace opcua { 20 | 21 | class support { 22 | public: 23 | static std::unique_ptr support::buildTestAAS(); 24 | }; 25 | 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /tests/regression/submodel/map/submodelelement/property/test_Property.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | /* 12 | * test_Property.cpp 13 | * 14 | * Author: wendel 15 | */ 16 | 17 | #include 18 | 19 | 20 | class PropertyTest : public ::testing::Test 21 | { 22 | protected: 23 | void SetUp() override 24 | {} 25 | 26 | void TearDown() override 27 | {} 28 | }; 29 | 30 | TEST_F(PropertyTest, TestX) 31 | { 32 | 33 | } 34 | -------------------------------------------------------------------------------- /tests/regression/submodel/map/test_Submodel.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | /* 12 | * test_SubmodelElement.cpp 13 | * 14 | * Author: wendel 15 | */ 16 | 17 | #include 18 | 19 | #include "BaSyx/submodel/map/SubModel.h" 20 | 21 | using namespace basyx::submodel; 22 | 23 | class SubmodelTest : public ::testing::Test 24 | { 25 | protected: 26 | void SetUp() override 27 | {} 28 | }; 29 | 30 | TEST_F(SubmodelTest, TestConstructor) 31 | { 32 | 33 | } 34 | 35 | -------------------------------------------------------------------------------- /tests/regression/submodel/map_v2/identifier/test_Identifier.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #include 12 | 13 | #include "BaSyx/aas/map_v2/dataspecification/DataSpecification.h" 14 | 15 | using namespace basyx::aas::map; 16 | using namespace basyx::aas; 17 | 18 | class IdentifierTest : public ::testing::Test 19 | { 20 | protected: 21 | void SetUp() override 22 | {} 23 | }; 24 | 25 | TEST_F(IdentifierTest, TestEqualityOperator_same) 26 | { 27 | simple::Identifier id1(IdentifierType::IRDI, "id"); 28 | simple::Identifier id2(IdentifierType::IRDI, "id"); 29 | 30 | ASSERT_TRUE(id1 == id2); 31 | } 32 | 33 | 34 | -------------------------------------------------------------------------------- /tests/regression/util/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### tests_util ### 3 | ############################################### 4 | 5 | cmake_minimum_required(VERSION 3.1.0) 6 | project(tests_util) 7 | 8 | add_executable(tests_util) 9 | 10 | target_sources(tests_util 11 | PRIVATE 12 | fundamentals/test_basyx_object.cc 13 | fundamentals/test_basyx_make_function.cc 14 | serialization/test_basyx_object_serializer_json.cc 15 | ) 16 | 17 | target_link_libraries(tests_util basyx::util basyx::shared lib::gtest tests::main) 18 | gtest_discover_tests(tests_util) 19 | 20 | diagnostics_print(tests_util) 21 | -------------------------------------------------------------------------------- /tests/regression/vab/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### tests_vab ### 3 | ############################################### 4 | 5 | cmake_minimum_required(VERSION 3.1.0) 6 | project(tests_vab) 7 | 8 | add_executable(tests_vab) 9 | 10 | target_sources(tests_vab 11 | PRIVATE 12 | core/proxy/test_vab_elementproxy.cpp 13 | provider/basyx/frame/test_BaSyxNativeFrameProcessor.cpp 14 | provider/basyx/frame/test_BaSyxNativeFrame.cpp 15 | provider/basyx/test_BaSyxNative.cpp 16 | provider/test_hashmap.cpp 17 | provider/test_hashmap_collection.cpp 18 | provider/test_hashmap_map.cpp 19 | snippet/MapCreateDelete.h 20 | snippet/MapInvoke.h 21 | snippet/MapRead.h 22 | snippet/MapUpdate.h 23 | snippet/TestCollectionProperty.h 24 | path/test_VABPath.cpp 25 | support/MockupModelProvider.h 26 | ) 27 | 28 | target_include_directories(tests_vab PUBLIC ${PROJECT_SOURCE_DIR}) 29 | target_link_libraries(tests_vab basyx::util basyx::vab basyx::shared lib::gtest tests::support tests::main basyx::server) 30 | #temporarily disabled# gtest_discover_tests(tests_vab) 31 | 32 | diagnostics_print(tests_vab) 33 | -------------------------------------------------------------------------------- /tests/regression/vab/snippet/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### tests::vab::snippet ### 3 | ############################################### 4 | 5 | add_library(tests_vab_snippet) 6 | 7 | target_sources(tests_vab_snippet 8 | PRIVATE 9 | CreateDelete.h 10 | GetPropertyValue.h 11 | ) 12 | 13 | target_include_directories(tests_vab_snippet PUBLIC ${PROJECT_SOURCE_DIR}) 14 | target_link_libraries(tests_vab_snippet basyx::util lib::json) 15 | add_library(tests::vab::snippet ALIAS tests_vab_snippet) 16 | 17 | diagnostics_print(tests_vab_snippet) 18 | -------------------------------------------------------------------------------- /tests/support/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ############################################### 2 | ### tests_support ### 3 | ############################################### 4 | 5 | cmake_minimum_required(VERSION 3.1.0) 6 | project(tests) 7 | 8 | add_library(tests_support) 9 | 10 | target_sources(tests_support 11 | PRIVATE 12 | macros.h 13 | vab/stub/elements/SimpleVABElement.cpp 14 | vab/stub/elements/SimpleVABElement.h 15 | ) 16 | 17 | target_include_directories(tests_support PUBLIC ${PROJECT_SOURCE_DIR}) 18 | target_link_libraries(tests_support basyx::util basyx::vab basyx::shared lib::gtest) 19 | add_library(tests::support ALIAS tests_support) 20 | 21 | diagnostics_print(tests_support) 22 | -------------------------------------------------------------------------------- /tests/support/macros.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef _TESTS_SUPPORT_MACROS_H 12 | #define _TESTS_SUPPORT_MACROS_H 13 | 14 | #define ASSERT_ANY_EQ(a,t) ASSERT_TRUE(a.template InstanceOf()); ASSERT_EQ(t, a.template Get()); 15 | 16 | 17 | #endif /* _TESTS_SUPPORT_MACROS_H */ 18 | 19 | -------------------------------------------------------------------------------- /tests/support/main.cpp: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | 12 | /* ************************************************ 13 | * Run test suite 14 | * ************************************************/ 15 | 16 | #include "gtest/gtest.h" 17 | 18 | int main(int argc, char **argv) { 19 | // Init gtest framework 20 | ::testing::InitGoogleTest(&argc, argv); 21 | 22 | // Run all tests 23 | return RUN_ALL_TESTS(); 24 | } 25 | 26 | -------------------------------------------------------------------------------- /tests/support/vab/stub/elements/SimpleVABElement.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2021 the Eclipse BaSyx Authors 3 | * 4 | * This program and the accompanying materials are made 5 | * available under the terms of the Eclipse Public License 2.0 6 | * which is available at https://www.eclipse.org/legal/epl-2.0/ 7 | * 8 | * SPDX-License-Identifier: EPL-2.0 9 | ******************************************************************************/ 10 | 11 | #ifndef _SIMPLEVABELEMENT_H 12 | #define _SIMPLEVABELEMENT_H 13 | 14 | #include 15 | #include 16 | 17 | #include 18 | 19 | namespace basyx { 20 | namespace tests { 21 | namespace support { 22 | 23 | basyx::object make_simple_vab_element(); 24 | 25 | } 26 | } 27 | } 28 | 29 | #endif /* _SIMPLEVABELEMENT_H */ 30 | --------------------------------------------------------------------------------