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  DoorAccessDeniedEvent
 Event: Door access denied. More...
 
struct  DoorAccessGrantedEvent
 Event: Door access granted. More...
 
struct  DoorAccessRule
 Data representing a rule to control access to certain doors. More...
 
struct  DoorAccessRuleAddedEvent
 Event: Door access rule added. More...
 
struct  DoorAccessRuleChangedEvent
 Event: Door access rule modified. More...
 
struct  DoorAccessRuleDeletedEvent
 Event: Door access rule deleted. 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.
 

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

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