1 #ifndef __SMARTLOCK_DOOR_ACCESS_CONTROL_IDL__
2 #define __SMARTLOCK_DOOR_ACCESS_CONTROL_IDL__
5 #include <UserEvent.idl>
6 #include <PeripheralDeviceSlot.idl>
13 constant
int ERR_INVALID_SETTINGS = 1;
14 constant
int ERR_NO_SUCH_ID = 2;
15 constant
int ERR_MAX_RULES_REACHED = 3;
114 DENIED_CONDITIONS_TIMEOUT
122 valueobject DoorAccessGrantedEvent extends
idl.Event {
138 valueobject DoorAccessDeniedEvent extends
idl.Event {
147 valueobject DoorAccessRuleAddedEvent extends
event.UserEvent {
155 valueobject DoorAccessRuleChangedEvent extends
event.UserEvent {
164 valueobject DoorAccessRuleDeletedEvent extends
event.UserEvent {
Peripheral Device Slot.
Definition: PeripheralDeviceSlot.idl:65
Access control for door locks.
Definition: DoorAccessControl.idl:11
int setAllDoorAccessRules(in map< int, DoorAccessRule > rules, out vector< int > invalidRuleIds)
Replace all the currently existing rules.
string ruleName
Name of the rule that could not be fulfilled or empty if no matching rule.
Definition: DoorAccessControl.idl:141
DoorAccessRule newRule
New rule settings, cardUid and pin will be filtered.
Definition: DoorAccessControl.idl:158
map< int, DoorAccessRule > getDoorAccessRules()
Get all stored door access control rules.
DoorAccessRule oldRule
Old rule settings, cardUid and pin will be filtered.
Definition: DoorAccessControl.idl:157
DoorAccessDenialReason
Door Access Denial Reason.
Definition: DoorAccessControl.idl:110
@ DENIED_NO_MATCHING_RULE
No rule that matches the triggering event.
Definition: DoorAccessControl.idl:111
@ DENIED_ABSOLUTE_TIME_CONDITION
Absolute time condition was not met.
Definition: DoorAccessControl.idl:112
@ DENIED_PERIODIC_TIME_CONDITION
Periodic time condition was not met.
Definition: DoorAccessControl.idl:113
int ruleId
A matching rule that could not be fulfilled or -1 if no matching rule.
Definition: DoorAccessControl.idl:140
int deleteDoorAccessRule(in int id)
Delete an existing door access control rule.
DoorAccessRule rule
Rule settings of rule that granted access, cardUid and pin will be filtered.
Definition: DoorAccessControl.idl:124
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: PeripheralDeviceManager.idl:18
Keypad.
Definition: DoorAccessControl.idl:8
A condition representing an absolute time range.
Definition: DoorAccessControl.idl:22
time validFrom
Time range starting from this date or 0 if not set.
Definition: DoorAccessControl.idl:24
time validTill
Time range valid until this date or 0 if not set.
Definition: DoorAccessControl.idl:25
boolean enabled
Condition is enabled.
Definition: DoorAccessControl.idl:23
A condition for specific cards and card readers.
Definition: DoorAccessControl.idl:70
string cardUid
Matching card uid.
Definition: DoorAccessControl.idl:72
CardReaderInfo cardReader
The card reader that has to be used.
Definition: DoorAccessControl.idl:73
boolean enabled
Condition is enabled.
Definition: DoorAccessControl.idl:71
Information in order to refer to a specific card reader.
Definition: DoorAccessControl.idl:52
int linkId
Unit the card reader is attached to.
Definition: DoorAccessControl.idl:53
string position
Position of the card reader.
Definition: DoorAccessControl.idl:54
Data representing a rule to control access to certain doors.
Definition: DoorAccessControl.idl:95
int conditionsTimeout
Timeout for matching multiple card / keypad conditions.
Definition: DoorAccessControl.idl:102
PeriodicTimeCondition periodicTime
Periodic time range condition.
Definition: DoorAccessControl.idl:104
AbsoluteTimeCondition absoluteTime
Absolute time range condition.
Definition: DoorAccessControl.idl:103
KeypadCondition keypadCondition1
Condition that has to be fulfilled when using a keypad.
Definition: DoorAccessControl.idl:100
vector< peripheral::DeviceSlot > doorHandleLocks
Open these door handle locks.
Definition: DoorAccessControl.idl:97
KeypadCondition keypadCondition2
Additional keypad condition that is needed.
Definition: DoorAccessControl.idl:101
CardCondition cardCondition2
Additional card condition that is needed.
Definition: DoorAccessControl.idl:99
string name
A name to describe this rule.
Definition: DoorAccessControl.idl:96
CardCondition cardCondition1
Condition that has to be fulfilled when inserting a card.
Definition: DoorAccessControl.idl:98
A condition for keypads with a secret pin.
Definition: DoorAccessControl.idl:79
boolean enabled
Condition is enabled.
Definition: DoorAccessControl.idl:80
KeypadInfo keypad
The keypad that has to be used.
Definition: DoorAccessControl.idl:82
string pin
Pin that has to be entered.
Definition: DoorAccessControl.idl:81
Information in order to refer to a specific keypad.
Definition: DoorAccessControl.idl:61
string position
Position of the keypad This can be fetched from the Keypad MetaData.
Definition: DoorAccessControl.idl:63
int linkId
Unit the keypad is attached to.
Definition: DoorAccessControl.idl:62
A condition representing a periodic time range.
Definition: DoorAccessControl.idl:40
int fromHourOfDay
Range periodically starts from this hour of the day (0 - 23)
Definition: DoorAccessControl.idl:43
int tillMinuteOfHour
Specify minute of ending hour (0 - 59)
Definition: DoorAccessControl.idl:46
int tillHourOfDay
Range periodically ends this hour of the day (0 - 23)
Definition: DoorAccessControl.idl:44
int fromMinuteOfHour
Specify minute of starting hour (0 - 59)
Definition: DoorAccessControl.idl:45
vector< int > daysOfWeek
Range for these days of the week (valid values are 0 - 6, 0 is Sunday)
Definition: DoorAccessControl.idl:42
boolean enabled
Condition is enabled.
Definition: DoorAccessControl.idl:41