#include "..\script_component.hpp" /* * Function: forge_server_db_fnc_processDBRequest * Author: J. Schmidt * * Description: * Processes database requests * * Arguments: * 0: _type - Type of database operation * 1: _name - Name of the store * 2: _key - Key of the store * 3: _keyField - Field of the key to update * 4: _data - Data for the operation * * Return Value: * None */ params [["_type", "", [""]], ["_name", "", [""]], ["_key", "", [""]], ["_keyField", "", [""]], ["_data", "", ["", [], 0, true, createHashMap]]]; private _store = call FUNC(verifyDB); switch (_type) do { case "createStore": { params ["_name"]; _store call ["_create", [_name]]; }; case "getStore": { params ["_name"]; _store call ["_read", [_name]]; }; case "saveToMission": { params ["_name", "_key", "_data"]; [_name, _key, _data] call FUNC(saveToMission); }; case "saveToProfile": { params ["_name", "_key", "_data"]; [_name, _key, _data] call FUNC(saveToProfile); }; case "saveToStore": { params ["_name", "_data"]; _store call ["_write", [_name, _data]]; }; case "saveToTemp": { params ["_name", "_key", "_data"]; [_name, _key, _data] call FUNC(saveToTemp); }; case "getFromMission": { params ["_name", "_key", "_keyField"]; [_name, _key, _keyField] call FUNC(loadFromMission); }; case "getFromProfile": { params ["_name", "_key", "_keyField"]; [_name, _key, _keyField] call FUNC(loadFromProfile); }; case "getFromStore": { params ["_name", "_key"]; _store call ["_read", [_name, _key]]; }; case "getFromTemp": { params ["_name", "_key", "_keyField"]; [_name, _key, _keyField] call FUNC(loadFromTemp); }; case "updateStore": { params ["_name", "_key", "_keyField", "_data"]; _store call ["_update", [_name, _key, _keyField, _data]]; }; case "loadGameState": { [] call FUNC(loadGameState); }; case "saveGameState": { [] call FUNC(saveGameState); }; default { WARNING_1("Unknown database request type: %1",_type) }; };