Raritan / Server Technology Xerus™ PDU JSON-RPC API
|
Access control for door locks. More...
import"DoorAccessControl.idl";
Classes | |
struct | AbsoluteTimeCondition |
A condition representing an absolute time range. More... | |
struct | CardCondition |
A condition for specific cards and card readers. More... | |
struct | CardReaderInfo |
Information in order to refer to a specific card reader. More... | |
struct | DoorAccessRule |
Data representing a rule to control access to certain doors. More... | |
struct | KeypadCondition |
A condition for keypads with a secret pin. More... | |
struct | KeypadInfo |
Information in order to refer to a specific keypad. More... | |
struct | PeriodicTimeCondition |
A condition representing a periodic time range. More... | |
Public Types | |
enum | DoorAccessDenialReason { DENIED_NO_MATCHING_RULE , DENIED_ABSOLUTE_TIME_CONDITION , DENIED_PERIODIC_TIME_CONDITION , DENIED_CONDITIONS_TIMEOUT } |
Door Access Denial Reason. More... | |
Public Member Functions | |
map< int, DoorAccessRule > | getDoorAccessRules () |
Get all stored door access control rules. More... | |
int | setAllDoorAccessRules (in map< int, DoorAccessRule > rules, out vector< int > invalidRuleIds) |
Replace all the currently existing rules. More... | |
int | addDoorAccessRule (in DoorAccessRule rule, out int ruleId) |
Add a door access control rule. More... | |
int | modifyDoorAccessRule (in int id, in DoorAccessRule modifiedRule) |
Modify an existing door access control rule. More... | |
int | deleteDoorAccessRule (in int id) |
Delete an existing door access control rule. More... | |
Public Attributes | |
constant int | ERR_INVALID_SETTINGS = 1 |
Invalid settings. | |
constant int | ERR_NO_SUCH_ID = 2 |
No such ID. | |
constant int | ERR_MAX_RULES_REACHED = 3 |
Maximum number of rules. | |
valueobject | DoorAccessGrantedEvent: idl::Event { int ruleId |
Event: Door access granted. More... | |
DoorAccessRule | rule |
Rule settings of rule that granted access, cardUid and pin will be filtered. More... | |
valueobject | DoorAccessDeniedEvent: idl::Event { DoorAccessDenialReason reason |
Event: Door access denied. More... | |
int | ruleId |
A matching rule that could not be fulfilled or -1 if no matching rule. | |
string | ruleName |
Name of the rule that could not be fulfilled or empty if no matching rule. | |
valueobject | DoorAccessRuleAddedEvent: event::UserEvent { int ruleId |
Event: Door access rule added. More... | |
valueobject | DoorAccessRuleChangedEvent: event::UserEvent { int ruleId |
Event: Door access rule modified. More... | |
DoorAccessRule | oldRule |
Old rule settings, cardUid and pin will be filtered. | |
DoorAccessRule | newRule |
New rule settings, cardUid and pin will be filtered. | |
valueobject | DoorAccessRuleDeletedEvent: event::UserEvent { int ruleId |
Event: Door access rule deleted. More... | |
Access control for door locks.
Door Access Denial Reason.
int smartlock::DoorAccessControl::addDoorAccessRule | ( | in DoorAccessRule | rule, |
out int | ruleId | ||
) |
Add a door access control rule.
If successful, the id of the new rule will be returned.
rule | the new rule |
int smartlock::DoorAccessControl::deleteDoorAccessRule | ( | in int | id | ) |
Delete an existing door access control rule.
id | id of the rule to delete |
map<int, DoorAccessRule> smartlock::DoorAccessControl::getDoorAccessRules | ( | ) |
Get all stored door access control rules.
int smartlock::DoorAccessControl::modifyDoorAccessRule | ( | in int | id, |
in DoorAccessRule | modifiedRule | ||
) |
Modify an existing door access control rule.
id | id of the rule to modify |
modifiedRule | rule containing the new settings |
int smartlock::DoorAccessControl::setAllDoorAccessRules | ( | in map< int, DoorAccessRule > | rules, |
out vector< int > | invalidRuleIds | ||
) |
Replace all the currently existing rules.
Note that this not only adds and modifies rules, but also deletes existing rules that are not present in the given rule set.
In case of any rule being invalid, no changes will be made at all.
rules | the new rule set |
invalidRules | in case of an error, return ids of invalid rules |
valueobject smartlock::DoorAccessControl::DoorAccessDeniedEvent |
Event: Door access denied.
This event will only be triggered if at least one DoorAccessRule exists and a card was inserted or keypad PIN entered, but none of the defined rules were sufficiently fulfilled to grant access.
If matching rules are found, this will be triggered for every matching rule that could not be fulfilled. Otherwise it will only be triggered once with the according DoorAccessDenialReason. A DoorAccessDenialReason, specifying why the access was denied
valueobject smartlock::DoorAccessControl::DoorAccessGrantedEvent |
Event: Door access granted.
This Event will be triggered for every rule whose conditions were fulfilled. Rule id of rule that granted access
valueobject smartlock::DoorAccessControl::DoorAccessRuleAddedEvent |
Event: Door access rule added.
New rule id
valueobject smartlock::DoorAccessControl::DoorAccessRuleChangedEvent |
Event: Door access rule modified.
Id of modified rule
valueobject smartlock::DoorAccessControl::DoorAccessRuleDeletedEvent |
Event: Door access rule deleted.
Id of deleted rule
DoorAccessRule smartlock::DoorAccessControl::rule |
Rule settings of rule that granted access, cardUid and pin will be filtered.
Rule that was deleted, cardUid and pin will be filtered.
Rule that was added, cardUid and pin will be filtered.