dragonfly/docs/README.md
Jacob Schmidt c8d81ba3bb
All checks were successful
Build / Build (push) Successful in 39s
docs: Update README.md with detailed documentation
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.
2025-03-30 17:15:35 -05:00

4.6 KiB

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

  • init - Initialize the database system
  • handler - Handle callbacks from the extension
  • processQueue - Process queued database operations
  • scheduler - Schedule database operations
  • addTask - Add a task to the scheduler
  • printAddonName - Print the addon name
  • test - Test the database connection

Basic Data Operations

  • get - Get a value from the database
  • set - Set a value in the database
  • delete - Delete a value from the database
  • save - Save the database to disk
  • fetch - Fetch a value from the database

Hash Operations

  • hashGet - Get a field from a hash
  • hashGetAll - Get all fields from a hash
  • hashGetAllId - Get all fields from a hash for a specific ID
  • hashGetId - Get a field from a hash for a specific ID
  • hashSet - Set a field in a hash
  • hashSetBulk - Set multiple fields in a hash in one operation
  • hashSetId - Set a field in a hash for a specific ID
  • hashSetIdBulk - Set multiple fields in a hash for a specific ID in one operation

List Operations

Usage Examples

Basic Usage

// 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

// 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;
// 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

// 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,
PO Box 1866, Mountain View, CA 94042