feat(settings.lsl): finish settings api
Signed-off-by: zontreck <tarapiccari@gmail.com>
This commit is contained in:
parent
37895e05ad
commit
f75d1acfee
2 changed files with 34 additions and 3 deletions
|
@ -1,4 +1,6 @@
|
|||
integer LINK_SIGNAL_SETTINGS = 0904241;
|
||||
integer LINK_SIGNAL_REBOOT = 0904242;
|
||||
|
||||
|
||||
string OP_SETTINGS_WRITE = "settings_write";
|
||||
string OP_SETTINGS_READ = "settings_read";
|
||||
|
@ -6,3 +8,4 @@ string OP_SETTINGS_REQUEST = "settings_req";
|
|||
string OP_SETTINGS_RESPONSE = "settings_resp";
|
||||
string OP_SETTINGS_RESPONSE = "settings_empty";
|
||||
string OP_SETTINGS_DELETE = "settings_del";
|
||||
string OP_SETTINGS_RESET = "settings_reset";
|
|
@ -1,20 +1,48 @@
|
|||
#include "Variables.lsl"
|
||||
#include "Functions.lsl"
|
||||
#include "Version.lsl"
|
||||
#include "../external/AriasCreations/Common.lsl"
|
||||
#include "../external/AriasCreations/Helpers.lsl"
|
||||
|
||||
|
||||
default
|
||||
{
|
||||
|
||||
link_message(integer iSender, integer iNum, string sMsg, key kID)
|
||||
{
|
||||
DEBUG_FUNC(true, "link_message", [iNum, sMsg, kID]);
|
||||
if(iNum == LINK_SIGNAL_SETTINGS) {
|
||||
DEBUG_FUNC(true, "LINK_SIGNAL_SETTINGS", []);
|
||||
if(llJsonGetValue(sMsg, ["op"]) == OP_SETTINGS_WRITE) {
|
||||
WriteSetting(llJsonGetValue(sMsg, ["key"]), llJsonGetValue(sMsg, ["value"]));
|
||||
} else if(llJsonGetValue(sMsg, ["op"]) == OP_SETTINGS_READ) {
|
||||
ReadSetting(llJsonGetValue(sMsg, ["key"]));
|
||||
string sKey = llJsonGetValue(sMsg, ["key"]);
|
||||
if(sKey == "ALL") {
|
||||
DEBUG_FUNC(true, "req_all_settings", []);
|
||||
// List Found Keys
|
||||
list lKeys = llLinksetDataFindKeys("nusetting.", 0, 0);
|
||||
integer i = 0;
|
||||
integer end = llGetListLength(lKeys);
|
||||
for(i=0;i<end; i++) {
|
||||
sKey = llList2String(lKeys, i);
|
||||
ReadSetting(llGetSubString(sKey, 9, -1));
|
||||
}
|
||||
|
||||
DEBUG_FUNC(false, "req_all_settings", []);
|
||||
}
|
||||
ReadSetting(sKey);
|
||||
} else if(llJsonGetValue(sMsg, ["op"]) == OP_SETTINGS_DELETE) {
|
||||
llLinksetDataDelete(llJsonGetValue(sMsg, ["key"]));
|
||||
llLinksetDataDelete("nusetting." + llJsonGetValue(sMsg, ["key"]));
|
||||
NoSetting(llJsonGetValue(sMsg, ["key"]));
|
||||
} else if(llJsonGetValue(sMsg, ["op"]) == OP_SETTINGS_RESET) {
|
||||
llLinksetDataDeleteFound("nusetting.", "");
|
||||
}
|
||||
DEBUG_FUNC(false, "LINK_SIGNAL_SETTINGS", []);
|
||||
} else if(iNum == LINK_SIGNAL_REBOOT) {
|
||||
DEBUG_FUNC(true, "LINK_SIGNAL_REBOOT", []);
|
||||
DEBUG_FUNC(false, "LINK_SIGNAL_REBOOT", []);
|
||||
llResetScript();
|
||||
}
|
||||
DEBUG_FUNC(false, "link_message", []);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue