|
|
@ -43,8 +43,61 @@ Common types:
|
|
|
|
set set or multiset
|
|
|
|
set set or multiset
|
|
|
|
bn CBigNum
|
|
|
|
bn CBigNum
|
|
|
|
|
|
|
|
|
|
|
|
-------------------------
|
|
|
|
Doxygen comments
|
|
|
|
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To facilitate the generation of documentation, use doxygen-compatible comment blocks for functions, methods and fields.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For example, to describe a function use:
|
|
|
|
|
|
|
|
```c++
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* ... text ...
|
|
|
|
|
|
|
|
* @param[in] arg1 A description
|
|
|
|
|
|
|
|
* @param[in] arg2 Another argument description
|
|
|
|
|
|
|
|
* @pre Precondition for function...
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
bool function(int arg1, const char *arg2)
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
A complete list of `@xxx` commands can be found at http://www.stack.nl/~dimitri/doxygen/manual/commands.html.
|
|
|
|
|
|
|
|
As Doxygen recognizes the comments by the delimiters (`/**` and `*/` in this case), you don't
|
|
|
|
|
|
|
|
*need* to provide any commands for a comment to be valid, just a description text is fine.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To describe a class use the same construct above the class definition:
|
|
|
|
|
|
|
|
```c++
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Alerts are for notifying old versions if they become too obsolete and
|
|
|
|
|
|
|
|
* need to upgrade. The message is displayed in the status bar.
|
|
|
|
|
|
|
|
* @see GetWarnings()
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
class CAlert
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To describe a member or variable use:
|
|
|
|
|
|
|
|
```c++
|
|
|
|
|
|
|
|
int var; //!< Detailed description after the member
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Also OK:
|
|
|
|
|
|
|
|
```c++
|
|
|
|
|
|
|
|
///
|
|
|
|
|
|
|
|
/// ... text ...
|
|
|
|
|
|
|
|
///
|
|
|
|
|
|
|
|
bool function2(int arg1, const char *arg2)
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Not OK (used plenty in the current source, but not picked up):
|
|
|
|
|
|
|
|
```c++
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// ... text ...
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A full list of comment syntaxes picked up by doxygen can be found at http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html,
|
|
|
|
|
|
|
|
but if possible use one of the above styles.
|
|
|
|
|
|
|
|
|
|
|
|
Locking/mutex usage notes
|
|
|
|
Locking/mutex usage notes
|
|
|
|
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
|
|
|
|
The code is multi-threaded, and uses mutexes and the
|
|
|
|
The code is multi-threaded, and uses mutexes and the
|
|
|
|
LOCK/TRY_LOCK macros to protect data structures.
|
|
|
|
LOCK/TRY_LOCK macros to protect data structures.
|
|
|
@ -60,8 +113,8 @@ between the various components is a goal, with any necessary locking
|
|
|
|
done by the components (e.g. see the self-contained CKeyStore class
|
|
|
|
done by the components (e.g. see the self-contained CKeyStore class
|
|
|
|
and its cs_KeyStore lock for example).
|
|
|
|
and its cs_KeyStore lock for example).
|
|
|
|
|
|
|
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
Threads
|
|
|
|
Threads
|
|
|
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
|
|
- ThreadScriptCheck : Verifies block scripts.
|
|
|
|
- ThreadScriptCheck : Verifies block scripts.
|
|
|
|
|
|
|
|
|
|
|
|