From f767d97100da4a40e8b62ee10133e470c5684c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20=C3=85kesson?= <66364872+pataxis@users.noreply.github.com> Date: Wed, 8 May 2024 09:45:43 +0200 Subject: [PATCH 1/7] lint: Add override of textlint term (#283) * lint: Add override of textlint term * super-linter: Step up instructions to v5 and use env file * super-linter: Skip running on API source files * super-linter: Run linter on all codebase always * CODE_OF_CONDUCT: Fix lint error --- .github/super-linter.env | 8 ++++++ .github/workflows/lint.yml | 12 ++++---- .textlintrc | 15 ++++++++++ CODE_OF_CONDUCT.md | 4 +-- CONTRIBUTING.md | 39 ++++++++++++++++++++------ docs/develop/manifest-schemas/index.md | 2 +- 6 files changed, 62 insertions(+), 18 deletions(-) create mode 100644 .github/super-linter.env create mode 100644 .textlintrc diff --git a/.github/super-linter.env b/.github/super-linter.env new file mode 100644 index 0000000..662db50 --- /dev/null +++ b/.github/super-linter.env @@ -0,0 +1,8 @@ +VALIDATE_ALL_CODEBASE=true +IGNORE_GITIGNORED_FILES=true +LINTER_RULES_PATH=/ +FILTER_REGEX_EXCLUDE=docs/develop/manifest-schemas/schema-field-descriptions-v\d+(\.\d){1,2}(-[a-z0-9]*)*.md|docs/api/src/.*|3\.[45]/.*|docs/acap-sdk-version-3/api/src/.* +MARKDOWN_CONFIG_FILE=.markdownlint.yml +NATURAL_LANGUAGE_CONFIG_FILE=.textlintrc +VALIDATE_MARKDOWN=true +VALIDATE_NATURAL_LANGUAGE=true diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 16284b1..574ee96 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,7 +9,8 @@ jobs: run-linters: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout Code + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Check that no private Docker Hub URLs are used @@ -27,12 +28,9 @@ jobs: ret=1 } exit $ret - - uses: github/super-linter/slim@v5 + - run: cat .github/super-linter.env >> "$GITHUB_ENV" + - name: Lint Code Base + uses: super-linter/super-linter/slim@v5 env: DEFAULT_BRANCH: main GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - LINTER_RULES_PATH: / - FILTER_REGEX_EXCLUDE: docs/develop/manifest-schemas/schema-field-descriptions-v\d+(\.\d){1,2}(-[a-z0-9]*)*.md - VALIDATE_MARKDOWN: true - MARKDOWN_CONFIG_FILE: .markdownlint.yml - VALIDATE_NATURAL_LANGUAGE: true diff --git a/.textlintrc b/.textlintrc new file mode 100644 index 0000000..51ea5b4 --- /dev/null +++ b/.textlintrc @@ -0,0 +1,15 @@ +{ + "filters": { + "comments": true + }, + "rules": { + "terminology": { + "defaultTerms": true, + "exclude": ["bug[- ]fix(es)?", "bugfix$1"], + "terms": [ + ["bug[-]fix(es)?", "bug fix$1"], + ["bugfix(es)?", "bug fix$1"] + ], + }, + } +} \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 061181c..3eea82c 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -47,7 +47,7 @@ threatening, offensive, or harmful. This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail +representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. @@ -55,7 +55,7 @@ further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at oss-conduct@axis.com. All +reported by contacting the project team at . All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6361405..8c85c96 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,9 +80,27 @@ In order to fasten up development, it's possible to run linters as part of your #### Run super-linter locally -Since super-linter is using a Docker image in GitHub Actions, users of other editors may run it locally to lint the codebase. For complete instructions and guidance, see super-linter page for [running locally](https://github.com/github/super-linter/blob/main/docs/run-linter-locally.md). +Since super-linter is using a Docker image in GitHub Actions, users of other editors may run it locally to lint the codebase. For complete instructions and guidance, see super-linter page for [running locally](https://github.com/super-linter/super-linter/blob/main/docs/run-linter-locally.md). -To run a number of linters on the codebase from command-line: +To run all linters on the codebase from command-line, the same that would run +when a Pull Request is opened, use command: + +```sh +docker run --rm \ + -v $PWD:/tmp/lint \ + -e RUN_LOCAL=true \ + --env-file ".github/super-linter.env" \ + ghcr.io/super-linter/super-linter:slim-v5 +``` + +For more details which linters that run and the settings, see the file +`.github/super-linter.env`. + +To only test one specific linter, e.g. lint Markdown, see the variable name in +`.github/super-linter.env` that in this case is `VALIDATE_MARKDOWN=true`. Note +that you also need to specify the linter configuration file if there is one. +In this case `MARKDOWN_CONFIG_FILE=.markdownlint` together with the location +via `LINTER_RULES_PATH=/`. Then run the single linter with this command: ```sh docker run --rm \ @@ -92,27 +110,30 @@ docker run --rm \ -e FILTER_REGEX_EXCLUDE='docs/develop/manifest-schemas/schema-field-descriptions-v*' \ -e VALIDATE_MARKDOWN=true \ -e MARKDOWN_CONFIG_FILE=.markdownlint.yml \ - -e VALIDATE_NATURAL_LANGUAGE=true \ - github/super-linter:slim-v4 + ghcr.io/super-linter/super-linter:slim-v5 ``` ##### Run super-linter interactively -It might be more convenient to run super-linter interactively. Run container and enter command-line: +It might be more convenient to run super-linter interactively. Run the container +with your user to not change ownership of files. ```sh docker run --rm \ + -u $(id -u):$(id -g) \ + -e USER \ -v $PWD:/tmp/lint \ -w /tmp/lint \ --entrypoint /bin/bash \ - -it github/super-linter:slim-v4 + -it ghcr.io/super-linter/super-linter:slim-v5 ``` -Then from the container terminal, the following commands can lint the codebase for different file types: +Then from the container terminal, the following commands can lint the codebase +for different file types: ```sh # Lint Markdown files -markdownlint -i docs/develop/schema-field-descriptions-v\* . +markdownlint -i docs/release-notes/\* . ``` ## Open a pull request @@ -261,12 +282,14 @@ language in [pygments.org](https://pygments.org/docs/lexers/) and use the **Some common languages short names:** + - bash, sh - make - dockerfile - json - c - html + ### Change of layout diff --git a/docs/develop/manifest-schemas/index.md b/docs/develop/manifest-schemas/index.md index 2ad6472..240c10a 100644 --- a/docs/develop/manifest-schemas/index.md +++ b/docs/develop/manifest-schemas/index.md @@ -29,7 +29,7 @@ Mapping table for manifest schema, AXIS OS and ACAP Native SDK version. | 1.1 | 10.7 | 1.0 | Additional fields, mainly for technical reasons | | 1.2 | 10.7 | 1.0 | Enables uninstall functionality which is required by e.g. docker-compose-acap | | 1.3 | 10.9 | 1.1 | Architecture will be automatically generated and added to manifest at packaging step | -| 1.3.1 | 11.0 | 1.4 | Bugfixes; Allow `=` in `runOptions` and `maxLength` of `appName` should be 26 | +| 1.3.1 | 11.0 | 1.4 | Bug fixes; Allow `=` in `runOptions` and `maxLength` of `appName` should be 26 | | 1.4.0 | 11.7 | 1.11 | Allow new characters `( ) , . ! ? & '` for `vendor` field | | 1.5.0 | 11.8 | 1.12 | - Add support for reverse proxy configuration.
- Add access policy for ACAP application web content.
- Allow `-` character in secondary groups of `linux` resources.
- Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to end with `.*` to match all methods of a D-Bus interface. | | 1.6.0 | 11.9 | 1.13 | - Add support for characters `$` and `\` in `apiPath` of the reverse proxy configuration.
- Add optional field `$schema` that can point out a manifest schema to use for manifest validation and auto-completion.
- Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to contain `-`. | From acbfed5132ef82b9818c4e8d91f6c511bb1dc727 Mon Sep 17 00:00:00 2001 From: Sriram Bhetanabottla Date: Wed, 8 May 2024 09:56:43 +0200 Subject: [PATCH 2/7] Update for curl, OpenSSL and Jansson opensource libraries (#273) --- docs/api/native-sdk-api.md | 522 ++++++++++++++++++++++--------------- 1 file changed, 312 insertions(+), 210 deletions(-) diff --git a/docs/api/native-sdk-api.md b/docs/api/native-sdk-api.md index 795eb7b..fa589ef 100644 --- a/docs/api/native-sdk-api.md +++ b/docs/api/native-sdk-api.md @@ -10,48 +10,97 @@ nav_order: 1 The ACAP Native SDK provides the following APIs: -- [Video capture API (VDO)](#video-capture-api-vdo) -- [Machine learning API (Larod)](#machine-learning-api-larod) -- [Overlay API](#overlay-api) -- [Cairo](#cairo) -- [OpenCL](#opencl) -- [Parameter API](#parameter-api) -- [Event API](#event-api) -- [Edge storage API](#edge-storage-api) -- [License Key API](#license-key-api) -- [FastCGI](#fastcgi) -- [Serial port API](#serial-port-api) -- [Metadata Broker API](#metadata-broker-api) BETA +- [Axis APIs](#axis-apis) + - [Edge storage API](#edge-storage-api) + - [Event API](#event-api) + - [License Key API](#license-key-api) + - [Machine learning API (Larod)](#machine-learning-api-larod) + - [Metadata Broker API](#metadata-broker-api) BETA + - [Overlay API](#overlay-api) + - [Parameter API](#parameter-api) + - [Serial port API](#serial-port-api) + - [Video capture API (VDO)](#video-capture-api-vdo) +- [Open Source APIs](#open-source-apis) + - [Cairo](#cairo) + - [Curl](#curl) + - [FastCGI](#fastcgi) + - [Jansson](#jansson) + - [OpenCL](#opencl) + - [OpenSSL](#openssl) +- [Supplementary APIs](#supplementary-apis) + - [VAPIX access for ACAP](#vapix-access-for-acap) ## Compatibility To find compatibility between ACAP Native SDK and AXIS OS version, refer to [Find the right SDK for software compatibility](../axis-devices-and-compatibility/#find-the-right-sdk-for-software-compatibility). -## Video capture API (VDO) +## Axis APIs -Go to the [ACAP API Documentation](src/api/vdostream/html/index.html) for detailed functional descriptions of this API. +### Edge storage API -The VdoStream API provides: +Go to the [ACAP API Documentation](src/api/axstorage/html/index.html) for detailed functional descriptions of this API. -- video and image stream -- video and image capture -- video and image configuration +The Edge storage API allows the application to save and retrieve data on mounted storage devices such as SD cards and NAS (Network Attached Storage) units. An application can only modify its own files on the storage device. +An application can both send and receive events. -## Available video compression formats through VDO +#### Compatibility -The table below shows available subformats for corresponding YUV format. +The API is supported on products with the following chips: -Sub Formats | Corresponding format ------------ | ------------------------------- -nv12 | YUV -y800 | YUV +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- i.MX 6SoloX +- i.MX 6ULL -An application to start a vdo stream can be found at [vdostream](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdostream/), where the first argument is a string describing the video compression format. It takes `h264` (default), `h265`, `jpeg`, `nv12`, and `y800` as inputs. Both `nv12` and `y800` correspond to YUV format of VDO. +#### Version history + +The Edge storage API was introduced in Native SDK 1.11. + +#### Code Examples + +- [axstorage](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axstorage) + - This application demonstrates the usage of axstorage APIs, offering the following functionality: + - List configured storage devices. + - Subscribe to events from all storage devices. + - Set up and utilize all available/mounted storage devices. + - Continuously write data to two files on all available storage devices. + - Automatically release any unmounted storage devices. + +### Event API + +Go to the [ACAP API Documentation](src/api/axevent/html/index.html) for detailed functional descriptions of this API. -### Compatibility +The Axevent API provides: -The API supports products with the following chips: +- an interface to the event system found in Axis products. +- applications with a mechanism for sending and receiving events. + +An application can both send and receive events. + +#### Event types + +**Stateless (Pulse)** – An event that indicates that something has occurred. Typically used to trigger some action rule. + +**Stateful (State)** – An event with an active and inactive state. Typically used in action rules like “record while active”. + +**Data (Application Data)** – An event that includes data that needs to be processed by the consuming application such as transaction data, license plate or other dynamic data. A data event is normally not used to trigger generic action rules. + +#### Supported namespaces + +When declaring events it is required to set a namespace. Following are the supported namespaces: + +**tnsaxis** – Axis namespace to use with Axis events + +**tns1** – ONVIF namespace to use with ONVIF events + +#### Compatibility + +The API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 @@ -59,53 +108,61 @@ The API supports products with the following chips: - Ambarella CV25 - Ambarella S5L - Ambarella S5 +- i.MX 6SoloX +- i.MX 6ULL -#### Compatibility limitations +#### Version history -- **Global rotation** - All platforms except ARTPEC-6 support global image source rotation, this feature is designed to utilize the hardware more efficiently. When designing applications for multiple platforms this needs to be taken into consideration. The Video capture API on ARTPEC-6 allows specifying the desired rotation per stream in contrast to other chips where this is a global option chosen at camera installation time and any attempt to specify capture rotation will be ignored. +The Axevent API was introduced in Native SDK 1.0. -### Version history +#### Code Examples -The Video capture API was introduced in Native SDK 1.0. +- [send_event](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axevent/send_event) + - The example code is written in C which sends an ONVIF event periodically. +- [subscribe_to_event](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axevent/subscribe_to_event) + - The example code is written in C which subscribe to the ONVIF event sent from application "send_event". +- [subscribe_to_events](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axevent/subscribe_to_events) + - The example code is written in C which subscribes to different predefined events. -AXIS OS version | VdoStream API version | New functions added --- | -- | -- -10.7 | 6.13.0 | `vdo_frame_take_chunk` -10.8 | 6.24.1 | `vdo_zipstream_profile_get_type`, `vdo_frame_set_header_size` -10.9 | 6.34.16 | `vdo_stream_get_event`,`vdo_stream_get_event_fd`, `vdo_map_swap` -10.10 | 7.5.22 | `vdo_frame_take_chunk`, `vdo_frame_take_chunk_ex`, `vdo_stream_play` -10.11 | 7.19.2 | - -10.12 | 8.0.15 | `vdo_map_get_pair32i`, `vdo_map_get_pair32u`, `vdo_map_set_pair32i`, `vdo_map_set_pair32u` -11.0 | 9.0.4 | - -11.1 | 9.8.16 | - -11.2 | 9.18.0 | - -11.3 | 9.32.0 | - -11.4 | 9.41.16 | `vdo_channel_get_ex` -11.5 | 9.59.0 | - -11.6 | 9.78.12 | `vdo_stream_set_gop_length`, `vdo_error_is_resource_limitation` +### License Key API -### Known issues +Go to the [ACAP API Documentation](src/api/licensekey/html/index.html) for detailed functional descriptions of this API. -- A memory leak in VDO was found in firmware versions from 10.10 for Artpec chips, later fixed in 10.11.65. The issue affects function `vdo_buffer_get_data`. +Use the License Key API to validate an application license key. -### Code Examples +A license key is a signed file, generated for a specific device ID and application ID. The ACAP Service Portal maintains both license keys and application IDs. -- [vdostream](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdostream/) - - The example code is written in C which starts a vdo stream and then illustrates how to continuously capture frames from the vdo service, access the received buffer contents as well as the frame metadata. -- [vdo-larod](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-larod/) - - The example code is written in C and loads an image classification model to the [Machine learning API (Larod)](#machine-learning-api-larod) and then uses the [Video capture API (VDO)](#video-capture-api-vdo) to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL. -- [vdo-opencl-filtering](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-opencl-filtering/) - - This example illustrates how to capture frames from the vdo service, access the received buffer, and finally perform a GPU accelerated Sobel filtering with OpenCL. +#### Compatibility + +The API is supported on products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- i.MX 6SoloX +- i.MX 6ULL + +#### Version history + +This API was introduced in Native SDK 1.0. -## Machine learning API (Larod) +#### Code Examples + +- [licensekey](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/licensekey/) + - The example code is written in C which illustrates how to check the licensekey status. + +### Machine learning API (Larod) Go to the [ACAP API Documentation](src/api/larod/html/index.html) for detailed functional descriptions of this API. Larod is a service provides a simple unified C API for running machine learning and image preprocessing efficiently. The purpose of Larod is to provide a unified API for all hardware platforms with very little overhead and to arbitrate between different processes (apps) requesting access to the same hardware. -### Compatibility +#### Compatibility -The Larod API supports products with the following chips: +The Larod API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 @@ -114,11 +171,11 @@ The Larod API supports products with the following chips: For products with a DLPU (Deep Learning Processing Unit), inference runs on the DLPU otherwise it runs on the CPU. -### Version history +#### Version history The Machine learning API was introduced in Native SDK 1.0. All larod API versions are available. -### Code Examples +#### Code Examples - [vdo-larod](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-larod/) - The example code is written in C and loads an image classification model to the [Machine learning API (Larod)](#machine-learning-api-larod) and then uses the [Video capture API (VDO)](#video-capture-api-vdo) to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL. @@ -126,71 +183,60 @@ The Machine learning API was introduced in Native SDK 1.0. All larod API version - The example code focus on object detection, cropping and saving detected objects into JPEG files. - A separate example is available for [CV25](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/object-detection-cv25) cameras. -## Overlay API +### Metadata Broker API -Go to the [ACAP API Documentation](src/api/axoverlay/html/index.html) for detailed functional descriptions of this API. +> This API is a [Beta version](./beta-api) and developers are encouraged to test and leave feedback. -The Axoverlay API is a helper library that enables an ACAP to draw overlays in selected video streams. It has built-in support for Cairo as rendering API, as well as an open backend for any other custom rendering. +Go to the [ACAP API Documentation](src/api/metadata-broker/html/index.html) for detailed +functional descriptions of this API. + +The Metadata Broker API allows an ACAP application to consume metadata from +a producer in AXIS OS by subscribing to a `topic`. -### Compatibility +The API implements the Publish/Subscribe messaging paradigm. -The API supports products with the following chips: +#### Compatibility + +The Metadata Broker API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 -- ARTPEC-6 +- Ambarella CV25 -### Version history +#### Version history -The Axoverlay API was introduced in Native SDK 1.0. +The Metadata Broker API was introduced in Native SDK 1.13. -### Code Examples +#### Code Examples -- [axoverlay](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axoverlay/) - - The example code is written in C which illustrates how to draw plain boxes and text as overlays in a stream. +- [analytics-scene-description-example](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/metadata-broker/consume-analytics-scene-description) + - The example is written in C and shows how to consume metadata stream + **Analytics Scene Description**. -## Cairo +### Overlay API -Open-source rendering library for 2D vector graphics. See [Cairo documentation](https://www.cairographics.org/documentation/). +Go to the [ACAP API Documentation](src/api/axoverlay/html/index.html) for detailed functional descriptions of this API. -### Compatibility +The Axoverlay API is a helper library that enables an ACAP to draw overlays in selected video streams. It has built-in support for Cairo as rendering API, as well as an open backend for any other custom rendering. + +#### Compatibility -The Cairo API supports products with the following chips: +The API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 - ARTPEC-6 -### Version history +#### Version history -The Cairo API was introduced in Native SDK 1.0. +The Axoverlay API was introduced in Native SDK 1.0. -### Code Examples +#### Code Examples - [axoverlay](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axoverlay/) - The example code is written in C which illustrates how to draw plain boxes and text as overlays in a stream. -## OpenCL - -Accelerate parallel compute with GPU. See [OpenCL documentation](https://www.khronos.org/opencl/). - -### Compatibility - -The OpenCL API supports products with the following chips: - -- ARTPEC-8 -- ARTPEC-7 - -### Version history - -The OpenCL 1.2 was introduced in Native SDK 1.0. - -### Code Examples - -- [vdo-opencl-filtering](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-opencl-filtering/) - - This example illustrates how to capture frames from the vdo service, access the received buffer, and finally perform a GPU accelerated Sobel filtering with OpenCL. - -## Parameter API +### Parameter API Go to the [ACAP API Documentation](src/api/axparameter/html/index.html) for detailed functional descriptions of this API. @@ -222,7 +268,7 @@ The AXParameter C library provides the following functionality: > - *read* and *modified* by another application if the application users belongs > to the same group. -### Application settings web page +#### Application settings web page The application settings web page can be used to modify **application parameters**. @@ -236,9 +282,9 @@ In the Axis device web page: Note that a reload of the web page is required to display values set from C code or VAPIX. -### Compatibility +#### Compatibility -The Parameter API supports products with the following chips: +The Parameter API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 @@ -249,45 +295,68 @@ The Parameter API supports products with the following chips: - i.MX 6SoloX - i.MX 6ULL -### Version history +#### Version history The Parameter API was introduced in Native SDK 1.13. -### Code Examples +#### Code Examples - [axparameter](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axparameter) - An example in C that demonstrates how to manage application-defined parameters, allowing you to add, remove, set, get, and register callback functions for parameter value updates. -## Event API +### Serial port API -Go to the [ACAP API Documentation](src/api/axevent/html/index.html) for detailed functional descriptions of this API. +Go to the [ACAP API Documentation](src/api/axserialport/html/index.html) for detailed functional descriptions of this API. -The Axevent API provides: +The Serial port API allows the application to configure and control the external serial port on selected Axis products. -- an interface to the event system found in Axis products. -- applications with a mechanism for sending and receiving events. +#### Compatibility -An application can both send and receive events. +- The API supports the following standards: + - RS-232 + - RS-422 + - RS-485 +- The API is product dependent since not all Axis products are equipped with a serial port. +- The API is supported on products with the following chips: + - ARTPEC-8 + - ARTPEC-7 -### Event types +#### Version history -**Stateless (Pulse)** – An event that indicates that something has occurred. Typically used to trigger some action rule. +The Serial port API was introduced in Native SDK 1.11. -**Stateful (State)** – An event with an active and inactive state. Typically used in action rules like “record while active”. +#### Code Examples -**Data (Application Data)** – An event that includes data that needs to be processed by the consuming application such as transaction data, license plate or other dynamic data. A data event is normally not used to trigger generic action rules. +- [axserialport](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axserialport) + - This example details the creation of an ACAP application utilizing the axserialport API, showcasing the following actions: + - Enabling the serial port. + - Configuring parameters using the API. + - Establishing communication between two available ports in the Axis product using GLib IOChannel methods. -### Supported namespaces +### Video capture API (VDO) -When declaring events it is required to set a namespace. Following are the supported namespaces: +Go to the [ACAP API Documentation](src/api/vdostream/html/index.html) for detailed functional descriptions of this API. -**tnsaxis** – Axis namespace to use with Axis events +The VdoStream API provides: -**tns1** – ONVIF namespace to use with ONVIF events +- video and image stream +- video and image capture +- video and image configuration -### Compatibility +#### Available video compression formats through VDO -The API supports products with the following chips: +The table below shows available subformats for corresponding YUV format. + +Sub Formats | Corresponding format +----------- | ------------------------------- +nv12 | YUV +y800 | YUV + +An application to start a vdo stream can be found at [vdostream](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdostream/), where the first argument is a string describing the video compression format. It takes `h264` (default), `h265`, `jpeg`, `nv12`, and `y800` as inputs. Both `nv12` and `y800` correspond to YUV format of VDO. + +#### Compatibility + +The API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 @@ -295,67 +364,94 @@ The API supports products with the following chips: - Ambarella CV25 - Ambarella S5L - Ambarella S5 -- i.MX 6SoloX -- i.MX 6ULL -### Version history +##### Compatibility limitations -The Axevent API was introduced in Native SDK 1.0. +- **Global rotation** - All platforms except ARTPEC-6 support global image source rotation, this feature is designed to utilize the hardware more efficiently. When designing applications for multiple platforms this needs to be taken into consideration. The Video capture API on ARTPEC-6 allows specifying the desired rotation per stream in contrast to other chips where this is a global option chosen at camera installation time and any attempt to specify capture rotation will be ignored. -### Code Examples +#### Version history -- [send_event](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axevent/send_event) - - The example code is written in C which sends an ONVIF event periodically. -- [subscribe_to_event](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axevent/subscribe_to_event) - - The example code is written in C which subscribe to the ONVIF event sent from application "send_event". -- [subscribe_to_events](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axevent/subscribe_to_events) - - The example code is written in C which subscribes to different predefined events. +The Video capture API was introduced in Native SDK 1.0. -## Edge storage API +AXIS OS version | VdoStream API version | New functions added +-- | -- | -- +10.7 | 6.13.0 | `vdo_frame_take_chunk` +10.8 | 6.24.1 | `vdo_zipstream_profile_get_type`, `vdo_frame_set_header_size` +10.9 | 6.34.16 | `vdo_stream_get_event`,`vdo_stream_get_event_fd`, `vdo_map_swap` +10.10 | 7.5.22 | `vdo_frame_take_chunk`, `vdo_frame_take_chunk_ex`, `vdo_stream_play` +10.11 | 7.19.2 | - +10.12 | 8.0.15 | `vdo_map_get_pair32i`, `vdo_map_get_pair32u`, `vdo_map_set_pair32i`, `vdo_map_set_pair32u` +11.0 | 9.0.4 | - +11.1 | 9.8.16 | - +11.2 | 9.18.0 | - +11.3 | 9.32.0 | - +11.4 | 9.41.16 | `vdo_channel_get_ex` +11.5 | 9.59.0 | - +11.6 | 9.78.12 | `vdo_stream_set_gop_length`, `vdo_error_is_resource_limitation` -Go to the [ACAP API Documentation](src/api/axstorage/html/index.html) for detailed functional descriptions of this API. +#### Known issues -The Edge storage API allows the application to save and retrieve data on mounted storage devices such as SD cards and NAS (Network Attached Storage) units. An application can only modify its own files on the storage device. -An application can both send and receive events. +- A memory leak in VDO was found in firmware versions from 10.10 for Artpec chips, later fixed in 10.11.65. The issue affects function `vdo_buffer_get_data`. + +#### Code Examples -### Compatibility +- [vdostream](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdostream/) + - The example code is written in C which starts a vdo stream and then illustrates how to continuously capture frames from the vdo service, access the received buffer contents as well as the frame metadata. +- [vdo-larod](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-larod/) + - The example code is written in C and loads an image classification model to the [Machine learning API (Larod)](#machine-learning-api-larod) and then uses the [Video capture API (VDO)](#video-capture-api-vdo) to fetch frames of size WIDTH x HEIGHT in yuv format which are converted to interleaved rgb format and then sent to larod for inference on MODEL. +- [vdo-opencl-filtering](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-opencl-filtering/) + - This example illustrates how to capture frames from the vdo service, access the received buffer, and finally perform a GPU accelerated Sobel filtering with OpenCL. + +## Open Source APIs + +### Cairo + +Open-source rendering library for 2D vector graphics. See [Cairo documentation](https://www.cairographics.org/documentation/). -The API supports products with the following chips: +#### Compatibility + +The Cairo API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 - ARTPEC-6 -- Ambarella CV25 -- Ambarella S5L -- Ambarella S5 -- i.MX 6SoloX -- i.MX 6ULL -### Version history +#### Version history -The Edge storage API was introduced in Native SDK 1.11. +The Cairo API was introduced in Native SDK 1.0. -### Code Examples +#### Code Examples -- [axstorage](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axstorage) - - This application demonstrates the usage of axstorage APIs, offering the following functionality: - - List configured storage devices. - - Subscribe to events from all storage devices. - - Set up and utilize all available/mounted storage devices. - - Continuously write data to two files on all available storage devices. - - Automatically release any unmounted storage devices. +- [axoverlay](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axoverlay/) + - The example code is written in C which illustrates how to draw plain boxes and text as overlays in a stream. -## License Key API +### OpenCL -Go to the [ACAP API Documentation](src/api/licensekey/html/index.html) for detailed functional descriptions of this API. +Accelerate parallel compute with GPU. See [OpenCL documentation](https://www.khronos.org/opencl/). -Use the License Key API to validate an application license key. +#### Compatibility -A license key is a signed file, generated for a specific device ID and application ID. The ACAP Service Portal maintains both license keys and application IDs. +The OpenCL API is supported on products with the following chips: + +- ARTPEC-8 +- ARTPEC-7 + +#### Version history + +The OpenCL 1.2 was introduced in Native SDK 1.0. + +#### Code Examples + +- [vdo-opencl-filtering](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vdo-opencl-filtering/) + - This example illustrates how to capture frames from the vdo service, access the received buffer, and finally perform a GPU accelerated Sobel filtering with OpenCL. + +### FastCGI -### Compatibility +[FastCGI](https://wikipedia.org/wiki/FastCGI) is a protocol for interfacing interactive programs with a web server. -The API supports products with the following chips: +#### Compatibility + +The FastCGI API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 @@ -366,22 +462,22 @@ The API supports products with the following chips: - i.MX 6SoloX - i.MX 6ULL -### Version history +#### Version history -This API was introduced in Native SDK 1.0. +The FastCGI API was introduced in Native SDK 1.6. -### Code Examples +#### Code Examples -- [licensekey](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/licensekey/) - - The example code is written in C which illustrates how to check the licensekey status. +- [web-server-using-fastcgi](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/web-server-using-fastcgi) + - This example is written in C and explains how to build an ACAP application that can handle HTTP requests sent to the Axis device, using the device's own web server and FastCGI. -## FastCGI +### OpenSSL -[FastCGI](https://wikipedia.org/wiki/FastCGI) is a protocol for interfacing interactive programs with a web server. +Open-source library for general-purpose cryptography and secure communication. See [OpenSSL documentation](https://www.openssl.org/docs/). -### Compatibility +#### Compatibility -The FastCGI API supports products with the following chips: +The OpenSSL API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 @@ -392,70 +488,76 @@ The FastCGI API supports products with the following chips: - i.MX 6SoloX - i.MX 6ULL -### Version history - -The FastCGI API was introduced in Native SDK 1.6. - -### Code Examples - -- [web-server-using-fastcgi](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/web-server-using-fastcgi) - - This example is written in C and explains how to build an ACAP application that can handle HTTP requests sent to the Axis device, using the device's own web server and FastCGI. +#### Version history -## Serial port API +The OpenSSL API was introduced in Native SDK 1.14. -Go to the [ACAP API Documentation](src/api/axserialport/html/index.html) for detailed functional descriptions of this API. +#### Code Examples -The Serial port API allows the application to configure and control the external serial port on selected Axis products. +- [curl-openssl](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/curl-openssl/) + - The example code is written in C which illustrates how to use curl and OpenSSL to retrieve a file securely from an external server for e.g. [example.com]() -### Compatibility +### Jansson -- The API supports the following standards: - - RS-232 - - RS-422 - - RS-485 -- The API is product dependent since not all Axis products are equipped with a serial port. -- The API supports products with the following chips: - - ARTPEC-8 - - ARTPEC-7 +Open-source library for for encoding, decoding and manipulating JSON data. See [Jansson documentation](https://jansson.readthedocs.io/en/latest/). -### Version history +#### Compatibility -The Serial port API was introduced in Native SDK 1.11. +The Jansson API is supported on products with the following chips: -### Code Examples +- ARTPEC-8 +- ARTPEC-7 +- ARTPEC-6 +- Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- i.MX 6SoloX +- i.MX 6ULL -- [axserialport](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/axserialport) - - This example details the creation of an ACAP application utilizing the axserialport API, showcasing the following actions: - - Enabling the serial port. - - Configuring parameters using the API. - - Establishing communication between two available ports in the Axis product using GLib IOChannel methods. +#### Version history -## Metadata Broker API +The Jansson API was introduced in Native SDK 1.14. -> This API is a [Beta version](./beta-api) and developers are encouraged to test and leave feedback. +#### Code Examples -Go to the [ACAP API Documentation](src/api/metadata-broker/html/index.html) for detailed -functional descriptions of this API. +- [vapix](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vapix/) + - The example code is written in C which illustrates calling VAPIX API with JSON request and response from within an ACAP application. -The Metadata Broker API allows an ACAP application to consume metadata from -a producer in AXIS OS by subscribing to a `topic`. +### Curl -The API implements the Publish/Subscribe messaging paradigm. +Open-source library for transferring data with URLs. See [curl documentation](https://curl.se/docs/). -### Compatibility +#### Compatibility -The Metadata Broker API supports products with the following chips: +The curl API is supported on products with the following chips: - ARTPEC-8 - ARTPEC-7 +- ARTPEC-6 - Ambarella CV25 +- Ambarella S5L +- Ambarella S5 +- i.MX 6SoloX +- i.MX 6ULL -### Version history +#### Version history -The Metadata Broker API was introduced in Native SDK 1.13. +The curl API was introduced in Native SDK 1.14. -### Code Examples +#### Code Examples -- [analytics-scene-description-example](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/metadata-broker/consume-analytics-scene-description) - - The example is written in C and shows how to consume metadata stream - **Analytics Scene Description**. +- [curl-openssl](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/curl-openssl/) + - The example code is written in C which illustrates how to use curl and OpenSSL to retrieve a file securely from an external server for e.g. [example.com]() +- [vapix](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vapix/) + - The example code is written in C which illustrates how ,using curl, an ACAP application can call [VAPIX APIs](https://www.axis.com/vapix-library/). + +## Supplementary APIs + +### VAPIX access for ACAP + +ACAP applications can request for VAPIX service account credentials in runtime. With these credentials, the ACAP application can call a local virtual host to make VAPIX requests on the device. See [VAPIX access for ACAP](../develop/VAPIX-access-for-ACAP-applications). + +#### Code Examples + +- [vapix](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/vapix/) + - The example code is written in C which illustrates how an ACAP application can call [VAPIX APIs](https://www.axis.com/vapix-library/). From 8a0f349bb3128b5577f5c0a5029487cdb8bbe7d6 Mon Sep 17 00:00:00 2001 From: Johan Ljunggren <36114143+jojju@users.noreply.github.com> Date: Wed, 8 May 2024 12:50:09 +0200 Subject: [PATCH 3/7] Add information about sdk user deprecation (#282) --- docs/develop/application-project-structure.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/develop/application-project-structure.md b/docs/develop/application-project-structure.md index 65481ba..e30f447 100644 --- a/docs/develop/application-project-structure.md +++ b/docs/develop/application-project-structure.md @@ -207,12 +207,13 @@ start. - It's recommended to use **dynamic user** in ACAP applications. - Up until ACAP version 3 SDK, it was recommended to set `sdk` as user and group. +- At some point in the future, the `sdk` user will be deprecated and removed. ### Dynamic user To get a dynamic user, simply leave out `acapPackageConf.user.group` and `acapPackageConf.user.username`. The dynamic user will belong to the group `addon`. -An ACAP application with dynamic user will only have access to applications installed under `/usr/local/packages/` and resources requested in the manifest. +An ACAP application with dynamic user will only have access to files installed under `/usr/local/packages/` and resources requested in the manifest. The main advantage of using a dynamic user instead of `sdk` user is the higher level of security. The dynamic user does not have access to, and can not modify other ACAP applications. From 42a66a4eb2165a3f7b95930aa42ef5748c401bdf Mon Sep 17 00:00:00 2001 From: Angelo Delli Santi Date: Wed, 8 May 2024 16:11:22 +0200 Subject: [PATCH 4/7] Release note 4.14 (#281) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Patrik Åkesson <66364872+pataxis@users.noreply.github.com> Co-authored-by: Mattias Axelsson --- docs/release-notes/4.14.md | 100 +++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 docs/release-notes/4.14.md diff --git a/docs/release-notes/4.14.md b/docs/release-notes/4.14.md new file mode 100644 index 0000000..456251f --- /dev/null +++ b/docs/release-notes/4.14.md @@ -0,0 +1,100 @@ +--- +layout: page +parent: Release notes +title: "4.14" +nav_order: 16 +--- + +# ACAP version 4.14 – May 3, 2024 + +## Overview + +The release contains: + +- [ACAP Computer Vision SDK 1.14](https://github.com/AxisCommunications/acap-computer-vision-sdk/releases/tag/1.14) +- [ACAP Native SDK 1.14](https://github.com/AxisCommunications/acap-native-sdk/releases/tag/1.14) +- [ACAP Runtime 1.3.1](https://github.com/AxisCommunications/acap-runtime/tree/1.3.1) + ([Release notes](https://github.com/AxisCommunications/acap-runtime/releases/tag/1.3.1)) +- [Docker ACAP 3.0.0](https://github.com/AxisCommunications/docker-acap/tree/3.0.0) + ([Release notes](https://github.com/AxisCommunications/docker-acap/releases/tag/3.0.0)) +- [Docker Compose ACAP 3.0.0](https://github.com/AxisCommunications/docker-compose-acap/tree/3.0.0) + ([Release notes](https://github.com/AxisCommunications/docker-compose-acap/releases/tag/3.0.0)) + +Code examples: + +- [Code examples ACAP Computer Vision SDK v1.14](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/tree/v1.14) + ([Release notes](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/releases/tag/v1.14)) +- [Code examples ACAP Native SDK v1.14](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/v1.14) + ([Release notes](https://github.com/AxisCommunications/acap-native-sdk-examples/releases/tag/v1.14)) + +Device software: + +- Minimum [AXIS OS](https://www.axis.com/support/device-software) version: 11.10 + +## New features + +- The following APIs have been added to the ACAP Native SDK: + - [Curl](../api/native-sdk-api.md#curl) - + An open-source library for transferring data with URLs. + - [Jansson](../api/native-sdk-api.md#jansson) - + An open-source library for encoding, decoding and manipulating JSON data. + - [OpenSSL](../api/native-sdk-api.md#openssl) - + An open-source library for general-purpose cryptography and secure communication. +- Manifest schema [1.7.0](../develop/manifest-schemas/schema-field-descriptions-v1.7.0): + - Make preparations on the host system so the application can run containers, + and create symbolic links from various system-wide locations to Docker CLIs provided by the application. + + ```json + "acapPackageConf": { + "configuration": { + "containers": { + "containerHost": true, + "createDockerSymlinks": true + } + } + } + ``` + + - Docker ACAP and Docker Compose ACAP are now rootless as part of the [removal of root-privileged access](https://www.axis.com/developer-community/news/axis-os-root-acap-signing) initiative + +## Bug fixes + +- A bug affecting ACAP applications that have specified multiple UDS sockets in their reverse proxy configuration, was causing traffic to get routed to the wrong internal socket from the application. It has been fixed in AXIS OS 11.10. + +## Limitations + +- There is a limitation with Docker ACAP 3.0.0 and Docker compose ACAP 3.0.0 + - Only uid and gid are properly mapped between device and containers, not the secondary groups that the user is a member of. This means that resources on the device, even if they are volume or device mounted, can be inaccessible inside the container. This can also affect usage of unsupported D-Bus methods from the container. See [Using host user secondary groups in container](https://github.com/AxisCommunications/docker-acap#using-host-user-secondary-groups-in-container) for information on how to handle this. + +## Upcoming changes + +- Axis is planning to introduce signing of ACAP applications as default and remove root-privileged access in future AXIS OS releases. +For reference see the announcement on Axis Developer Community about [Removal of root-privileged access and ACAP application signing as default](https://www.axis.com/developer-community/news/axis-os-root-acap-signing) +- The next SDK release, 1.15 is going to be the last for the computer vision sdk on armv7hf. Support will continue for aarch64 devices. + +## APIs supported in this release + +Axis API | Chip +:-- | :-- +Edge storage API | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, i.MX 6SoloX, i.MX 6ULL, S5L, S5 +Event API | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, i.MX 6SoloX, i.MX 6ULL, S5L, S5 +License Key API | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, i.MX 6SoloX, i.MX 6ULL, S5L, S5 +Machine learning API | ARTPEC-8, ARTPEC-7, CV25, S5L +Metadata Broker API | ARTPEC-8, ARTPEC-7, CV25 +Overlay API | ARTPEC-8, ARTPEC-7, ARTPEC-6 +Parameter API | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, i.MX 6SoloX, i.MX 6ULL, S5L, S5 +Serial port API | ARTPEC-8, ARTPEC-7 +Video capture API | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, S5L, S5 + +Open source API | Chip +:-- | :-- +Cairo | ARTPEC-8, ARTPEC-7, ARTPEC-6 +Curl | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, i.MX 6SoloX, i.MX 6ULL, S5L, S5 +FastCGI | ARTPEC-8, ARTPEC-7, CV25, i.MX 6SoloX, i.MX 6ULL +Jansson | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, i.MX 6SoloX, i.MX 6ULL, S5L, S5 +OpenCL | ARTPEC-8, ARTPEC-7 +OpenSSL | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, i.MX 6SoloX, i.MX 6ULL, S5L, S5 + +Special API | Chip +:-- | :-- +VAPIX APIs | ARTPEC-8, ARTPEC-7, ARTPEC-6, CV25, i.MX 6SoloX, i.MX 6ULL, S5L, S5 From f2b91a8d8ddb81eea2b66640243af2be884c470d Mon Sep 17 00:00:00 2001 From: AxisCommunications - Ecosystem service account <144934332+github-axiscommunications-ecosystem@users.noreply.github.com> Date: Wed, 8 May 2024 18:37:14 +0200 Subject: [PATCH 5/7] Update manifest schema descriptions in ACAP 4.14 (#280) Automatic update of manifest schema descriptions. Co-authored-by: Angelo DelliSanti --- docs/develop/manifest-schemas/index.md | 1 + .../schema-field-descriptions-v1.7.0.md | 245 ++++++++++++++++++ 2 files changed, 246 insertions(+) create mode 100644 docs/develop/manifest-schemas/schema-field-descriptions-v1.7.0.md diff --git a/docs/develop/manifest-schemas/index.md b/docs/develop/manifest-schemas/index.md index 240c10a..4c5158e 100644 --- a/docs/develop/manifest-schemas/index.md +++ b/docs/develop/manifest-schemas/index.md @@ -33,3 +33,4 @@ Mapping table for manifest schema, AXIS OS and ACAP Native SDK version. | 1.4.0 | 11.7 | 1.11 | Allow new characters `( ) , . ! ? & '` for `vendor` field | | 1.5.0 | 11.8 | 1.12 | - Add support for reverse proxy configuration.
- Add access policy for ACAP application web content.
- Allow `-` character in secondary groups of `linux` resources.
- Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to end with `.*` to match all methods of a D-Bus interface. | | 1.6.0 | 11.9 | 1.13 | - Add support for characters `$` and `\` in `apiPath` of the reverse proxy configuration.
- Add optional field `$schema` that can point out a manifest schema to use for manifest validation and auto-completion.
- Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to contain `-`. | +| 1.7.0 | 11.10 | 1.14 | Make preparations on the host system so the application can run containers, and create symbolic links from various system-wide locations to Docker CLIs provided by the application. | diff --git a/docs/develop/manifest-schemas/schema-field-descriptions-v1.7.0.md b/docs/develop/manifest-schemas/schema-field-descriptions-v1.7.0.md new file mode 100644 index 0000000..8780a5d --- /dev/null +++ b/docs/develop/manifest-schemas/schema-field-descriptions-v1.7.0.md @@ -0,0 +1,245 @@ +--- +layout: page +grand_parent: Develop ACAP applications +parent: Manifest schemas +title: Manifest schema v1.7.0 +--- + +

This document is automatically generated from manifest schema

+ +# Field descriptions + +All fields that are not marked as **Required** are optional + +- **$schema** `string` + + URI of the manifest schema for validation + +- **schemaVersion** `string` **Required** + + Specifies the application manifest schema version using three dot-separated integer numbers, which follow the semantic versioning rules for MAJOR, MINOR and PATCH version numbers. + +- **resources** `object` + + Host resources the application requires access to. + + - **dbus** `object` + + D-Bus resources on the host system that the application requires or desires access to. + + - **requiredMethods** `array` + + A list of D-Bus methods (given as strings) that are required by the application to be part of an API of the host system. If the methods are not present, the application is considered incompatible and will be rejected at installation. A wildcard '*' can be supplied at the end of a string, preceeded by a dot '.', to match all methods of a D-Bus interface. + + - **conditionalMethods** `array` + + A list of D-Bus methods (given as strings) desired by the application that may or may not be part of an API of the host system. If the methods are not present the application will still be installed. It is up to the application to handle the absence of the methods appropriately. A wildcard '*' can be supplied at the end of a string, preceeded by a dot '.', to match all methods of a D-Bus interface. + + - **linux** `object` + + Linux resources on the host system that the application requires or desires access to. + + - **user** `object` + + Dynamic user the application shall run as. The username of the dynamic user is determined at installation. If the application requires knowledge of the username it shall use the underlying OS functions to read it. Only one of dynamic user and static user (see acapPackageConf > setup > user) may be specified. + + - **groups** `array` + + A list of secondary groups (given as strings) the application user should belong to. + +- **acapPackageConf** `object` **Required** + + An ACAP package configuration object. + + - **setup** `object` **Required** + + ACAP application identification and information settings. + + - **appName** `string` **Required** + + Name of the executable file. + + - **appId** `string` + + Application ID (provided by Axis). To retrieve an application ID, contact the Axis Technology Integration Partner Program support + + - **architecture** `string` + + The target architecture(s) that the ACAP application supports. Will be set at build time if missing. + _Possible values:_ `all`, `aarch64`, `armv7hf` + + - **embeddedSdkVersion** `string` + + Minimum required SDK version that the device running the application must support. This field must be set to a version less than 3.0 if compatibility with pre-manifest firmware is needed. Otherwise the version should be set to 3.0 + + - **friendlyName** `string` + + User-friendly package name. The name that will be displayed e.g. in the embedded web pages. + + - **user** `object` + + Static user and group the application shall run as. Only one of dynamic user (see resources > linux > user) and static user may be specified. + + - **username** `string` **Required** + + Name of a user already existing on the device, used for application execution and file ownership. + + - **group** `string` **Required** + + Name of a user group already existing on the device, used for application execution. + + - **runMode** `string` **Required** + + If 'respawn' application will be restarted if exited. If 'never' application will never be restarted. If 'once' application will not be restarted if exited but will be restarted on reboot of device if application is running. + _Possible values:_ `respawn`, `once`, `never` + + - **runOptions** `string` + + Optional application command line options + + - **vendor** `string` **Required** + + The company name of the provider and maintainer of the ACAP application. + + - **vendorUrl** `string` + + Link to the vendor home page. + + - **version** `string` **Required** + + The ACAP application version, following the semantic versioning rules. + + - **installation** `object` + + ACAP application installation settings + + - **postInstallScript** `string` + + Optional script that will be run on the Axis product after ACAP package installation completion. This must be a shell script located in the package root. + + - **uninstallation** `object` + + ACAP application uninstallation settings + + - **preUninstallScript** `string` + + Optional script that will be run on the Axis product before uninstallation of the ACAP. This must be a shell script located in the package root. + + - **configuration** `object` + + ACAP application interaction setup. + + - **settingPage** `string` + + The name of the main embedded web page of the ACAP application. To be refered to when listing installed ACAP applications. Must be located in directory 'html' relative to application package root. + + - **httpConfig** `array` + + A list of web server configuration objects. + + A web server CGI configuration object. + + - **type** `string` **Required** + + CGI implementation type. + _Possible values:_ `transferCgi`, `fastCgi` + + - **name** `string` **Required** + + CGI path relative to application web root. + + - **access** `string` **Required** + + Access policy for calling the CGI. + _Possible values:_ `admin`, `operator`, `viewer` + + A web content object. + + - **type** `string` **Required** + + Type of ACAP application web content. The type refers to the 'html' directory in the application package root. + _Possible values:_ `directory` + + - **access** `string` **Required** + + Access policy for viewing ACAP application web content, i.e. all files that are stored under 'html' directory in the application package root. Default access policy is 'admin'. Be aware that changing access policies will give general access to the web content. + _Possible values:_ `admin`, `operator`, `viewer` + + - **paramConfig** `array` + + A list of parameter configuration objects. It is possible to interact with these parameters using the Parameter API (axparameter), the [VAPIX API](https://www.axis.com/vapix-library/subjects/t10175981/section/t10036014/display) or from the settings web page of the ACAP application. + + A parameter object. + + - **name** `string` **Required** + + Name of the parameter. + + - **default** `string` **Required** + + Parameter default value. + + - **type** `string` **Required** + + Parameter type definition string. + + - **reverseProxy** `array` + + A list of reverse proxy configuration objects. + + A reverse proxy unix domain socket object. + + - **apiPath** `string` **Required** + + API path relative to the ACAP application home path. + + - **apiType** `string` **Required** + + API protocol (http, web socket or fast cgi). + _Possible values:_ `http`, `ws`, `fcgi` + + - **target** `string` **Required** + + Target path to a unix domain socket. + + - **access** `string` **Required** + + Access policy for calling the path. + _Possible values:_ `admin`, `operator`, `viewer`, `anonymous` + + A reverse proxy tcp object. + + - **apiPath** `string` **Required** + + API path relative to the ACAP application home path. + + - **target** `string` **Required** + + Target path. FastCGI or URI (http or web socket). + + - **access** `string` **Required** + + Access policy for calling the path. + _Possible values:_ `admin`, `operator`, `viewer`, `anonymous` + + - **containers** `object` + + Container support required by or provided by the application. + + - **containerHost** `boolean` + + Application needs to be able to run containers. The host system will make preparations before the application starts, e.g. setting up subuid and subgid mappings and populate or clean up items in the /run filesystem. + + - **createDockerSymlinks** `boolean` + + Create symbolic links from various system-wide locations to Docker CLIs provided by this application. + + - **copyProtection** `object` + + ACAP application copy protection utilization + + - **method** `string` **Required** + + Copy protection mechanism. + _Possible values:_ `none`, `axis`, `custom` + From c3a2b3c3437b898eb8dd7ba6e91620684f6d3b3f Mon Sep 17 00:00:00 2001 From: AxisCommunications - Ecosystem service account <144934332+github-axiscommunications-ecosystem@users.noreply.github.com> Date: Wed, 8 May 2024 19:32:31 +0200 Subject: [PATCH 6/7] Update API VERSION to 4.14 (#285) Co-authored-by: pataxis --- .../axevent/html/ax__event__handler_8h.html | 83 ++++++++++++++++ .../api/axevent/html/ax__event__handler_8h.js | 1 + .../html/ax__event__handler_8h_source.html | 87 +++++++++------- docs/api/src/api/axevent/html/doxygen.png | Bin 3811 -> 0 bytes docs/api/src/api/axevent/html/files.js | 10 -- docs/api/src/api/axevent/html/globals.html | 3 + .../src/api/axevent/html/globals_func.html | 3 + .../api/src/api/axevent/html/navtreeindex0.js | 11 +- .../api/axoverlay/html/axoverlay_8h__incl.md5 | 1 - docs/api/src/api/axoverlay/html/doxygen.png | Bin 3811 -> 0 bytes docs/api/src/api/axoverlay/html/files.js | 4 - .../src/api/axoverlay/html/graph_legend.md5 | 1 - .../src/api/axoverlay/html/search/close.png | Bin 273 -> 0 bytes .../src/api/axoverlay/html/search/mag_sel.png | Bin 563 -> 0 bytes ...structaxoverlay__settings__coll__graph.md5 | 1 - docs/api/src/api/axparameter/html/doxygen.png | Bin 3811 -> 0 bytes .../api/src/api/axserialport/html/doxygen.png | Bin 3811 -> 0 bytes docs/api/src/api/axserialport/html/files.js | 4 - docs/api/src/api/axstorage/html/doxygen.png | Bin 3811 -> 0 bytes docs/api/src/api/axstorage/html/files.js | 6 -- docs/api/src/api/licensekey/html/doxygen.png | Bin 3811 -> 0 bytes docs/api/src/api/licensekey/html/files.js | 6 -- .../html/connection_8h__dep__incl.md5 | 1 - .../html/connection_8h__incl.md5 | 1 - .../dir_a4aa414689e44a98d0e006974772d374.html | 94 ------------------ .../src/api/metadata-broker/html/doxygen.png | Bin 3779 -> 0 bytes .../html/error_8h__dep__incl.md5 | 1 - .../api/metadata-broker/html/graph_legend.md5 | 1 - .../html/metadata_8h__dep__incl.md5 | 1 - .../html/metadata_8h__incl.md5 | 1 - .../src/api/metadata-broker/html/pages.html | 81 --------------- .../api/metadata-broker/html/search/close.png | Bin 273 -> 0 bytes .../metadata-broker/html/search/mag_sel.png | Bin 563 -> 0 bytes .../html/signatures_8h__dep__incl.md5 | 1 - .../html/signatures_8h__incl.md5 | 1 - .../html/structmdb__error__t.html | 2 +- .../html/subscriber_8h__incl.md5 | 1 - .../html/subscriber__config_8h__dep__incl.md5 | 1 - .../html/subscriber__config_8h__incl.md5 | 1 - ...r_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 | 1 - docs/api/src/api/vdostream/html/doxygen.png | Bin 3811 -> 0 bytes docs/api/src/api/vdostream/html/files.js | 10 -- .../src/api/vdostream/html/graph_legend.md5 | 1 - .../src/api/vdostream/html/search/close.png | Bin 273 -> 0 bytes .../src/api/vdostream/html/search/mag_sel.png | Bin 563 -> 0 bytes .../structVdoResolutionSet__coll__graph.md5 | 1 - .../html/unionVdoPair32u__coll__graph.md5 | 1 - .../html/vdo-buffer_8h__dep__incl.md5 | 1 - .../vdostream/html/vdo-buffer_8h__incl.md5 | 1 - .../vdostream/html/vdo-channel_8h__incl.md5 | 1 - .../api/vdostream/html/vdo-error_8h__incl.md5 | 1 - .../html/vdo-frame_8h__dep__incl.md5 | 1 - .../api/vdostream/html/vdo-frame_8h__incl.md5 | 1 - .../vdostream/html/vdo-map_8h__dep__incl.md5 | 1 - .../api/vdostream/html/vdo-map_8h__incl.md5 | 1 - .../vdostream/html/vdo-stream_8h__incl.md5 | 1 - .../html/vdo-types_8h__dep__incl.md5 | 1 - .../api/vdostream/html/vdo-types_8h__incl.md5 | 1 - 58 files changed, 146 insertions(+), 288 deletions(-) delete mode 100644 docs/api/src/api/axevent/html/doxygen.png delete mode 100644 docs/api/src/api/axevent/html/files.js delete mode 100644 docs/api/src/api/axoverlay/html/axoverlay_8h__incl.md5 delete mode 100644 docs/api/src/api/axoverlay/html/doxygen.png delete mode 100644 docs/api/src/api/axoverlay/html/files.js delete mode 100644 docs/api/src/api/axoverlay/html/graph_legend.md5 delete mode 100644 docs/api/src/api/axoverlay/html/search/close.png delete mode 100644 docs/api/src/api/axoverlay/html/search/mag_sel.png delete mode 100644 docs/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.md5 delete mode 100644 docs/api/src/api/axparameter/html/doxygen.png delete mode 100644 docs/api/src/api/axserialport/html/doxygen.png delete mode 100644 docs/api/src/api/axserialport/html/files.js delete mode 100644 docs/api/src/api/axstorage/html/doxygen.png delete mode 100644 docs/api/src/api/axstorage/html/files.js delete mode 100644 docs/api/src/api/licensekey/html/doxygen.png delete mode 100644 docs/api/src/api/licensekey/html/files.js delete mode 100644 docs/api/src/api/metadata-broker/html/connection_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/connection_8h__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/dir_a4aa414689e44a98d0e006974772d374.html delete mode 100644 docs/api/src/api/metadata-broker/html/doxygen.png delete mode 100644 docs/api/src/api/metadata-broker/html/error_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/graph_legend.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/metadata_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/metadata_8h__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/pages.html delete mode 100644 docs/api/src/api/metadata-broker/html/search/close.png delete mode 100644 docs/api/src/api/metadata-broker/html/search/mag_sel.png delete mode 100644 docs/api/src/api/metadata-broker/html/signatures_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/signatures_8h__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/subscriber_8h__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/subscriber__config_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/metadata-broker/html/subscriber__config_8h__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 delete mode 100644 docs/api/src/api/vdostream/html/doxygen.png delete mode 100644 docs/api/src/api/vdostream/html/files.js delete mode 100644 docs/api/src/api/vdostream/html/graph_legend.md5 delete mode 100644 docs/api/src/api/vdostream/html/search/close.png delete mode 100644 docs/api/src/api/vdostream/html/search/mag_sel.png delete mode 100644 docs/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.md5 delete mode 100644 docs/api/src/api/vdostream/html/unionVdoPair32u__coll__graph.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-buffer_8h__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-channel_8h__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-error_8h__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-frame_8h__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-map_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-map_8h__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-stream_8h__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-types_8h__dep__incl.md5 delete mode 100644 docs/api/src/api/vdostream/html/vdo-types_8h__incl.md5 diff --git a/docs/api/src/api/axevent/html/ax__event__handler_8h.html b/docs/api/src/api/axevent/html/ax__event__handler_8h.html index fb0b643..7d0ff3b 100644 --- a/docs/api/src/api/axevent/html/ax__event__handler_8h.html +++ b/docs/api/src/api/axevent/html/ax__event__handler_8h.html @@ -97,6 +97,9 @@ gboolean ax_event_handler_declare (AXEventHandler *event_handler, AXEventKeyValueSet *key_value_set, gboolean stateless, guint *declaration, AXDeclarationCompleteCallback callback, gpointer user_data, GError **error)  Declares a new event. More...
  +gboolean ax_event_handler_declare2 (AXEventHandler *event_handler, AXEventKeyValueSet *key_value_set, gboolean stateless, gchar *property_name, guint *declaration, AXDeclarationCompleteCallback callback, gpointer user_data, GError **error) + Declares a new event. More...
+  gboolean ax_event_handler_declare_from_template (AXEventHandler *event_handler, const char *event_template, AXEventKeyValueSet *key_value_set, guint *declaration, AXDeclarationCompleteCallback callback, gpointer user_data, GError **error)  Declares a new event based upon an event template. More...
  @@ -290,6 +293,86 @@

Examples
ax_event_property_state_declaration_example.c, and ax_event_stateless_declaration_example.c.
+ + + +

◆ ax_event_handler_declare2()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gboolean ax_event_handler_declare2 (AXEventHandlerevent_handler,
AXEventKeyValueSetkey_value_set,
gboolean stateless,
gchar * property_name,
guint * declaration,
AXDeclarationCompleteCallback callback,
gpointer user_data,
GError ** error 
)
+
+ +

Declares a new event.

+
Parameters
+ + + + + + + + + +
event_handlerAn AXEventHandler.
key_value_setAn AXEventKeyValueSet describing the event.
statelessTRUE if the event is a stateless event, otherwise FALSE.
property_nameThe name of the key that should be a stateful property. This is only used for stateful events.
declarationThe return location for a unique handle associated with the resulting declaration.
callbackA callback function that will be called when the declaration has been registered with the event system or NULL.
user_dataA pointer that will be supplied with the call to the callback function.
errorThe return location for an error or NULL.
+
+
+
Returns
TRUE if the declaration was successful otherwise FALSE. If FALSE and error is not NULL, then error contains a detailed description of the error.
+
diff --git a/docs/api/src/api/axevent/html/ax__event__handler_8h.js b/docs/api/src/api/axevent/html/ax__event__handler_8h.js index 1150b22..6dfaae5 100644 --- a/docs/api/src/api/axevent/html/ax__event__handler_8h.js +++ b/docs/api/src/api/axevent/html/ax__event__handler_8h.js @@ -6,6 +6,7 @@ var ax__event__handler_8h = [ "ax_event_handler_new", "ax__event__handler_8h.html#aeb60d443c4006c0deb4ea3763f896de2", null ], [ "ax_event_handler_free", "ax__event__handler_8h.html#ac8fa0ee5cba77fffffad4153833b040d", null ], [ "ax_event_handler_declare", "ax__event__handler_8h.html#a069c6140889e0b0aec24b8a1f9063ebc", null ], + [ "ax_event_handler_declare2", "ax__event__handler_8h.html#a4d1612f560dbdaed57305385b5a4a0f6", null ], [ "ax_event_handler_declare_from_template", "ax__event__handler_8h.html#aa7d1fd47acc735ded14835b1b2c693f3", null ], [ "ax_event_handler_undeclare", "ax__event__handler_8h.html#a61d4484571aacc5547f9e5bf524fd01d", null ], [ "ax_event_handler_send_event", "ax__event__handler_8h.html#ac45d53fe12862e3799e2abb133b50d7a", null ], diff --git a/docs/api/src/api/axevent/html/ax__event__handler_8h_source.html b/docs/api/src/api/axevent/html/ax__event__handler_8h_source.html index c6c398f..e8b1da0 100644 --- a/docs/api/src/api/axevent/html/ax__event__handler_8h_source.html +++ b/docs/api/src/api/axevent/html/ax__event__handler_8h_source.html @@ -95,47 +95,58 @@
94  gpointer user_data,
95  GError **error);
96 
-
117 gboolean
- -
119  const char *event_template,
-
120  AXEventKeyValueSet *key_value_set,
-
121  guint *declaration,
- -
123  gpointer user_data,
-
124  GError **error);
-
125 
-
139 gboolean
- -
141  guint declaration,
-
142  GError **error);
-
143 
-
158 gboolean
- -
160  guint declaration,
-
161  AXEvent *event,
-
162  GError **error);
-
163 
-
184 gboolean
- -
186  AXEventKeyValueSet *key_value_set,
-
187  guint *subscription,
-
188  AXSubscriptionCallback callback,
-
189  gpointer user_data,
-
190  GError **error);
-
191 
-
204 gboolean
- -
206  guint subscription,
-
207  GError **error);
-
208 
-
209 #ifdef __cplusplus
-
210 }
-
211 #endif
-
212 
-
213 #endif /* _AX_EVENT_HANDLER_H_ */
+
119 gboolean
+ +
121  AXEventKeyValueSet *key_value_set,
+
122  gboolean stateless,
+
123  gchar* property_name,
+
124  guint *declaration,
+ +
126  gpointer user_data,
+
127  GError **error);
+
128 
+
149 gboolean
+ +
151  const char *event_template,
+
152  AXEventKeyValueSet *key_value_set,
+
153  guint *declaration,
+ +
155  gpointer user_data,
+
156  GError **error);
+
157 
+
171 gboolean
+ +
173  guint declaration,
+
174  GError **error);
+
175 
+
190 gboolean
+ +
192  guint declaration,
+
193  AXEvent *event,
+
194  GError **error);
+
195 
+
216 gboolean
+ +
218  AXEventKeyValueSet *key_value_set,
+
219  guint *subscription,
+
220  AXSubscriptionCallback callback,
+
221  gpointer user_data,
+
222  GError **error);
+
223 
+
236 gboolean
+ +
238  guint subscription,
+
239  GError **error);
+
240 
+
241 #ifdef __cplusplus
+
242 }
+
243 #endif
+
244 
+
245 #endif /* _AX_EVENT_HANDLER_H_ */
struct _AXEvent AXEvent
The AXEvent is an opaque data type required to send and receive events.
Definition: ax_event.h:30
gboolean ax_event_handler_declare(AXEventHandler *event_handler, AXEventKeyValueSet *key_value_set, gboolean stateless, guint *declaration, AXDeclarationCompleteCallback callback, gpointer user_data, GError **error)
Declares a new event.
void(* AXDeclarationCompleteCallback)(guint declaration, gpointer user_data)
This is the prototype of the callback function called when a declaration has registered with the even...
Definition: ax_event_handler.h:47
+
gboolean ax_event_handler_declare2(AXEventHandler *event_handler, AXEventKeyValueSet *key_value_set, gboolean stateless, gchar *property_name, guint *declaration, AXDeclarationCompleteCallback callback, gpointer user_data, GError **error)
Declares a new event.
gboolean ax_event_handler_subscribe(AXEventHandler *event_handler, AXEventKeyValueSet *key_value_set, guint *subscription, AXSubscriptionCallback callback, gpointer user_data, GError **error)
Subscribes to an event or a set of events.
gboolean ax_event_handler_undeclare(AXEventHandler *event_handler, guint declaration, GError **error)
Undeclares an event. Any pending callbacks associated with the declaration will be cancelled.
gboolean ax_event_handler_declare_from_template(AXEventHandler *event_handler, const char *event_template, AXEventKeyValueSet *key_value_set, guint *declaration, AXDeclarationCompleteCallback callback, gpointer user_data, GError **error)
Declares a new event based upon an event template.
diff --git a/docs/api/src/api/axevent/html/doxygen.png b/docs/api/src/api/axevent/html/doxygen.png deleted file mode 100644 index 69a921c279e71363b64e6868642ba060f2060323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3811 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 Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% diff --git a/docs/api/src/api/axevent/html/files.js b/docs/api/src/api/axevent/html/files.js deleted file mode 100644 index 2a6e6f7..0000000 --- a/docs/api/src/api/axevent/html/files.js +++ /dev/null @@ -1,10 +0,0 @@ -var files = -[ - [ "ax_event.h", "ax__event_8h.html", "ax__event_8h" ], - [ "ax_event_element_item.h", "ax__event__element__item_8h.html", "ax__event__element__item_8h" ], - [ "ax_event_error.h", "ax__event__error_8h.html", "ax__event__error_8h" ], - [ "ax_event_handler.h", "ax__event__handler_8h.html", "ax__event__handler_8h" ], - [ "ax_event_key_value_set.h", "ax__event__key__value__set_8h.html", "ax__event__key__value__set_8h" ], - [ "ax_event_types.h", "ax__event__types_8h.html", "ax__event__types_8h" ], - [ "axevent.h", "axevent_8h.html", null ] -]; \ No newline at end of file diff --git a/docs/api/src/api/axevent/html/globals.html b/docs/api/src/api/axevent/html/globals.html index 988e30a..62020a1 100644 --- a/docs/api/src/api/axevent/html/globals.html +++ b/docs/api/src/api/axevent/html/globals.html @@ -151,6 +151,9 @@

- a -

  • ax_event_handler_declare() : ax_event_handler.h
  • +
  • ax_event_handler_declare2() +: ax_event_handler.h +
  • ax_event_handler_declare_from_template() : ax_event_handler.h
  • diff --git a/docs/api/src/api/axevent/html/globals_func.html b/docs/api/src/api/axevent/html/globals_func.html index c666198..ca1059a 100644 --- a/docs/api/src/api/axevent/html/globals_func.html +++ b/docs/api/src/api/axevent/html/globals_func.html @@ -118,6 +118,9 @@

    - a -

    • ax_event_handler_declare() : ax_event_handler.h
    • +
    • ax_event_handler_declare2() +: ax_event_handler.h +
    • ax_event_handler_declare_from_template() : ax_event_handler.h
    • diff --git a/docs/api/src/api/axevent/html/navtreeindex0.js b/docs/api/src/api/axevent/html/navtreeindex0.js index 287de68..1803395 100644 --- a/docs/api/src/api/axevent/html/navtreeindex0.js +++ b/docs/api/src/api/axevent/html/navtreeindex0.js @@ -44,13 +44,14 @@ var NAVTREEINDEX0 = "ax__event__handler_8h.html":[1,0,3], "ax__event__handler_8h.html#a069c6140889e0b0aec24b8a1f9063ebc":[1,0,3,5], "ax__event__handler_8h.html#a16d563cbc9c8974b72f296f8dfbdff3a":[1,0,3,2], -"ax__event__handler_8h.html#a5688da60eeea59fd1d50f394a8177fc9":[1,0,3,9], -"ax__event__handler_8h.html#a61d4484571aacc5547f9e5bf524fd01d":[1,0,3,7], -"ax__event__handler_8h.html#aa7d1fd47acc735ded14835b1b2c693f3":[1,0,3,6], -"ax__event__handler_8h.html#ac45d53fe12862e3799e2abb133b50d7a":[1,0,3,8], +"ax__event__handler_8h.html#a4d1612f560dbdaed57305385b5a4a0f6":[1,0,3,6], +"ax__event__handler_8h.html#a5688da60eeea59fd1d50f394a8177fc9":[1,0,3,10], +"ax__event__handler_8h.html#a61d4484571aacc5547f9e5bf524fd01d":[1,0,3,8], +"ax__event__handler_8h.html#aa7d1fd47acc735ded14835b1b2c693f3":[1,0,3,7], +"ax__event__handler_8h.html#ac45d53fe12862e3799e2abb133b50d7a":[1,0,3,9], "ax__event__handler_8h.html#ac8fa0ee5cba77fffffad4153833b040d":[1,0,3,4], "ax__event__handler_8h.html#ad1bb63bc12366aefb50139ea6a8b3904":[1,0,3,1], -"ax__event__handler_8h.html#ae18cd4f8d25c6fc555d91fde187dac8d":[1,0,3,10], +"ax__event__handler_8h.html#ae18cd4f8d25c6fc555d91fde187dac8d":[1,0,3,11], "ax__event__handler_8h.html#ae40c17762e9ed663356e34c5a9ea05fe":[1,0,3,0], "ax__event__handler_8h.html#aeb60d443c4006c0deb4ea3763f896de2":[1,0,3,3], "ax__event__handler_8h_source.html":[1,0,3], diff --git a/docs/api/src/api/axoverlay/html/axoverlay_8h__incl.md5 b/docs/api/src/api/axoverlay/html/axoverlay_8h__incl.md5 deleted file mode 100644 index 7ba89a2..0000000 --- a/docs/api/src/api/axoverlay/html/axoverlay_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -779c49708e38945656824c4bc274fc40 \ No newline at end of file diff --git a/docs/api/src/api/axoverlay/html/doxygen.png b/docs/api/src/api/axoverlay/html/doxygen.png deleted file mode 100644 index 69a921c279e71363b64e6868642ba060f2060323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3811 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 Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% diff --git a/docs/api/src/api/axoverlay/html/files.js b/docs/api/src/api/axoverlay/html/files.js deleted file mode 100644 index a79b530..0000000 --- a/docs/api/src/api/axoverlay/html/files.js +++ /dev/null @@ -1,4 +0,0 @@ -var files = -[ - [ "axoverlay.h", "axoverlay_8h.html", "axoverlay_8h" ] -]; \ No newline at end of file diff --git a/docs/api/src/api/axoverlay/html/graph_legend.md5 b/docs/api/src/api/axoverlay/html/graph_legend.md5 deleted file mode 100644 index a06ed05..0000000 --- a/docs/api/src/api/axoverlay/html/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/api/src/api/axoverlay/html/search/close.png b/docs/api/src/api/axoverlay/html/search/close.png deleted file mode 100644 index 9342d3dfeea7b7c4ee610987e717804b5a42ceb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN diff --git a/docs/api/src/api/axoverlay/html/search/mag_sel.png b/docs/api/src/api/axoverlay/html/search/mag_sel.png deleted file mode 100644 index 81f6040a2092402b4d98f9ffa8855d12a0d4ca17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn diff --git a/docs/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.md5 b/docs/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.md5 deleted file mode 100644 index 73a3ad4..0000000 --- a/docs/api/src/api/axoverlay/html/structaxoverlay__settings__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0cf2b51d00effaea32f9a48537d332a0 \ No newline at end of file diff --git a/docs/api/src/api/axparameter/html/doxygen.png b/docs/api/src/api/axparameter/html/doxygen.png deleted file mode 100644 index 69a921c279e71363b64e6868642ba060f2060323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3811 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 Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% diff --git a/docs/api/src/api/axserialport/html/doxygen.png b/docs/api/src/api/axserialport/html/doxygen.png deleted file mode 100644 index 69a921c279e71363b64e6868642ba060f2060323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3811 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 Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% diff --git a/docs/api/src/api/axserialport/html/files.js b/docs/api/src/api/axserialport/html/files.js deleted file mode 100644 index e547efb..0000000 --- a/docs/api/src/api/axserialport/html/files.js +++ /dev/null @@ -1,4 +0,0 @@ -var files = -[ - [ "axserialport.h", "axserialport_8h.html", "axserialport_8h" ] -]; \ No newline at end of file diff --git a/docs/api/src/api/axstorage/html/doxygen.png b/docs/api/src/api/axstorage/html/doxygen.png deleted file mode 100644 index 69a921c279e71363b64e6868642ba060f2060323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3811 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 Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% diff --git a/docs/api/src/api/axstorage/html/files.js b/docs/api/src/api/axstorage/html/files.js deleted file mode 100644 index 26a54c0..0000000 --- a/docs/api/src/api/axstorage/html/files.js +++ /dev/null @@ -1,6 +0,0 @@ -var files = -[ - [ "ax_storage.h", "ax__storage_8h.html", "ax__storage_8h" ], - [ "ax_storage_error.h", "ax__storage__error_8h.html", "ax__storage__error_8h" ], - [ "axstorage.h", "axstorage_8h.html", null ] -]; \ No newline at end of file diff --git a/docs/api/src/api/licensekey/html/doxygen.png b/docs/api/src/api/licensekey/html/doxygen.png deleted file mode 100644 index 69a921c279e71363b64e6868642ba060f2060323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3811 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 Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% diff --git a/docs/api/src/api/licensekey/html/files.js b/docs/api/src/api/licensekey/html/files.js deleted file mode 100644 index 54cb7e7..0000000 --- a/docs/api/src/api/licensekey/html/files.js +++ /dev/null @@ -1,6 +0,0 @@ -var files = -[ - [ "licensekey.h", "licensekey_8h.html", "licensekey_8h" ], - [ "licensekey_dyn.h", "licensekey__dyn_8h_source.html", null ], - [ "licensekey_states.h", "licensekey__states_8h.html", "licensekey__states_8h" ] -]; \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/connection_8h__dep__incl.md5 b/docs/api/src/api/metadata-broker/html/connection_8h__dep__incl.md5 deleted file mode 100644 index 3ac3ed3..0000000 --- a/docs/api/src/api/metadata-broker/html/connection_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0d9ce5ef650868582d82b5ea633224b2 \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/connection_8h__incl.md5 b/docs/api/src/api/metadata-broker/html/connection_8h__incl.md5 deleted file mode 100644 index 92f61de..0000000 --- a/docs/api/src/api/metadata-broker/html/connection_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0e46e70b3cc52e33fe04d0f0ff339847 \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/dir_a4aa414689e44a98d0e006974772d374.html b/docs/api/src/api/metadata-broker/html/dir_a4aa414689e44a98d0e006974772d374.html deleted file mode 100644 index df64b3d..0000000 --- a/docs/api/src/api/metadata-broker/html/dir_a4aa414689e44a98d0e006974772d374.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -Metadata Broker: mdb Directory Reference - - - - - - - - - -
      -
      - - - - - - -
      -
      Metadata Broker -  0.23.2 -
      -
      -
      - - - - - - - - -
      -
      - - -
      - -
      - - -
      -
      -
      -
      mdb Directory Reference
      -
      -
      - - - - - - - - - - - - - - -

      -Files

      file  connection.h [code]
       
      file  error.h [code]
       
       
      file  signatures.h [code]
       
      file  subscriber.h [code]
       
      file  subscriber_config.h [code]
       
      -
      - - - - diff --git a/docs/api/src/api/metadata-broker/html/doxygen.png b/docs/api/src/api/metadata-broker/html/doxygen.png deleted file mode 100644 index 3ff17d807fd8aa003bed8bb2a69e8f0909592fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3779 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 diff --git a/docs/api/src/api/metadata-broker/html/error_8h__dep__incl.md5 b/docs/api/src/api/metadata-broker/html/error_8h__dep__incl.md5 deleted file mode 100644 index 5e83fa9..0000000 --- a/docs/api/src/api/metadata-broker/html/error_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c5a1e1e896e14712417518138a80b53f \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/graph_legend.md5 b/docs/api/src/api/metadata-broker/html/graph_legend.md5 deleted file mode 100644 index a06ed05..0000000 --- a/docs/api/src/api/metadata-broker/html/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/metadata_8h__dep__incl.md5 b/docs/api/src/api/metadata-broker/html/metadata_8h__dep__incl.md5 deleted file mode 100644 index 7fd80fa..0000000 --- a/docs/api/src/api/metadata-broker/html/metadata_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c1992a93707fa4d281e6f47a1028e913 \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/metadata_8h__incl.md5 b/docs/api/src/api/metadata-broker/html/metadata_8h__incl.md5 deleted file mode 100644 index 76152bc..0000000 --- a/docs/api/src/api/metadata-broker/html/metadata_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -581520a94d95165a3adec3d612865a8b \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/pages.html b/docs/api/src/api/metadata-broker/html/pages.html deleted file mode 100644 index e31222c..0000000 --- a/docs/api/src/api/metadata-broker/html/pages.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - -Metadata Broker: Related Pages - - - - - - - - - -
      -
      - - - - - - -
      -
      Metadata Broker -  0.23.2 -
      -
      -
      - - - - - - - -
      - -
      -
      - - -
      - -
      - -
      -
      -
      Related Pages
      -
      -
      -
      Here is a list of all related documentation pages:
      -
      - - - - diff --git a/docs/api/src/api/metadata-broker/html/search/close.png b/docs/api/src/api/metadata-broker/html/search/close.png deleted file mode 100644 index 9342d3dfeea7b7c4ee610987e717804b5a42ceb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN diff --git a/docs/api/src/api/metadata-broker/html/search/mag_sel.png b/docs/api/src/api/metadata-broker/html/search/mag_sel.png deleted file mode 100644 index 81f6040a2092402b4d98f9ffa8855d12a0d4ca17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn diff --git a/docs/api/src/api/metadata-broker/html/signatures_8h__dep__incl.md5 b/docs/api/src/api/metadata-broker/html/signatures_8h__dep__incl.md5 deleted file mode 100644 index 81ceae5..0000000 --- a/docs/api/src/api/metadata-broker/html/signatures_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e348aa108c1879442c7c3ce82576fcd8 \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/signatures_8h__incl.md5 b/docs/api/src/api/metadata-broker/html/signatures_8h__incl.md5 deleted file mode 100644 index d032b1a..0000000 --- a/docs/api/src/api/metadata-broker/html/signatures_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6194e51a1ae23a704ac6602902b3d8a0 \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/structmdb__error__t.html b/docs/api/src/api/metadata-broker/html/structmdb__error__t.html index b42492a..4c03355 100644 --- a/docs/api/src/api/metadata-broker/html/structmdb__error__t.html +++ b/docs/api/src/api/metadata-broker/html/structmdb__error__t.html @@ -82,7 +82,7 @@

      Detailed Description

      Type containing error information.

      -

      This is passed as an pointer argument to most library functions. An initialized pointer of this type needs to be deallocated with mdb_clear_error(). The field message will always be non-NULL on errors.

      +

      This is passed as a pointer argument to most library functions. An initialized pointer of this type needs to be deallocated with mdb_clear_error(). The field message will always be non-NULL on errors.

      The contents will not be changed unless there is an error.

      Examples
      consumer/main.c.
      diff --git a/docs/api/src/api/metadata-broker/html/subscriber_8h__incl.md5 b/docs/api/src/api/metadata-broker/html/subscriber_8h__incl.md5 deleted file mode 100644 index e308f3e..0000000 --- a/docs/api/src/api/metadata-broker/html/subscriber_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c21f6494f35889ee8992b92747d5ce0f \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/subscriber__config_8h__dep__incl.md5 b/docs/api/src/api/metadata-broker/html/subscriber__config_8h__dep__incl.md5 deleted file mode 100644 index 5c53de6..0000000 --- a/docs/api/src/api/metadata-broker/html/subscriber__config_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -021bc176fd682d956ae1af35b6861fcd \ No newline at end of file diff --git a/docs/api/src/api/metadata-broker/html/subscriber__config_8h__incl.md5 b/docs/api/src/api/metadata-broker/html/subscriber__config_8h__incl.md5 deleted file mode 100644 index bdcf783..0000000 --- a/docs/api/src/api/metadata-broker/html/subscriber__config_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a852d9984cfc80c940ab404ca0209ae0 \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 b/docs/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 deleted file mode 100644 index e9ac9a0..0000000 --- a/docs/api/src/api/vdostream/html/dir_97aefd0d527b934f1d99a682da8fe6a9_dep.md5 +++ /dev/null @@ -1 +0,0 @@ -2be99119adb253a87537badc1f4f28eb \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/doxygen.png b/docs/api/src/api/vdostream/html/doxygen.png deleted file mode 100644 index 69a921c279e71363b64e6868642ba060f2060323..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3811 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 Z`X4vY{fmiwlZyZV002ovPDHLkV1isrLH_^% diff --git a/docs/api/src/api/vdostream/html/files.js b/docs/api/src/api/vdostream/html/files.js deleted file mode 100644 index 4be7fe8..0000000 --- a/docs/api/src/api/vdostream/html/files.js +++ /dev/null @@ -1,10 +0,0 @@ -var files = -[ - [ "vdo-buffer.h", "vdo-buffer_8h.html", "vdo-buffer_8h" ], - [ "vdo-channel.h", "vdo-channel_8h.html", "vdo-channel_8h" ], - [ "vdo-error.h", "vdo-error_8h.html", "vdo-error_8h" ], - [ "vdo-frame.h", "vdo-frame_8h.html", "vdo-frame_8h" ], - [ "vdo-map.h", "vdo-map_8h.html", "vdo-map_8h" ], - [ "vdo-stream.h", "vdo-stream_8h.html", "vdo-stream_8h" ], - [ "vdo-types.h", "vdo-types_8h.html", "vdo-types_8h" ] -]; \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/graph_legend.md5 b/docs/api/src/api/vdostream/html/graph_legend.md5 deleted file mode 100644 index a06ed05..0000000 --- a/docs/api/src/api/vdostream/html/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/search/close.png b/docs/api/src/api/vdostream/html/search/close.png deleted file mode 100644 index 9342d3dfeea7b7c4ee610987e717804b5a42ceb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN diff --git a/docs/api/src/api/vdostream/html/search/mag_sel.png b/docs/api/src/api/vdostream/html/search/mag_sel.png deleted file mode 100644 index 81f6040a2092402b4d98f9ffa8855d12a0d4ca17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn diff --git a/docs/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.md5 b/docs/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.md5 deleted file mode 100644 index e2774ba..0000000 --- a/docs/api/src/api/vdostream/html/structVdoResolutionSet__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -941ec7f6c6ab381583a4de114802d056 \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/unionVdoPair32u__coll__graph.md5 b/docs/api/src/api/vdostream/html/unionVdoPair32u__coll__graph.md5 deleted file mode 100644 index 62998f3..0000000 --- a/docs/api/src/api/vdostream/html/unionVdoPair32u__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -848b013ffc575f0d26eb7ef138fa3644 \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.md5 b/docs/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.md5 deleted file mode 100644 index a6d9ec7..0000000 --- a/docs/api/src/api/vdostream/html/vdo-buffer_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -e98762770c1cb4bd7106da57f52e0e37 \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-buffer_8h__incl.md5 b/docs/api/src/api/vdostream/html/vdo-buffer_8h__incl.md5 deleted file mode 100644 index b680c67..0000000 --- a/docs/api/src/api/vdostream/html/vdo-buffer_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -006350bee253d290bfa91d765ba3e458 \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-channel_8h__incl.md5 b/docs/api/src/api/vdostream/html/vdo-channel_8h__incl.md5 deleted file mode 100644 index 6945e4d..0000000 --- a/docs/api/src/api/vdostream/html/vdo-channel_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ed700a1053ccd6b3af96154dcfd4ab7d \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-error_8h__incl.md5 b/docs/api/src/api/vdostream/html/vdo-error_8h__incl.md5 deleted file mode 100644 index 5589652..0000000 --- a/docs/api/src/api/vdostream/html/vdo-error_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ce0c8aeb3d504b00d901b039ca894998 \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.md5 b/docs/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.md5 deleted file mode 100644 index 377851a..0000000 --- a/docs/api/src/api/vdostream/html/vdo-frame_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -f0f0cf6133ece10491977c3cb38328ab \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-frame_8h__incl.md5 b/docs/api/src/api/vdostream/html/vdo-frame_8h__incl.md5 deleted file mode 100644 index a7ce27f..0000000 --- a/docs/api/src/api/vdostream/html/vdo-frame_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -b73a5401886725615b5a64d6b184ba4d \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-map_8h__dep__incl.md5 b/docs/api/src/api/vdostream/html/vdo-map_8h__dep__incl.md5 deleted file mode 100644 index 0804418..0000000 --- a/docs/api/src/api/vdostream/html/vdo-map_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -12959e7f2563afc7fe21ea5cbbeb4cc6 \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-map_8h__incl.md5 b/docs/api/src/api/vdostream/html/vdo-map_8h__incl.md5 deleted file mode 100644 index cdec674..0000000 --- a/docs/api/src/api/vdostream/html/vdo-map_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a53196c32a61f8005b42b595ac0b705e \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-stream_8h__incl.md5 b/docs/api/src/api/vdostream/html/vdo-stream_8h__incl.md5 deleted file mode 100644 index bbb2f4d..0000000 --- a/docs/api/src/api/vdostream/html/vdo-stream_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0eb050284887cdc311d8ce2018587824 \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-types_8h__dep__incl.md5 b/docs/api/src/api/vdostream/html/vdo-types_8h__dep__incl.md5 deleted file mode 100644 index aa583e4..0000000 --- a/docs/api/src/api/vdostream/html/vdo-types_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -7fc37c6b868dbe4ed5c4782adb273fba \ No newline at end of file diff --git a/docs/api/src/api/vdostream/html/vdo-types_8h__incl.md5 b/docs/api/src/api/vdostream/html/vdo-types_8h__incl.md5 deleted file mode 100644 index dc4aeac..0000000 --- a/docs/api/src/api/vdostream/html/vdo-types_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -8cb0fd841c22947398872b77f851a1f9 \ No newline at end of file From 1367487581b1cee6aa28c17aed149a4604ccf685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrik=20=C3=85kesson?= <66364872+pataxis@users.noreply.github.com> Date: Mon, 13 May 2024 09:55:08 +0200 Subject: [PATCH 7/7] Update relative links pointing to .md (#286) --- .../develop-your-own-deep-learning-application.md | 2 +- docs/computer-vision-on-device/test-your-model.md | 2 +- docs/introduction/acap4-vs-acap3.md | 6 +++--- docs/release-notes/4.11.md | 6 +++--- docs/release-notes/4.12.md | 2 +- docs/release-notes/4.13.md | 6 +++--- docs/release-notes/4.14.md | 6 +++--- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/computer-vision-on-device/develop-your-own-deep-learning-application.md b/docs/computer-vision-on-device/develop-your-own-deep-learning-application.md index 861fd8d..754a551 100644 --- a/docs/computer-vision-on-device/develop-your-own-deep-learning-application.md +++ b/docs/computer-vision-on-device/develop-your-own-deep-learning-application.md @@ -20,7 +20,7 @@ To get started, you can explore the examples of deep learning applications avail Alternatively, the [acap-computer-vision-sdk-examples](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples) repository contains examples that utilize the Computer Vision SDK to run deep learning applications in a Docker container on the Axis device. Examples like [minimal-ml-inference](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/tree/main/minimal-ml-inference) and [object-detector-python](https://github.com/AxisCommunications/acap-computer-vision-sdk-examples/tree/main/object-detector-python) demonstrate the capabilities of the Computer Vision SDK. -These examples demonstrate the usage of our [machine learning API](../api/native-sdk-api.md#machine-learning-api-larod) also called Larod. Larod is a C API that enables you to run deep learning models in the TensorFlow Lite format. In the case of Computer Vision SDK examples, the ACAP Runtime is used as an interface to the machine learning API. The ACAP Runtime, available in the [ACAP Runtime repository](https://github.com/AxisCommunications/acap-runtime), facilitates communication with the machine learning API from a Docker container, allowing you to use any programming language. +These examples demonstrate the usage of our [machine learning API](../api/native-sdk-api#machine-learning-api-larod) also called Larod. Larod is a C API that enables you to run deep learning models in the TensorFlow Lite format. In the case of Computer Vision SDK examples, the ACAP Runtime is used as an interface to the machine learning API. The ACAP Runtime, available in the [ACAP Runtime repository](https://github.com/AxisCommunications/acap-runtime), facilitates communication with the machine learning API from a Docker container, allowing you to use any programming language. Before diving into the development of your application, we recommend that you continue reading the rest of the documentation to understand the advantages and limitations of deploying a deep learning model on an Axis device. diff --git a/docs/computer-vision-on-device/test-your-model.md b/docs/computer-vision-on-device/test-your-model.md index 61b5a69..cff66dc 100644 --- a/docs/computer-vision-on-device/test-your-model.md +++ b/docs/computer-vision-on-device/test-your-model.md @@ -131,4 +131,4 @@ If you encounter any errors with the commands mentioned above, you can retrieve journalctl -u larod ``` -This command will provide you with the logs from the larod service, which can help you identify and understand the issue you are experiencing. Common messages you may encounter indicate that certain layers in your network are not supported. To ensure proper functionality, ensure that your network only includes supported layers. For more information, refer to the [supported-frameworks](./supported-frameworks.md) section. +This command will provide you with the logs from the larod service, which can help you identify and understand the issue you are experiencing. Common messages you may encounter indicate that certain layers in your network are not supported. To ensure proper functionality, ensure that your network only includes supported layers. For more information, refer to the [supported-frameworks](./supported-frameworks) section. diff --git a/docs/introduction/acap4-vs-acap3.md b/docs/introduction/acap4-vs-acap3.md index e7355f3..7fbe287 100644 --- a/docs/introduction/acap4-vs-acap3.md +++ b/docs/introduction/acap4-vs-acap3.md @@ -29,9 +29,9 @@ replace many of the APIs from ACAP version 3. | API | Future in ACAP version 4? | | :-- | :-- | | **axHTTP** | Replaced by the [web-server](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/web-server) and [web-server-using-fastcgi](https://github.com/AxisCommunications/acap-native-sdk-examples/tree/main/web-server-using-fastcgi) examples which describe how to achieve the same functionality. | -| **axSerialPort** | Added to ACAP Native SDK in 1.11 release as [Serial Port API](../api/native-sdk-api.md#serial-port-api). | -| **axStorage** | Added to ACAP Native SDK in 1.11 release as [Edge Storage API](../api/native-sdk-api.md#edge-storage-api). | -| **axParameter** | Added to ACAP Native SDK in 1.13 release as [Parameter API](../api/native-sdk-api.md#parameter-api). | +| **axSerialPort** | Added to ACAP Native SDK in 1.11 release as [Serial Port API](../api/native-sdk-api#serial-port-api). | +| **axStorage** | Added to ACAP Native SDK in 1.11 release as [Edge Storage API](../api/native-sdk-api#edge-storage-api). | +| **axParameter** | Added to ACAP Native SDK in 1.13 release as [Parameter API](../api/native-sdk-api.#parameter-api). | | **axAudio** | Will get a new API in a later release. | | **axPTZ** | Not yet decided, i.e. may be replaced or moved as is to Native SDK. | | **Old Capture API
      (Media capture)** | Will not be moved to Native SDK. | diff --git a/docs/release-notes/4.11.md b/docs/release-notes/4.11.md index c82b624..a119fb1 100644 --- a/docs/release-notes/4.11.md +++ b/docs/release-notes/4.11.md @@ -49,7 +49,7 @@ Supported architectures: ### Compatibility -To get a list of devices that are compatible with the ACAP Computer Vision SDK, see the section [Axis devices and compatibility](../axis-devices-and-compatibility/index.md#acap-computer-vision-sdk-hardware-compatibility) for links and more information. +To get a list of devices that are compatible with the ACAP Computer Vision SDK, see the section [Axis devices and compatibility](../axis-devices-and-compatibility/index#acap-computer-vision-sdk-hardware-compatibility) for links and more information. ## ACAP Native SDK @@ -69,8 +69,8 @@ See also [compatibility information](../axis-devices-and-compatibility). The following APIs are added to the ACAP Native SDK -- [Edge storage API](../api/native-sdk-api.md#edge-storage-api) - Allows the application to save and retrieve data on mounted storage devices such as SD cards and NAS (Network Attached Storage) units. -- [Serial port API](../api/native-sdk-api.md#serial-port-api) - Allows the application to configure and control the external serial port on selected Axis products. +- [Edge storage API](../api/native-sdk-api#edge-storage-api) - Allows the application to save and retrieve data on mounted storage devices such as SD cards and NAS (Network Attached Storage) units. +- [Serial port API](../api/native-sdk-api#serial-port-api) - Allows the application to configure and control the external serial port on selected Axis products. ### APIs supported in this release diff --git a/docs/release-notes/4.12.md b/docs/release-notes/4.12.md index 7edc0c3..0bd8dff 100644 --- a/docs/release-notes/4.12.md +++ b/docs/release-notes/4.12.md @@ -100,7 +100,7 @@ Supported architectures: ### Compatibility -To get a list of devices that are compatible with the ACAP Computer Vision SDK, see the section [Axis devices and compatibility](../axis-devices-and-compatibility/index.md#acap-computer-vision-sdk-hardware-compatibility) for links and more information. +To get a list of devices that are compatible with the ACAP Computer Vision SDK, see the section [Axis devices and compatibility](../axis-devices-and-compatibility/index#acap-computer-vision-sdk-hardware-compatibility) for links and more information. ## ACAP Native SDK diff --git a/docs/release-notes/4.13.md b/docs/release-notes/4.13.md index 82013b6..4e916e9 100644 --- a/docs/release-notes/4.13.md +++ b/docs/release-notes/4.13.md @@ -68,7 +68,7 @@ Device Software: - Add optional field `$schema` that can point out a manifest schema to use for manifest validation and auto-completion. See how this can be done in - [Setting up Visual Studio Code](../develop/setting-up-visual-studio-code.md#manifest-validation). + [Setting up Visual Studio Code](../develop/setting-up-visual-studio-code#manifest-validation). - Allow strings in `requiredMethods` and `conditionalMethods` under `dbus` to contain `-`. ```json @@ -119,11 +119,11 @@ Supported architectures: ### Updates - The following APIs have been added to the ACAP Native SDK: - - [Axparameter API](../api/native-sdk-api.md#axparameter-api) Example written + - [Axparameter API](../api/native-sdk-api#parameter-api) Example written in C that demonstrates how to manage application-defined parameters, allowing you to add, remove, set, get, and register callback functions for parameter value updates. - - [Metadata Broker API](../api/native-sdk-api.md#metadata-broker-api) - + - [Metadata Broker API](../api/native-sdk-api#metadata-broker-api) - Example written in C that shows how to consume metadata stream Analytics Scene Description. - The feature [VAPIX access for ACAP diff --git a/docs/release-notes/4.14.md b/docs/release-notes/4.14.md index 456251f..6241284 100644 --- a/docs/release-notes/4.14.md +++ b/docs/release-notes/4.14.md @@ -34,11 +34,11 @@ Device software: ## New features - The following APIs have been added to the ACAP Native SDK: - - [Curl](../api/native-sdk-api.md#curl) - + - [Curl](../api/native-sdk-api#curl) - An open-source library for transferring data with URLs. - - [Jansson](../api/native-sdk-api.md#jansson) - + - [Jansson](../api/native-sdk-api#jansson) - An open-source library for encoding, decoding and manipulating JSON data. - - [OpenSSL](../api/native-sdk-api.md#openssl) - + - [OpenSSL](../api/native-sdk-api#openssl) - An open-source library for general-purpose cryptography and secure communication. - Manifest schema [1.7.0](../develop/manifest-schemas/schema-field-descriptions-v1.7.0): - Make preparations on the host system so the application can run containers,