This is an automated email from the ASF dual-hosted git repository. cdutz pushed a change to branch develop in repository https://gitbox.apache.org/repos/asf/plc4x.git.
from 2dbaa94 - Removed an obsolete import .... add 36bcc45 [WIP] Currently doesn't work - Rafactored the API into multiple smaller parts - Removed the callbacks again add b1608ce move structure defs into private header add 060fec4 header add 414b0af Merge pull request #142 from ottobackwards/c-api-l add e6b4e59 - Finished refactoring the structure - Tweaked some settings add 1b7a37a c and clion git ignore add 8d9e0a8 Merge pull request #144 from ottobackwards/c-api-git-ignore add f3d8d12 - Refactored the API to use a promise-like concept - Started writing a document with the design guidelines add 2b8a221 - Removed the "_types" part from the promise related functions add 62f8d1b - Added some more comments add eee4130 - Introduced a plc4c directory layer in the includes add 87bc403 - Refactored the directory structure to eliminate a lot of the intermediate directories add 210810f - Changed the structure again. add 3243cc7 - Added a "simulated" driver - Added a plc4c_system_add_driver to the "system" domain - Extended the hello_world.c to instantiate the "simulated" driver and register that at the "system". add 35e7047 flatten includes, remove addr sample, use <> includes add 220f1e8 Merge pull request #145 from ottobackwards/c-api-2 add 46a526d - Added some super rudimentary API support for reading and writing add c0da8ba - Added some super rudimentary API support for reading and writing add 8449ef3 - Added the write-request functions - Added comments add d4dc98d - Started implementing the core SPI logic - Implemented a connection string parser including testsuite - Implemented the functionality for searching for a matching driver add f897695 - Enabled the transport modules - Added some more initialization to the s7 and modbus drivers - removed the "const" from the connection string (Gotta add that back wherever it makes sense as soon as I understand it's implications) add 4e81b58 - Added a "dummy" transport - Finished the system logic for the creation of connections add 78d5bd0 - Implemented the "connect" logic for the simulated driver - Implemented the system_loop logic to execute system tasks and correctly clean up the task list add 32727cb - Continued working on the read support ... add 7cd7ddf - Continued working on the read support ... - Implemented connect and disconnect via system-task add aad001e - Got a first working version of the read-functionality working. add 7c25fdf - Added some more comments and TODOs add b59c354 since we have snazzy lists, we should not pass around count ,XXX *[] add 4b35a45 add note add 3d38da9 add in plumbing for deleting read response. deliberately mixed the words free / destroy, so we can talk about terminology add ee7be49 Merge pull request #146 from ottobackwards/c-api-m4-feedback add 332f40c add plc4c_data type add 265a311 - Implemented the write support add 1cf2b62 - renamed the type "return_code" to "plc4c_return_code" - Added the text-strings for the return_code to string conversion add e4eb2bc - Made the read operations also have a response-code for every item. add 0f35c35 Merge branch 'feature/c-api' into plc4c_data add 26edc06 Merge pull request #147 from ottobackwards/plc4c_data add f6d84fb integrate writes with plc_data add de8ad18 Merge pull request #149 from ottobackwards/c-api-m5-cleanup add fac22cf - Fully applied the google clang-format formatting as a basis for discussions add 1249ad7 - Added rat exclusions to exclude the CLion working directories from the rat-check add f3abb7f - Added pointers from system-task to connection - Added a num_running_system_tasks to the connection to keep track of the active system tasks - Made the system auto decrement the num_running_system_tasks of a connection add 8201450 - Made the drivers check the number of active system-tasks when disconnecting - Cleaned up the way the system-tasks are created - Ensured all properties of malloced structures are initialized add ab0b32d complex object members should not leak to external entities, add apis to plc4_connection and plc4c_system to start add 096d542 Merge pull request #150 from ottobackwards/c-api-m6 add ed057e6 - Reformatted the code according to the google c style add 8eb6d89 - Streamilned the order and naming of the functions defined in the API module add 0b30b98 - Renamed some getters and setters to follow the remaining add 2d8a6ca add CODE_CONVENTIONS add 7d0f92d Merge pull request #151 from ottobackwards/c-api-m7 add 02dc095 - Added some more content to the CODE_CONVENTIONS.md add 7a6e0a1 more api _t access work add 7067860 Merge pull request #152 from ottobackwards/c-api-m10 add 470d751 - First draft of a subscription API add e8603ae - Refactored the API to a more "add_item" style API add d1f2d8c - Some cleanup add 6789205 Merge pull request #153 from apache/feature/c-api-subscriptions add c2a58a0 - Continued working on the subscription API add 43b2ba1 Merge branches 'develop' and 'feature/c-api' of https://gitbox.apache.org/repos/asf/plc4x into feature/c-api new d87eeb8 - Added some missing Apache Headers The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: sandbox/plc4c/.clang-format | 186 +++++++ sandbox/plc4c/.gitignore | 145 ++++++ sandbox/plc4c/CMakeLists.txt | 54 +- sandbox/plc4c/CODE_CONVENTIONS.md | 43 ++ .../plc4c/README.md | 24 +- sandbox/plc4c/api/CMakeLists.txt | 9 +- sandbox/plc4c/api/include/plc4c/connection.h | 313 +++++++++++ sandbox/plc4c/api/include/plc4c/data.h | 154 ++++++ .../plc4c/api/include/plc4c/plc4c.h | 21 +- sandbox/plc4c/api/include/plc4c/read.h | 114 ++++ sandbox/plc4c/api/include/plc4c/subscribe.h | 259 +++++++++ sandbox/plc4c/api/include/plc4c/system.h | 278 ++++++++++ sandbox/plc4c/api/include/plc4c/types.h | 197 +++++++ sandbox/plc4c/api/include/plc4c/utils/list.h | 81 +++ sandbox/plc4c/api/include/plc4c/utils/queue.h | 60 +++ sandbox/plc4c/api/include/plc4c/write.h | 115 ++++ sandbox/plc4c/api/src/main/c/Adder.c | 25 - sandbox/plc4c/api/src/main/include/Adder.h | 25 - sandbox/plc4c/api/src/main/include/plc4c.h | 280 ---------- sandbox/plc4c/api/src/test/c/AdderTest.c | 40 -- sandbox/plc4c/design-guidelines.adoc | 53 +- sandbox/plc4c/drivers/CMakeLists.txt | 1 + sandbox/plc4c/drivers/modbus/CMakeLists.txt | 9 +- .../drivers/modbus/include/plc4c/driver_modbus.h | 14 +- .../drivers/modbus/src/driver_modbus.c} | 28 +- sandbox/plc4c/drivers/modbus/src/main/c/Test.c | 19 - sandbox/plc4c/drivers/s7/CMakeLists.txt | 9 +- .../plc4c/drivers/s7/include/plc4c/driver_s7.h | 14 +- .../drivers/s7/src/driver_s7.c} | 28 +- sandbox/plc4c/drivers/s7/src/main/c/Test.c | 19 - sandbox/plc4c/drivers/s7/src/main/include/Test.h | 19 - .../{spi => drivers/simulated}/CMakeLists.txt | 11 +- .../simulated/include/plc4c/driver_simulated.h | 14 +- .../plc4c/drivers/simulated/src/driver_simulated.c | 424 +++++++++++++++ sandbox/plc4c/examples/CMakeLists.txt | 1 + .../CMakeLists.txt | 11 +- .../hello-subsciptions/src/hello_subscriptions.c | 285 ++++++++++ sandbox/plc4c/examples/hello-world/CMakeLists.txt | 11 +- .../plc4c/examples/hello-world/src/hello_world.c | 337 ++++++++++++ .../examples/hello-world/src/main/c/hello_world.c | 71 --- .../integrations/apache-mynewt/CMakeLists.txt | 2 +- sandbox/plc4c/pom.xml | 577 +++++++++++---------- sandbox/plc4c/spi/CMakeLists.txt | 18 +- .../plc4c/spi/include/plc4c/spi/system_private.h | 19 +- .../plc4c/spi/include/plc4c/spi/types_private.h | 301 +++++++++++ sandbox/plc4c/spi/src/connection.c | 277 ++++++++++ sandbox/plc4c/spi/src/data.c | 183 +++++++ sandbox/plc4c/spi/src/main/c/plc4c.c | 100 ---- sandbox/plc4c/spi/src/main/c/plc4c_private_types.c | 40 -- sandbox/plc4c/spi/src/read.c | 108 ++++ sandbox/plc4c/spi/src/subscribe.c | 344 ++++++++++++ sandbox/plc4c/spi/src/system.c | 483 +++++++++++++++++ sandbox/plc4c/spi/src/types.c | 147 ++++++ sandbox/plc4c/spi/src/utils/list.c | 189 +++++++ sandbox/plc4c/spi/src/utils/queue.c | 73 +++ sandbox/plc4c/spi/src/write.c | 116 +++++ sandbox/plc4c/spi/test/system_test.c | 93 ++++ sandbox/plc4c/transports/CMakeLists.txt | 1 + .../plc4c/{spi => transports/dummy}/CMakeLists.txt | 11 +- .../dummy/include/plc4c/transport_dummy.h | 14 +- .../plc4c/transports/dummy/src/transport_dummy.c | 17 +- sandbox/plc4c/transports/serial/CMakeLists.txt | 10 +- .../serial/include/plc4c/transport_serial.h | 14 +- .../plc4c/transports/serial/src/transport_serial.c | 17 +- sandbox/plc4c/transports/tcp/CMakeLists.txt | 10 +- .../transports/tcp/include/plc4c/transport_tcp.h | 14 +- .../Test.h => transports/tcp/src/transport_tcp.c} | 10 + 67 files changed, 5910 insertions(+), 1079 deletions(-) create mode 100644 sandbox/plc4c/.clang-format create mode 100644 sandbox/plc4c/.gitignore create mode 100644 sandbox/plc4c/CODE_CONVENTIONS.md copy Sometimes-Failling-Tests.md => sandbox/plc4c/README.md (51%) create mode 100644 sandbox/plc4c/api/include/plc4c/connection.h create mode 100644 sandbox/plc4c/api/include/plc4c/data.h copy plc4j/spi/src/main/java/org/apache/plc4x/java/spi/request/PlcRequest.java => sandbox/plc4c/api/include/plc4c/plc4c.h (68%) create mode 100644 sandbox/plc4c/api/include/plc4c/read.h create mode 100644 sandbox/plc4c/api/include/plc4c/subscribe.h create mode 100644 sandbox/plc4c/api/include/plc4c/system.h create mode 100644 sandbox/plc4c/api/include/plc4c/types.h create mode 100644 sandbox/plc4c/api/include/plc4c/utils/list.h create mode 100644 sandbox/plc4c/api/include/plc4c/utils/queue.h create mode 100644 sandbox/plc4c/api/include/plc4c/write.h delete mode 100644 sandbox/plc4c/api/src/main/c/Adder.c delete mode 100644 sandbox/plc4c/api/src/main/include/Adder.h delete mode 100644 sandbox/plc4c/api/src/main/include/plc4c.h delete mode 100644 sandbox/plc4c/api/src/test/c/AdderTest.c copy plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java => sandbox/plc4c/drivers/modbus/include/plc4c/driver_modbus.h (78%) copy sandbox/{test-java-amsads-driver/src/test/java/org/apache/plc4x/protocol/amsads/AmsAdsSerializerParserTest.java => plc4c/drivers/modbus/src/driver_modbus.c} (50%) delete mode 100644 sandbox/plc4c/drivers/modbus/src/main/c/Test.c copy plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java => sandbox/plc4c/drivers/s7/include/plc4c/driver_s7.h (79%) copy sandbox/{test-java-amsads-driver/src/test/java/org/apache/plc4x/protocol/amsads/AmsAdsSerializerParserTest.java => plc4c/drivers/s7/src/driver_s7.c} (50%) delete mode 100644 sandbox/plc4c/drivers/s7/src/main/c/Test.c delete mode 100644 sandbox/plc4c/drivers/s7/src/main/include/Test.h copy sandbox/plc4c/{spi => drivers/simulated}/CMakeLists.txt (77%) copy plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java => sandbox/plc4c/drivers/simulated/include/plc4c/driver_simulated.h (78%) create mode 100644 sandbox/plc4c/drivers/simulated/src/driver_simulated.c copy sandbox/plc4c/examples/{hello-world => hello-subsciptions}/CMakeLists.txt (69%) create mode 100644 sandbox/plc4c/examples/hello-subsciptions/src/hello_subscriptions.c create mode 100644 sandbox/plc4c/examples/hello-world/src/hello_world.c delete mode 100644 sandbox/plc4c/examples/hello-world/src/main/c/hello_world.c copy plc4j/tools/scraper/src/main/java/org/apache/plc4x/java/scraper/triggeredscraper/TriggeredScraperMBean.java => sandbox/plc4c/spi/include/plc4c/spi/system_private.h (74%) create mode 100644 sandbox/plc4c/spi/include/plc4c/spi/types_private.h create mode 100644 sandbox/plc4c/spi/src/connection.c create mode 100644 sandbox/plc4c/spi/src/data.c delete mode 100644 sandbox/plc4c/spi/src/main/c/plc4c.c delete mode 100644 sandbox/plc4c/spi/src/main/c/plc4c_private_types.c create mode 100644 sandbox/plc4c/spi/src/read.c create mode 100644 sandbox/plc4c/spi/src/subscribe.c create mode 100644 sandbox/plc4c/spi/src/system.c create mode 100644 sandbox/plc4c/spi/src/types.c create mode 100644 sandbox/plc4c/spi/src/utils/list.c create mode 100644 sandbox/plc4c/spi/src/utils/queue.c create mode 100644 sandbox/plc4c/spi/src/write.c create mode 100644 sandbox/plc4c/spi/test/system_test.c copy sandbox/plc4c/{spi => transports/dummy}/CMakeLists.txt (77%) copy plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java => sandbox/plc4c/transports/dummy/include/plc4c/transport_dummy.h (77%) copy plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/KNXNetIpTest.java => sandbox/plc4c/transports/dummy/src/transport_dummy.c (73%) copy plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java => sandbox/plc4c/transports/serial/include/plc4c/transport_serial.h (76%) copy plc4j/drivers/knxnetip/src/test/java/org/apache/plc4x/java/knxnetip/KNXNetIpTest.java => sandbox/plc4c/transports/serial/src/transport_serial.c (73%) copy plc4j/api/src/main/java/org/apache/plc4x/java/api/messages/PlcUnsubscriptionResponse.java => sandbox/plc4c/transports/tcp/include/plc4c/transport_tcp.h (77%) rename sandbox/plc4c/{drivers/modbus/src/main/include/Test.h => transports/tcp/src/transport_tcp.c} (73%)