*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* --- # WORLD STORAGE CPP SERVER (PISTACHE) ## Description This repo contains the API specification needed to generate a pistache server library. It also contains a sample using that library, it's a basic implementation allowing the user to perform all CRUD operations on the Trackable model ## Repo Content | | File / Folder | Description | |--------------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | :open_file_folder: | 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 | | :open_file_folder: | 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 object Trackable | | :page_with_curl: | openapi.yaml | The api specification file | | :page_with_curl: | 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