Raritan / Server Technology Xerus™ PDU JSON-RPC API
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
smartlock::DoorAccessControl Interface Reference

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, DoorAccessRulegetDoorAccessRules ()
 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...
 

Detailed Description

Access control for door locks.

Member Enumeration Documentation

◆ DoorAccessDenialReason

Door Access Denial Reason.

Enumerator
DENIED_NO_MATCHING_RULE 

No rule that matches the triggering event.

DENIED_ABSOLUTE_TIME_CONDITION 

Absolute time condition was not met.

DENIED_PERIODIC_TIME_CONDITION 

Periodic time condition was not met.

DENIED_CONDITIONS_TIMEOUT 

A needed condition was not fulfilled during conditionsTimeout.

Member Function Documentation

◆ addDoorAccessRule()

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.

Parameters
rulethe new rule
Returns
0 if OK
1 if rule has invalid values
3 if maximum number of rules reached

◆ deleteDoorAccessRule()

int smartlock::DoorAccessControl::deleteDoorAccessRule ( in int  id)

Delete an existing door access control rule.

Parameters
idid of the rule to delete
Returns
0 if OK
2 if no rule with this id

◆ getDoorAccessRules()

map<int, DoorAccessRule> smartlock::DoorAccessControl::getDoorAccessRules ( )

Get all stored door access control rules.

Returns
list of rules by id

◆ modifyDoorAccessRule()

int smartlock::DoorAccessControl::modifyDoorAccessRule ( in int  id,
in DoorAccessRule  modifiedRule 
)

Modify an existing door access control rule.

Parameters
idid of the rule to modify
modifiedRulerule containing the new settings
Returns
0 if OK
1 if modifiedRule has invalid values
2 if no rule with this id

◆ setAllDoorAccessRules()

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.

Parameters
rulesthe new rule set
invalidRulesin case of an error, return ids of invalid rules
Returns
0 if OK
1 if the rule set contains a rule with invalid values

Member Data Documentation

◆ DoorAccessDeniedEvent

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

◆ DoorAccessGrantedEvent

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

◆ DoorAccessRuleAddedEvent

valueobject smartlock::DoorAccessControl::DoorAccessRuleAddedEvent

Event: Door access rule added.

New rule id

◆ DoorAccessRuleChangedEvent

valueobject smartlock::DoorAccessControl::DoorAccessRuleChangedEvent

Event: Door access rule modified.

Id of modified rule

◆ DoorAccessRuleDeletedEvent

valueobject smartlock::DoorAccessControl::DoorAccessRuleDeletedEvent

Event: Door access rule deleted.

Id of deleted rule

◆ 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.


The documentation for this interface was generated from the following file: