
All checks were successful
Build / Build (push) Successful in 39s
This commit significantly enhances the `README.md` file, providing comprehensive documentation for the ArmaDragonflyClient. Key changes: * **Detailed Function Categories:** Categorized functions for better organization (Core, Basic Data Operations, Hash Operations, List Operations). * **Usage Examples:** Added clear and concise usage examples for basic operations, hash operations (context and ID-specific), and list operations. * **Function Documentation Structure:** Outlined the structure for individual function documentation. * **License Information:** Updated the license information.
142 lines
4.6 KiB
Markdown
142 lines
4.6 KiB
Markdown
# ArmaDragonflyClient Documentation
|
|
|
|
This documentation provides details on all functions available in `ArmaDragonflyClient`. These functions allow you to interact with the in-memory database system for Arma 3.
|
|
|
|
## Function Categories
|
|
|
|
The functions are categorized by their purpose:
|
|
|
|
### [Core Functions](core/README.md)
|
|
- [init](core/init.md) - Initialize the database system
|
|
- [handler](core/handler.md) - Handle callbacks from the extension
|
|
- [processQueue](core/processQueue.md) - Process queued database operations
|
|
- [scheduler](core/scheduler.md) - Schedule database operations
|
|
- [addTask](core/addTask.md) - Add a task to the scheduler
|
|
- [printAddonName](core/printAddonName.md) - Print the addon name
|
|
- [test](core/test.md) - Test the database connection
|
|
|
|
### [Basic Data Operations](basic/README.md)
|
|
- [get](basic/get.md) - Get a value from the database
|
|
- [set](basic/set.md) - Set a value in the database
|
|
- [delete](basic/delete.md) - Delete a value from the database
|
|
- [save](basic/save.md) - Save the database to disk
|
|
- [fetch](basic/fetch.md) - Fetch a value from the database
|
|
|
|
### [Hash Operations](hash/README.md)
|
|
- [hashGet](hash/hashGet.md) - Get a field from a hash
|
|
- [hashGetAll](hash/hashGetAll.md) - Get all fields from a hash
|
|
- [hashGetAllId](hash/hashGetAllId.md) - Get all fields from a hash for a specific ID
|
|
- [hashGetId](hash/hashGetId.md) - Get a field from a hash for a specific ID
|
|
- [hashSet](hash/hashSet.md) - Set a field in a hash
|
|
- [hashSetBulk](hash/hashSetBulk.md) - Set multiple fields in a hash in one operation
|
|
- [hashSetId](hash/hashSetId.md) - Set a field in a hash for a specific ID
|
|
- [hashSetIdBulk](hash/hashSetIdBulk.md) - Set multiple fields in a hash for a specific ID in one operation
|
|
|
|
### [List Operations](list/README.md)
|
|
- [listAdd](list/listAdd.md) - Add an item to a list
|
|
- [listGet](list/listGet.md) - Get items from a list
|
|
- [listLoad](list/listLoad.md) - Load a list from the database
|
|
- [listRemove](list/listRemove.md) - Remove an item from a list
|
|
- [listSet](list/listSet.md) - Set an item in a list
|
|
|
|
## Usage Examples
|
|
|
|
### Basic Usage
|
|
```sqf
|
|
// Initialize the database
|
|
[] call dragonfly_db_fnc_init;
|
|
|
|
// Set a value
|
|
["myKey", [myValue]] call dragonfly_db_fnc_set;
|
|
|
|
// Get a value
|
|
["myKey", "myFunction"] call dragonfly_db_fnc_get;
|
|
|
|
// Delete a key
|
|
["myKey"] call dragonfly_db_fnc_delete;
|
|
```
|
|
|
|
### Hash Operations
|
|
```sqf
|
|
// Set a hash field (context mode)
|
|
["myField", [myValue]] call dragonfly_db_fnc_hashSet;
|
|
|
|
// Get a hash field (context mode)
|
|
["myField", "myFunction"] call dragonfly_db_fnc_hashGet;
|
|
|
|
// Get all hash fields (context mode)
|
|
["myFunction"] call dragonfly_db_fnc_hashGetAll;
|
|
|
|
// Set multiple hash fields (context mode)
|
|
[[
|
|
"loadout", [getUnitLoadout player],
|
|
"position", [getPosASL player],
|
|
"direction", [getDir player],
|
|
"stance", [stance player]
|
|
]] call dragonfly_db_fnc_hashSetBulk;
|
|
|
|
// Remove a hash field (context mode)
|
|
["myField"] call dragonfly_db_fnc_hashRemove;
|
|
|
|
// Delete a hash table (context mode)
|
|
[] call dragonfly_db_fnc_hashDelete;
|
|
```
|
|
```sqf
|
|
// Set a hash field for specific ID
|
|
["myHash", "myField", [myValue]] call dragonfly_db_fnc_hashSetId;
|
|
|
|
// Get a hash field for specific ID
|
|
["myHash", "myField", "myFunction"] call dragonfly_db_fnc_hashGetId;
|
|
|
|
// Get all hash fields for specific ID
|
|
["myHash"] call dragonfly_db_fnc_hashGetAllId;
|
|
|
|
// Set multiple hash fields for specific ID
|
|
[[
|
|
getPlayerUID player,
|
|
"loadout", [getUnitLoadout player],
|
|
"position", [getPosASL player],
|
|
"direction", [getDir player],
|
|
"stance", [stance player]
|
|
]] call dragonfly_db_fnc_hashSetIdBulk;
|
|
|
|
// Remove a hash field for specific ID
|
|
["myHash", "myField"] call dragonfly_db_fnc_hashRemoveId;
|
|
|
|
// Delete a hash table for specific ID
|
|
["myHash"] call dragonfly_db_fnc_hashDeleteId;
|
|
```
|
|
|
|
### List Operations
|
|
```sqf
|
|
// Add an item to a list
|
|
["myList", ["myItem"]] call dragonfly_db_fnc_listAdd;
|
|
|
|
// Set an item from a list
|
|
["myList", 0, [myNewValue]] call dragonfly_db_fnc_listSet;
|
|
|
|
// Get an item from a list
|
|
["myList", 0, "myFunction"] call dragonfly_db_fnc_listGet;
|
|
|
|
// Get items from a list
|
|
["myList", "myFunction"] call dragonfly_db_fnc_listLoad;
|
|
|
|
// Remove an item from a list
|
|
["myList", 0] call dragonfly_db_fnc_listRemove;
|
|
|
|
// Delete a list
|
|
["myList"] call dragonfly_db_fnc_listDelete;
|
|
```
|
|
|
|
## Function Documentation Structure
|
|
|
|
Each function documentation includes:
|
|
- Function name and purpose
|
|
- Parameters
|
|
- Return value
|
|
- Examples
|
|
- Notes and warnings
|
|
|
|
## License
|
|
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
|
|
To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, <br>PO Box 1866, Mountain View, CA 94042 |