tomato/docs/apidsl.md
Green Sky 227425b90e Squashed 'external/toxcore/c-toxcore/' content from commit 67badf69
git-subtree-dir: external/toxcore/c-toxcore
git-subtree-split: 67badf69416a74e74f6d7eb51dd96f37282b8455
2023-07-25 11:53:09 +02:00

1.6 KiB

This folder contains the input file (tox.in.h) that has to be used to generate the tox.h api with: https://github.com/TokTok/apidsl

Minimal requirements

There are some minimal requirements to contribute to tox.h:

  • unix environment
  • astyle >=2.03
  • apidsl (you can use provided service with curl instead)

Quick way

If you want to do it quickly and you don't have time for anything other than copypasting commands, you should have curl installed.

  1. Make sure that you have curl and >=astyle-2.03 installed
  2. Modify tox.api.h
  3. Run command below ↓

Command to run from toxcore directory (quick way, involves using curl):

# For tox.h:
curl -X POST --data-binary @- https://apidsl.herokuapp.com/apidsl \
  < toxcore/tox.api.h \
  | astyle --options=other/astyle/astylerc \
  > toxcore/tox.h
# For toxav.h:
curl -X POST --data-binary @- https://apidsl.herokuapp.com/apidsl \
  < toxav/toxav.api.h \
  | astyle --options=other/astyle/astylerc \
  > toxav/toxav.h

You may want to make sure with git diff that changes made in tox.h reflect changes in tox.in.h.

And you're done.

Manually

If you prefer to have more control over what is happening, there are steps below:

  1. Install apidsl
  2. Install astyle, version 2.03 or later.
  3. Modify tox.api.h
  4. Use apidsl ??
  5. Parse generated tox.h with astyle, minimal command for it would be:
astyle --options=other/astyle/astylerc toxcore/tox.h

Always pass output from apidsl through astyle.