6 #ifndef __SMARTLOCK_DOOR_ACCESS_CONTROL_IDL__
7 #define __SMARTLOCK_DOOR_ACCESS_CONTROL_IDL__
10 #include <UserEvent.idl>
11 #include <PeripheralDeviceSlot.idl>
18 constant
int ERR_INVALID_SETTINGS = 1;
19 constant
int ERR_NO_SUCH_ID = 2;
20 constant
int ERR_MAX_RULES_REACHED = 3;
119 DENIED_CONDITIONS_TIMEOUT
Peripheral Device Slot.
Definition: PeripheralDeviceSlot.idl:66
Access control for door locks.
Definition: DoorAccessControl.idl:16
int setAllDoorAccessRules(in map< int, DoorAccessRule > rules, out vector< int > invalidRuleIds)
Replace all the currently existing rules.
map< int, DoorAccessRule > getDoorAccessRules()
Get all stored door access control rules.
DoorAccessDenialReason
Door Access Denial Reason.
Definition: DoorAccessControl.idl:115
@ DENIED_NO_MATCHING_RULE
No rule that matches the triggering event.
Definition: DoorAccessControl.idl:116
@ DENIED_ABSOLUTE_TIME_CONDITION
Absolute time condition was not met.
Definition: DoorAccessControl.idl:117
@ DENIED_PERIODIC_TIME_CONDITION
Periodic time condition was not met.
Definition: DoorAccessControl.idl:118
int deleteDoorAccessRule(in int id)
Delete an existing door access control rule.
int addDoorAccessRule(in DoorAccessRule rule, out int ruleId)
Add a door access control rule.
int modifyDoorAccessRule(in int id, in DoorAccessRule modifiedRule)
Modify an existing door access control rule.
Basic IDL definitions.
Definition: Event.idl:10
Peripheral Devices.
Definition: GatewaySensorManager.idl:17
Keypad.
Definition: DoorAccessControl.idl:13
Common base for all events.
Definition: Event.idl:13
A condition representing an absolute time range.
Definition: DoorAccessControl.idl:27
time validFrom
Time range starting from this date or 0 if not set.
Definition: DoorAccessControl.idl:29
time validTill
Time range valid until this date or 0 if not set.
Definition: DoorAccessControl.idl:30
boolean enabled
Condition is enabled.
Definition: DoorAccessControl.idl:28
A condition for specific cards and card readers.
Definition: DoorAccessControl.idl:75
string cardUid
Matching card uid.
Definition: DoorAccessControl.idl:77
CardReaderInfo cardReader
The card reader that has to be used.
Definition: DoorAccessControl.idl:78
boolean enabled
Condition is enabled.
Definition: DoorAccessControl.idl:76
Information in order to refer to a specific card reader.
Definition: DoorAccessControl.idl:57
int linkId
Unit the card reader is attached to.
Definition: DoorAccessControl.idl:58
string position
Position of the card reader.
Definition: DoorAccessControl.idl:59
Event: Door access denied.
Definition: DoorAccessControl.idl:143
DoorAccessDenialReason reason
A DoorAccessDenialReason, specifying why the access was denied.
Definition: DoorAccessControl.idl:144
string ruleName
Name of the rule that could not be fulfilled or empty if no matching rule.
Definition: DoorAccessControl.idl:146
int ruleId
A matching rule that could not be fulfilled or -1 if no matching rule.
Definition: DoorAccessControl.idl:145
Event: Door access granted.
Definition: DoorAccessControl.idl:127
int ruleId
Rule id of rule that granted access.
Definition: DoorAccessControl.idl:128
DoorAccessRule rule
Rule settings of rule that granted access, cardUid and pin will be filtered.
Definition: DoorAccessControl.idl:129
Event: Door access rule added.
Definition: DoorAccessControl.idl:152
int ruleId
New rule id.
Definition: DoorAccessControl.idl:153
DoorAccessRule rule
Rule that was added, cardUid and pin will be filtered.
Definition: DoorAccessControl.idl:154
Event: Door access rule modified.
Definition: DoorAccessControl.idl:160
DoorAccessRule newRule
New rule settings, cardUid and pin will be filtered.
Definition: DoorAccessControl.idl:163
int ruleId
Id of modified rule.
Definition: DoorAccessControl.idl:161
DoorAccessRule oldRule
Old rule settings, cardUid and pin will be filtered.
Definition: DoorAccessControl.idl:162
Event: Door access rule deleted.
Definition: DoorAccessControl.idl:169
int ruleId
Id of deleted rule.
Definition: DoorAccessControl.idl:170
DoorAccessRule rule
Rule that was deleted, cardUid and pin will be filtered.
Definition: DoorAccessControl.idl:171
Data representing a rule to control access to certain doors.
Definition: DoorAccessControl.idl:100
int conditionsTimeout
Timeout for matching multiple card / keypad conditions.
Definition: DoorAccessControl.idl:107
PeriodicTimeCondition periodicTime
Periodic time range condition.
Definition: DoorAccessControl.idl:109
AbsoluteTimeCondition absoluteTime
Absolute time range condition.
Definition: DoorAccessControl.idl:108
KeypadCondition keypadCondition1
Condition that has to be fulfilled when using a keypad.
Definition: DoorAccessControl.idl:105
vector< peripheral::DeviceSlot > doorHandleLocks
Open these door handle locks.
Definition: DoorAccessControl.idl:102
KeypadCondition keypadCondition2
Additional keypad condition that is needed.
Definition: DoorAccessControl.idl:106
CardCondition cardCondition2
Additional card condition that is needed.
Definition: DoorAccessControl.idl:104
string name
A name to describe this rule.
Definition: DoorAccessControl.idl:101
CardCondition cardCondition1
Condition that has to be fulfilled when inserting a card.
Definition: DoorAccessControl.idl:103
A condition for keypads with a secret pin.
Definition: DoorAccessControl.idl:84
boolean enabled
Condition is enabled.
Definition: DoorAccessControl.idl:85
KeypadInfo keypad
The keypad that has to be used.
Definition: DoorAccessControl.idl:87
string pin
Pin that has to be entered.
Definition: DoorAccessControl.idl:86
Information in order to refer to a specific keypad.
Definition: DoorAccessControl.idl:66
string position
Position of the keypad This can be fetched from the Keypad MetaData.
Definition: DoorAccessControl.idl:68
int linkId
Unit the keypad is attached to.
Definition: DoorAccessControl.idl:67
A condition representing a periodic time range.
Definition: DoorAccessControl.idl:45
int fromHourOfDay
Range periodically starts from this hour of the day (0 - 23)
Definition: DoorAccessControl.idl:48
int tillMinuteOfHour
Specify minute of ending hour (0 - 59)
Definition: DoorAccessControl.idl:51
int tillHourOfDay
Range periodically ends this hour of the day (0 - 23)
Definition: DoorAccessControl.idl:49
int fromMinuteOfHour
Specify minute of starting hour (0 - 59)
Definition: DoorAccessControl.idl:50
vector< int > daysOfWeek
Range for these days of the week (valid values are 0 - 6, 0 is Sunday)
Definition: DoorAccessControl.idl:47
boolean enabled
Condition is enabled.
Definition: DoorAccessControl.idl:46