Loading...
Searching...
No Matches
smartlock::DoorAccessControl Interface Reference

Access control for door locks. More...

## 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, 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.

## Detailed Description

Access control for door locks.

## Member Enumeration Documentation

## DoorAccessDenialReason

enum smartlock::DoorAccessControl::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

  rule | the 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

  id | id 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

  id | id of the rule to modify
  modifiedRule | rule 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

  rules | the new rule set
  invalidRules | in 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:

- DoorAccessControl.idl