<?xml version="1.0" encoding="UTF-8"?>
<Config Version="1.3"
xmlns="http://www.insbud.net/ibmanager/logicCfg"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.insbud.net/ibmanager/logicCfg logicCfg.xsd">
<!--
======================
Description
======================
Logika sterująca dostępem. Np. dostęp do poziomów nastaw z GUI (trybu użytkownik, instalator, serwis itd).
Logika po podaniu kodu i w przypadku zgodności z zachowanym kodem dostępowym (przechowywany jest jawnie) zezwala na
dostęp przez ograniczony czas. Po upływie czasu dostęp zostaje zablokowany.
======================
Parameters
======================
input.code - wprowadzany kod
output.access - czy jest udzielony dostęp (0 - brak dostępu; 1 - jest dostęp)
setting.access.code - kod dostępu (jawny)
setting.access.time - czas na jaki zostaje udzielony dostęp po podaniu prawidłowego kodu. W sekundach
counter.access.downcounter - licznik powiązany z udzielonym dostępem
Logic uses lua language to implement own behaviour
======================
mandatory variables
======================
Logic expects following mandatory variables:
reload.trigger - causes reloading lua script
memcnt - current amount of memory used by lua in bytes
Logic expects following kv settings:
LuaScriptPath - path to the lua script - must be absolute
======================
ChangeLog
======================
2021-02-02 ver 0.1.1
# kod może być stringiem
2017-10-11 ver 0.0.0
# First release
-->
<!-- Type and Version must be the same as Logic::TYPE and Logic::VERSION in Logic.cpp -->
<Logic Type="Lua" SubType="Access" Version="1.0.10.1421" SubVersion="0.1.1.0">
<Declaration>
<GlobalDeclSection>
</GlobalDeclSection>
<InstanceDeclSection>
<!-- mandatory variables -->
<Var Name="reload.trigger" Type="T_INT"
CanLocalRead="true" CanLocalWrite="true"
CanExternRead="true" CanExternWrite="true"
Direction="Input" Min="0" Max="1"
Default="0" IsStorable="false"/>
<Var Name="memcnt" Type="T_LONGLONG"
CanLocalRead="true" CanLocalWrite="true"
CanExternRead="true" CanExternWrite="false"
Direction="Output" Min="0"
Default="0" IsStorable="false"/>
<!-- sublogic specific variables -->
<Var Name="input.code" Type="T_STRING"
CanLocalRead="true" CanLocalWrite="true"
CanExternRead="true" CanExternWrite="true"
Direction="Input" Default="" IsStorable="false"/>
<Var Name="output.access" Type="T_INT"
CanLocalRead="true" CanLocalWrite="true"
CanExternRead="true" CanExternWrite="false"
Direction="Output" Min="0" Max="1" Default="0"
IsStorable="false"/>
<Var Name="setting.access.code" Type="T_STRING"
CanLocalRead="true" CanLocalWrite="true"
CanExternRead="true" CanExternWrite="true"
Direction="Input"
Min="0" Default="1111" IsStorable="true"/>
<Var Name="setting.access.time" Type="T_INT"
CanLocalRead="true" CanLocalWrite="true"
CanExternRead="true" CanExternWrite="true"
Direction="Input"
Min="0" Default="600" IsStorable="true"/>
<Var Name="counter.access.downcounter" Type="T_INT"
CanLocalRead="true" CanLocalWrite="true"
CanExternRead="true" CanExternWrite="false"
Direction="Output" Min="0"
Default="0" IsStorable="false"/>
<Settings>
<KVSettings>
<!-- pointing source list -->
<KVSetting Key="LuaScriptPath" Value="logic/scripts/Access.lua"/>
</KVSettings>
</Settings>
</InstanceDeclSection>
</Declaration>
<Initialization>
<GlobalInitSection>
</GlobalInitSection>
<Instances>
<Instance Name="service">
<InstanceInitSection>
</InstanceInitSection>
</Instance>
</Instances>
</Initialization>
</Logic>
</Config>