summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--other/apidsl/README.md50
-rw-r--r--other/apidsl/tox.in.h8
-rw-r--r--other/astyle/README11
-rw-r--r--other/astyle/README.md32
-rw-r--r--toxcore/tox.h9
5 files changed, 93 insertions, 17 deletions
diff --git a/other/apidsl/README.md b/other/apidsl/README.md
index 0b3e776d..c0f29ea4 100644
--- a/other/apidsl/README.md
+++ b/other/apidsl/README.md
@@ -1,11 +1,49 @@
1This folder contains the input file that can be used to generate the tox.h api 1This folder contains the input file (``tox.in.h``) that has to be used to generate the ``tox.h`` api with: https://github.com/iphydf/apidsl
2with: https://github.com/iphydf/apidsl
3 2
4You can also use the following command if you can't install it: 3# Minimal requirements
5 4
5There are some minimal requirements to contribute to ``tox.h``:
6* unix enrironment
7* ``astyle`` ``>=2.03``
8* [``apidsl``](https://github.com/iphydf/apidsl) (you can use provided service with curl instead)
9
10## Quick way
11
12If you want to do it quickly and you don't have time for anything other than copypasting commands, you should have ``curl`` installed.
13
14
151. Make sure that you have ``curl`` and ``>=astyle-2.03`` installed
162. Modify [``tox.in.h``](/other/apidsl/tox.in.h)
173. Run command below ↓
18
19Command to run from ``toxcore`` directory (quick way, involves using curl):
20```bash
21rm toxcore/tox.h && \
22( curl -X POST --data-binary @- https://criticism.herokuapp.com/apidsl < ./other/apidsl/tox.in.h > ./toxcore/tox.h ) && \
23astyle --options=./other/astyle/astylerc ./toxcore/tox.h
24```
25
26When formatting will be complete, you should see output like:
6``` 27```
7curl -X POST --data-binary @- https://criticism.herokuapp.com/apidsl < tox.in.h > tox.h 28Formatted ./toxcore/tox.h
29```
30
31You may want to make sure with ``git diff`` that changes made in ``tox.h`` reflect changes in ``tox.in.h``.
32
33And you're done.
34
35
36## Manually
37
38If you prefer to have more control over what is happening, there are steps below:
39
401. Install [``apidsl``](https://github.com/iphydf/apidsl)
412. Install ``astyle``, version 2.03 or later.
423. Modify [``tox.in.h``](/other/apidsl/tox.in.h)
434. Use ``apidsl`` ``??``
445. Parse generated ``tox.h`` with astyle, minimal command for it would be:
45```bash
46astyle --options=./other/astyle/astylerc ./toxcore/tox.h
8``` 47```
9 48
10Note that the output must be passed through astyle with the config in 49**Always pass output from ``apidsl`` through astyle.** \ No newline at end of file
11other/astyle/astylerc to generate the exact same file.
diff --git a/other/apidsl/tox.in.h b/other/apidsl/tox.in.h
index 30c78e44..189fc43d 100644
--- a/other/apidsl/tox.in.h
+++ b/other/apidsl/tox.in.h
@@ -34,6 +34,14 @@ extern "C" {
34#endif 34#endif
35%} 35%}
36 36
37
38/*****************************************************************************
39 * `tox.h` SHOULD *NOT* BE EDITED MANUALLY – any changes should be made to *
40 * `tox.in.h`, located in `other/apidsl/`. For instructions on how to *
41 * generate `tox.h` from `tox.in.h` please refer to `other/apidsl/README.md` *
42 *****************************************************************************/
43
44
37/** \page core Public core API for Tox clients. 45/** \page core Public core API for Tox clients.
38 * 46 *
39 * Every function that can fail takes a function-specific error code pointer 47 * Every function that can fail takes a function-specific error code pointer
diff --git a/other/astyle/README b/other/astyle/README
deleted file mode 100644
index 26802ec7..00000000
--- a/other/astyle/README
+++ /dev/null
@@ -1,11 +0,0 @@
1This directory can house various tools and utilities.
2
3astylerc
4 - This file can be used in the precommit hook to try its best
5 at making the code conform to the coding style document.
6
7pre-commit (*NIX only at the moment)
8 - Lints your file in adherence to the coding style doucment as
9 best as possible in terms of spacing, indenting, etc.
10 - Requires you to have astyle installed.
11 - To use, copy this file to ProjectTox-Core/.git/hooks
diff --git a/other/astyle/README.md b/other/astyle/README.md
new file mode 100644
index 00000000..f68edf68
--- /dev/null
+++ b/other/astyle/README.md
@@ -0,0 +1,32 @@
1This directory can house various tools and utilities.
2
3# How to use astyle
4
5## Manually
6
7### For all files
8
9Run from ``toxcore`` directory:
10```bash
11astyle --options=./other/astyle/astylerc ./toxcore/*.c ./toxcore/*.h ./toxdns/*.c ./toxdns/*.h ./testing/*.c ./toxav/*.c ./toxav/*.h ./other/*.c ./other/bootstrap_daemon/*.c ./toxencryptsave/*.c ./toxencryptsave/*.h ./auto_tests/*.c
12```
13
14### For selected file
15
16Run from ``toxcore`` directory, e.g. for [``tox.h``](/toxcore/tox.h) file:
17```bash
18astyle --options=./other/astyle/astylerc ./toxcore/tox.h
19```
20
21
22## Automatically, as pre-commit hook (*NIX only)
23
24Copy [``astylerc``](/other/astyle/astylerc) to ``toxcore/.git/hooks``
25
26
27
28# Why
29
30``astylerc`` - this file can be used in the pre-commit hook to try its best at making the code conform to the coding style of toxcore.
31
32Furthermore, it is being used to format ``tox.h`` after using [``apidsl``](/other/apidsl) to generate it. \ No newline at end of file
diff --git a/toxcore/tox.h b/toxcore/tox.h
index 14c9f616..fd0792f2 100644
--- a/toxcore/tox.h
+++ b/toxcore/tox.h
@@ -32,6 +32,15 @@
32extern "C" { 32extern "C" {
33#endif 33#endif
34 34
35
36/*******************************************************************************
37 * `tox.h` SHOULD *NOT* BE EDITED MANUALLY – any changes should be made to *
38 * `tox.in.h`, located in `other/apidsl/`. For instructions on how to *
39 * generate `tox.h` from `tox.in.h` please refer to `other/apidsl/README.md` *
40 ******************************************************************************/
41
42
43
35/** \page core Public core API for Tox clients. 44/** \page core Public core API for Tox clients.
36 * 45 *
37 * Every function that can fail takes a function-specific error code pointer 46 * Every function that can fail takes a function-specific error code pointer