This is an automated email from the ASF dual-hosted git repository. xuzhenbao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/celix.git
commit 553e2f6a609f2dd79e3cf43f2da7d35f1c678b15 Merge: db148071b 295f71afe Author: xuzhenbao <43104033+xuzhen...@users.noreply.github.com> AuthorDate: Mon Jan 6 10:22:42 2025 +0800 Merge pull request #773 from xuzhenbao/remote_event_admin Add event admin remote provider based on mqtt bundles/event_admin/CMakeLists.txt | 2 + bundles/event_admin/README.md | 3 +- bundles/event_admin/event_admin/CMakeLists.txt | 1 + bundles/event_admin/event_admin/README.md | 18 +- .../diagrams/remote_event_delivery_seq.png | Bin 0 -> 30137 bytes .../diagrams/remote_event_delivery_seq.puml | 39 + ...ixEventAdminActivatorErrorInjectionTestSuite.cc | 30 +- .../src/CelixEventAdminErrorInjectionTestSuite.cc | 151 ++ .../gtest/src/CelixEventAdminTestSuite.cc | 295 +++- .../gtest/src/CelixEventAdminTestSuiteBaseClass.h | 19 +- .../event_admin/src/celix_event_admin.c | 212 ++- .../event_admin/src/celix_event_admin.h | 3 + .../event_admin/src/celix_event_admin_activator.c | 22 + .../include/celix_event_admin_service.h | 2 +- .../include/celix_event_constants.h | 46 + .../include/celix_event_handler_service.h | 2 +- .../event_admin/event_admin_spi}/CMakeLists.txt | 29 +- .../include/celix_event_remote_provider_service.h} | 28 +- bundles/event_admin/examples/CMakeLists.txt | 31 + .../src/celix_example_event_publisher_activator.c | 17 + .../res/mosquitto.conf} | 13 +- .../{ => remote_provider}/CMakeLists.txt | 8 +- bundles/event_admin/remote_provider/README.md | 39 + .../event_admin_remote_provider_component.png | Bin 0 -> 28352 bytes .../event_admin_remote_provider_component.puml | 49 + .../remote_provider_mqtt/CMakeLists.txt | 72 + .../remote_provider/remote_provider_mqtt/README.md | 127 ++ .../diagrams/mqtt_broker_discovery.png | Bin 0 -> 42879 bytes .../diagrams/mqtt_broker_discovery.puml | 49 + .../diagrams/publish_event_seq.png | Bin 0 -> 72618 bytes .../diagrams/publish_event_seq.puml | 60 + .../diagrams/reconnect_seq.png | Bin 0 -> 24048 bytes .../diagrams/reconnect_seq.puml | 38 + .../diagrams/remote_provider_mqtt_component.png | Bin 0 -> 39926 bytes .../diagrams/remote_provider_mqtt_component.puml | 64 + .../diagrams/subscribe_event_seq.png | Bin 0 -> 18204 bytes .../diagrams/subscribe_event_seq.puml | 30 + .../remote_provider_mqtt/gtest/CMakeLists.txt | 104 ++ .../remote_provider_mqtt/gtest/res/mosquitto.conf} | 11 +- .../gtest/res/mosquitto_bind_all_if.conf} | 11 +- .../gtest/res/mosquitto_bind_host.conf} | 11 +- .../gtest/res/mosquitto_bind_host_and_if.conf} | 12 +- .../gtest/res/mosquitto_bind_if.conf} | 12 +- .../gtest/res/mosquitto_bind_if_val_lost.conf} | 12 +- .../gtest/res/mosquitto_bind_unix_socket.conf} | 11 +- .../gtest/res/mosquitto_invalid_listener.conf} | 19 +- .../gtest/res/mosquitto_ipv4.conf} | 13 +- .../gtest/res/mosquitto_ipv6.conf} | 13 +- .../gtest/res/mosquitto_multi_listener.conf} | 17 +- .../res/mosquitto_socket_domain_val_lost.conf} | 13 +- .../gtest/res/mosquitto_start_with_space.conf} | 10 +- .../CelixEarpmActivatorErrorInjectionTestSuite.cc | 252 ++++ .../gtest/src/CelixEarpmActivatorTestSuite.cc | 50 + ...xEarpmBrokerDiscoveryErrorInjectionTestSuite.cc | 282 ++++ .../src/CelixEarpmBrokerDiscoveryTestSuite.cc | 317 +++++ .../src/CelixEarpmClientErrorInjectionTestSuite.cc | 749 ++++++++++ .../gtest/src/CelixEarpmClientTestSuite.cc | 915 ++++++++++++ .../gtest/src/CelixEarpmClientTestSuiteBaseClass.h | 228 +++ ...ixEarpmEventDelivererErrorInjectionTestSuite.cc | 123 ++ .../gtest/src/CelixEarpmEventDelivererTestSuite.cc | 303 ++++ .../src/CelixEarpmImplErrorInjectionTestSuite.cc | 1080 ++++++++++++++ .../gtest/src/CelixEarpmImplTestSuite.cc | 1031 ++++++++++++++ .../gtest/src/CelixEarpmImplTestSuiteBaseClass.h | 280 ++++ .../gtest/src/CelixEarpmIntegrationTestSuite.cc | 158 +++ .../gtest/src/CelixEarpmTestSuiteBaseClass.h | 100 ++ .../src/celix_earpm_activator.c | 203 +++ .../src/celix_earpm_broker_discovery.c | 461 ++++++ .../src/celix_earpm_broker_discovery.h | 51 + .../remote_provider_mqtt/src/celix_earpm_client.c | 1249 +++++++++++++++++ .../remote_provider_mqtt/src/celix_earpm_client.h | 104 ++ .../src/celix_earpm_constants.h | 105 ++ .../src/celix_earpm_event_deliverer.c | 265 ++++ .../src/celix_earpm_event_deliverer.h | 53 + .../remote_provider_mqtt/src/celix_earpm_impl.c | 1477 ++++++++++++++++++++ .../remote_provider_mqtt/src/celix_earpm_impl.h | 60 + .../src/celix_earpm_mosquitto_cleanup.h | 29 +- .../gtest/src/DiscoveryZeroconfWatcherTestSuite.cc | 111 ++ .../src/discovery_zeroconf_watcher.c | 169 ++- cmake/CelixDeps.cmake.in | 2 + conanfile.py | 32 +- examples/conan_test_package/CMakeLists.txt | 12 + examples/conan_test_package/conanfile.py | 5 + .../conan_test_package/test_event_admin_spi.c | 32 +- examples/conan_test_package_v2/conanfile.py | 5 + libs/error_injector/CMakeLists.txt | 5 + libs/error_injector/jansson/CMakeLists.txt | 1 + libs/error_injector/jansson/include/jansson_ei.h | 1 + libs/error_injector/jansson/src/jansson_ei.cc | 11 + libs/error_injector/mosquitto/CMakeLists.txt | 41 + .../mosquitto/include/mosquitto_ei.h} | 34 +- libs/error_injector/mosquitto/src/mosquitto_ei.cc | 121 ++ .../src/celix_dm_component_ei.cc | 3 +- libs/utils/error_injector/CMakeLists.txt | 1 + .../error_injector/celix_array_list/CMakeLists.txt | 1 + .../celix_array_list/include/celix_array_list_ei.h | 2 + .../celix_array_list/src/celix_array_list_ei.cc | 7 + .../error_injector/celix_filter}/CMakeLists.txt | 14 +- .../include/celix_filter_ei.h} | 21 +- .../src/celix_filter_ei.cc} | 29 +- .../error_injector/celix_properties/CMakeLists.txt | 4 + .../celix_properties/include/celix_properties_ei.h | 5 +- .../celix_properties/src/celix_properties_ei.cc | 28 + .../error_injector/celix_threads/CMakeLists.txt | 1 + .../celix_threads/include/celix_threads_ei.h | 1 + .../celix_threads/src/celix_threads_ei.cc | 7 + 105 files changed, 12045 insertions(+), 354 deletions(-)