*This repository is part of the outcomes of the Specialist Task Force 620 focusing on the authoring of a World Representation as part of the ETSI ISG Augmented Reality Framework architecture (https://www.etsi.org/deliver/etsi_gs/ARF/001_099/003/01.01.01_60/gs_ARF003v010101p.pdf).* *The set of the World Representation authoring components includes:* *• The C++ and C# source code for servers and clients generated from OpenAPI available here (https://forge.etsi.org/rep/arf/arf005)* *• A Unity plugin and a Unity editor for authoring and accessing a World Representation hosted on a World Storage server.* *All these components are available under the ETSI Labs group “World Storage API Helpers”: https://labs.etsi.org/rep/arf/world-storage-api-helpers* *If you wish to contribute to this project or any other projects in the context of the [ETSI ISG Augmented Reality Framework architecture](https://www.etsi.org/committee/1420-arf), please refer to the ["How to get involved in an ISG" section on the ETSI website](https://www.etsi.org/how-to-get-involved-in-an-isg)* --- # WORLD STORAGE CPP SERVER (PISTACHE) ## Description This repo contains a pistache server library generation pipeline compliant to the World Storage API. It also contains a sample using that library, it's a basic implementation allowing the user to perform all CRUD operations on the Trackable models. ## Repo Content | | File / Folder | Description | |:-:|:--------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| | 📂 | EtsiServerGen | The folder where the library code will be generated, the openapi generator is set to not overwrite the CmakeLists.txt used to generate and export the library to the user's sytem | | 📂 | EtsiServerImpl | This folder contains a basic implementation of this library, its main set up a local hosted server on port 8080 waiting for CRUD REST queries on the Trackable objects | | 📂 | arf005 | A submodule pointing to the git containing the API specification file | | 📃 | package.json | The file containing the npm scripts automating the whole library generation process | ## Requirements - A Linux based machine - CMake - npm ## Code Generation To generate the code and the DLLs use the following commands: npm install npm run generate && npm run dependencies && npm run build