Legrand / Raritan / Server Technology Xerus™ JSON-RPC API

Loading...
Searching...
No Matches
PeripheralDeviceManager.idl
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright 2012 Raritan Inc. All rights reserved.
4 */
5
6#ifndef __PERIPHERAL_DEVICE_MANAGER_IDL__
7#define __PERIPHERAL_DEVICE_MANAGER_IDL__
8
9#include <PeripheralDeviceSlot.idl>
10#include <SensorHub.idl>
11#include <PeripheralDevicePackage.idl>
12#include <PortFuse.idl>
13#include <NumericSensor.idl>
14#include <Sensor.idl>
15#include <UserEvent.idl>
16#include <GatewaySensorManager.idl>
17
18/** Peripheral Devices */
19module peripheral {
20
21 /** Peripheral Device Manager */
22 interface DeviceManager {
23
24 constant int ERR_INVALID_PARAMS = 1; ///< Invalid parameters
25 constant int ERR_NOT_ON_SECONDARY = 2; ///< Unsupported on secondary instance
26
27 /** Z Coordinate Mode identifier */
28 enumeration ZCoordMode {
29 RACKUNITS, ///< Z coordinate of slot settings is in rack units
30 FREEFORM ///< Z coordinate of slot settings is free form text
31 };
32
33 /** peripheral DeviceManager's s settings */
34 structure Settings {
35 ZCoordMode zCoordMode; ///< Z coordinate semantics
36 boolean autoManageNewDevices; ///< Automatically manage newly detected devices
37 float deviceAltitude; ///< Altitude of device in meters
38 int presenceDetectionTimeout; ///< Timeout for presence detection (sec)
39 map<string, sensors.NumericSensor.Thresholds> defaultThresholdsMap; ///< Default thresholds by peripheral device type
40 int maxActivePoweredDryContacts; ///< The maximum number of concurrently active powered dry contacts
41 boolean muteOtherAccessControlUnit; ///< Mute other access control unit (door handle) enabled
42 };
43
44 /** Peripheral DeviceManager's metadata */
45 structure MetaData {
46 int oneWirePortCount; ///< Number of 1-wire ports
47 int onboardDeviceCount; ///< Number of onboard peripheral devices
48 };
49
50 /** Peripheral device type info */
51 structure DeviceTypeInfo {
52 sensors.Sensor.TypeSpec type; ///< Device (sensor) type
53 boolean isActuator; ///< Is actuator or not
54 string identifier; ///< Device type identifier
55 string name; ///< Device type display name
56 sensors.NumericSensor.Range defaultRange; ///< Default sensor range (numeric sensors only)
57 int defaultDecDigits; ///< Default sensor precision (numeric sensors only)
58 };
59
60 /** Firmware update status */
61 structure FirmwareUpdateState {
62 boolean active; ///< \c true if any peripheral device is currently updated
63 int remaining; ///< Number of peripheral devices that are still pending to be updated
64 };
65
66 /** Event: Peripheral device manager's settings have been changed */
67 valueobject SettingsChangedEvent extends event.UserEvent {
68 Settings oldSettings; ///< Settings before change
69 Settings newSettings; ///< Settings after change
70 };
71
72 /** Event: A peripheral device was added or removed */
73 valueobject DeviceEvent extends idl.Event {
74 vector<Device> devices; ///< Affected devices
75 vector<Device> allDevices; ///< New list of discovered devices after change
76 };
77
78 /** Event: A peripheral device was added */
79 valueobject DeviceAddedEvent extends DeviceEvent { };
80
81 /** Event: A peripheral device was removed */
82 valueobject DeviceRemovedEvent extends DeviceEvent { };
83
84 /** Event: An unknown device was attached */
85 valueobject UnknownDeviceAttachedEvent extends idl.Event {
86 string romCode; ///< Device ROM code
87 vector<PosElement> position; ///< Device position in the chain
88 };
89
90 /** Enumeration: State of device firmware update */
91 enumeration DeviceFirmwareUpdateState {
92 UPDATE_STARTED, ///< Update is running
93 UPDATE_SUCCESSFUL, ///< Update has finished successfully
94 UPDATE_FAILED ///< Update has failed
95 };
96
97 /** Event: Firmware update on a device was started or has finished */
98 valueobject DeviceFirmwareUpdateStateChangedEvent extends idl.Event {
99 string oldVersion; ///< Firmware version before update
100 string newVersion; ///< Firmware version to be updated to
101 string serial; ///< Serial number of device
102 DeviceFirmwareUpdateState state; ///< Update state
103 };
104
105 /** Event: Firmware update state has changed
106 * This event will be sent to enclose one of more {@link DeviceFirmwareUpdateStateChangedEvent}.
107 * That is, it will be sent before a series of firmware updates is started and after the
108 * firmware update series has ended. */
109 valueobject FirmwareUpdateStateChangedEvent extends idl.Event {
110 FirmwareUpdateState newState; ///< New update state
111 };
112
113 /** Event: A peripheral device package was added or removed */
114 valueobject PackageEvent extends idl.Event {
115 vector<PackageInfo> packageInfos; ///< Information about affected packages
116 vector<PackageInfo> allPackages; ///< New list of discovered packages after change
117 };
118
119 /** Event: A peripheral device package was added */
120 valueobject PackageAddedEvent extends PackageEvent { };
121 /** Event: A peripheral device package was removed */
122 valueobject PackageRemovedEvent extends PackageEvent { };
123
124 /** Peripheral device statistics */
125 structure Statistics {
126 int cSumErrCnt; ///< CRC / checksum error counter
127 int fuseTripCnt; ///< external ports fuse trip counter
128 };
129
130 /**
131 * Get the list of peripheral device slots.
132 *
133 * @return List of peripheral device slots
134 */
135 vector<DeviceSlot> getDeviceSlots();
136
137 /**
138 * Get a DeviceSlot by its index
139 *
140 * @param idx index of the slot to get (0-based)
141 * @return the requested slot
142 */
143 DeviceSlot getDeviceSlot(in int idx);
144
145 /**
146 * Get the list of sensor hubs.
147 *
148 * @return List of sensor hubs at ports of requested type
149 */
150 vector<SensorHub> getSensorHubs();
151
152 /**
153 * Get the list of currently attached peripheral devices
154 *
155 * @return List of all discovered peripheral devices
156 */
157 vector<Device> getDiscoveredDevices();
158
159 /**
160 * Get the list of currently attached peripheral device packages
161 *
162 * @return List of all discovered peripheral device packages
163 */
164 vector<PackageInfo> getDiscoveredPackageInfos();
165
166 /**
167 * Retrieve the peripheral DeviceManager's settings.
168 *
169 * @return peripheral DeviceManager's settings
170 */
171 Settings getSettings();
172
173 /**
174 * Change the peripheral DeviceManager's settings.
175 *
176 * @param settings New peripheral DeviceManager's settings
177 *
178 * @return 0 if OK
179 * @return 1 if any parameters are invalid
180 * @return 2 if this is a secondary instance; use primary to set settings
181 */
182 int setSettings(in Settings settings);
183
184 /**
185 * Retreive the Peripheral DeviceManager's metadata.
186 *
187 * @return Peripheral DeviceManager's metadata
188 */
189 MetaData getMetaData();
190
191 /**
192 * Get the list of all peripheral device type infos
193 *
194 * @return List of all peripheral device type infos
195 */
196 vector<DeviceTypeInfo> getDeviceTypeInfos();
197
198 /**
199 * Return the state of device firmware updates running
200 * on devices connected to this device manager
201 *
202 * @return Firmware update state
203 */
204 FirmwareUpdateState getFirmwareUpdateState();
205
206 /**
207 * Retrieve statistics
208 *
209 * @return peripheral device statistics
210 */
211 Statistics getStatistics();
212
213 /**
214 * Get the list of currently attached peripheral device packages
215 *
216 * @return List of all discovered peripheral device packages
217 */
218 vector<Package> getDiscoveredPackages();
219
220 /**
221 * Get the fuse for the sensor port
222 *
223 * @return A fuse instance, if available
224 */
225 portsmodel.PortFuse getPortFuse();
226
227 /**
228 * Get gateway sensors configuration manager
229 *
230 * @return A GatewaySensorManager instance
231 */
232 GatewaySensorManager getGatewaySensorManager();
233 };
234}
235
236#endif /* !__PERIPHERAL_DEVICE_MANAGER_IDL__ */
peripheral::DeviceManager
Peripheral Device Manager.
Definition PeripheralDeviceManager.idl:22
peripheral::DeviceManager::ERR_INVALID_PARAMS
constant int ERR_INVALID_PARAMS
Invalid parameters.
Definition PeripheralDeviceManager.idl:24
peripheral::DeviceManager::getDiscoveredPackageInfos
vector< PackageInfo > getDiscoveredPackageInfos()
Get the list of currently attached peripheral device packages.
peripheral::DeviceManager::getSettings
Settings getSettings()
Retrieve the peripheral DeviceManager's settings.
peripheral::DeviceManager::getMetaData
MetaData getMetaData()
Retreive the Peripheral DeviceManager's metadata.
peripheral::DeviceManager::getStatistics
Statistics getStatistics()
Retrieve statistics.
peripheral::DeviceManager::getDeviceSlot
DeviceSlot getDeviceSlot(in int idx)
Get a DeviceSlot by its index.
peripheral::DeviceManager::getPortFuse
portsmodel::PortFuse getPortFuse()
Get the fuse for the sensor port.
peripheral::DeviceManager::getDiscoveredPackages
vector< Package > getDiscoveredPackages()
Get the list of currently attached peripheral device packages.
peripheral::DeviceManager::getDeviceSlots
vector< DeviceSlot > getDeviceSlots()
Get the list of peripheral device slots.
peripheral::DeviceManager::ERR_NOT_ON_SECONDARY
constant int ERR_NOT_ON_SECONDARY
Unsupported on secondary instance.
Definition PeripheralDeviceManager.idl:25
peripheral::DeviceManager::getDiscoveredDevices
vector< Device > getDiscoveredDevices()
Get the list of currently attached peripheral devices.
peripheral::DeviceManager::getFirmwareUpdateState
FirmwareUpdateState getFirmwareUpdateState()
Return the state of device firmware updates running on devices connected to this device manager.
peripheral::DeviceManager::getSensorHubs
vector< SensorHub > getSensorHubs()
Get the list of sensor hubs.
peripheral::DeviceManager::setSettings
int setSettings(in Settings settings)
Change the peripheral DeviceManager's settings.
peripheral::DeviceManager::DeviceFirmwareUpdateState
DeviceFirmwareUpdateState
Enumeration: State of device firmware update.
Definition PeripheralDeviceManager.idl:91
peripheral::DeviceManager::UPDATE_FAILED
@ UPDATE_FAILED
Update has failed.
Definition PeripheralDeviceManager.idl:94
peripheral::DeviceManager::UPDATE_STARTED
@ UPDATE_STARTED
Update is running.
Definition PeripheralDeviceManager.idl:92
peripheral::DeviceManager::UPDATE_SUCCESSFUL
@ UPDATE_SUCCESSFUL
Update has finished successfully.
Definition PeripheralDeviceManager.idl:93
peripheral::DeviceManager::ZCoordMode
ZCoordMode
Z Coordinate Mode identifier.
Definition PeripheralDeviceManager.idl:28
peripheral::DeviceManager::FREEFORM
@ FREEFORM
Z coordinate of slot settings is free form text.
Definition PeripheralDeviceManager.idl:30
peripheral::DeviceManager::RACKUNITS
@ RACKUNITS
Z coordinate of slot settings is in rack units.
Definition PeripheralDeviceManager.idl:29
peripheral::DeviceManager::getGatewaySensorManager
GatewaySensorManager getGatewaySensorManager()
Get gateway sensors configuration manager.
peripheral::DeviceManager::getDeviceTypeInfos
vector< DeviceTypeInfo > getDeviceTypeInfos()
Get the list of all peripheral device type infos.
peripheral::DeviceSlot
Peripheral Device Slot.
Definition PeripheralDeviceSlot.idl:47
peripheral::GatewaySensorManager
Gateway Sensor Configuration Interface.
Definition GatewaySensorManager.idl:20
portsmodel::PortFuse
Interface describing a controllable fuse for a device port.
Definition PortFuse.idl:17
sensors::NumericSensor
A sensor with numeric readings.
Definition NumericSensor.idl:17
sensors::Sensor
Sensor interface
Definition Sensor.idl:15
idl
Basic IDL definitions.
Definition Event.idl:10
peripheral
Peripheral Devices.
Definition GatewaySensorManager.idl:17
portsmodel
Ports.
Definition Port.idl:16
sensors
Sensors Model.
Definition AccumulatingNumericSensor.idl:13
serial
Serial Ports.
Definition AnalogModem.idl:12
idl::Event
Common base for all events.
Definition Event.idl:13
peripheral::DeviceManager::DeviceAddedEvent
Event: A peripheral device was added.
Definition PeripheralDeviceManager.idl:79
peripheral::DeviceManager::DeviceEvent
Event: A peripheral device was added or removed.
Definition PeripheralDeviceManager.idl:73
peripheral::DeviceManager::DeviceEvent::devices
vector< Device > devices
Affected devices.
Definition PeripheralDeviceManager.idl:74
peripheral::DeviceManager::DeviceEvent::allDevices
vector< Device > allDevices
New list of discovered devices after change.
Definition PeripheralDeviceManager.idl:75
peripheral::DeviceManager::DeviceFirmwareUpdateStateChangedEvent
Event: Firmware update on a device was started or has finished.
Definition PeripheralDeviceManager.idl:98
peripheral::DeviceManager::DeviceFirmwareUpdateStateChangedEvent::newVersion
string newVersion
Firmware version to be updated to.
Definition PeripheralDeviceManager.idl:100
peripheral::DeviceManager::DeviceFirmwareUpdateStateChangedEvent::state
DeviceFirmwareUpdateState state
Update state.
Definition PeripheralDeviceManager.idl:102
peripheral::DeviceManager::DeviceFirmwareUpdateStateChangedEvent::oldVersion
string oldVersion
Firmware version before update.
Definition PeripheralDeviceManager.idl:99
peripheral::DeviceManager::DeviceRemovedEvent
Event: A peripheral device was removed.
Definition PeripheralDeviceManager.idl:82
peripheral::DeviceManager::DeviceTypeInfo
Peripheral device type info.
Definition PeripheralDeviceManager.idl:51
peripheral::DeviceManager::DeviceTypeInfo::isActuator
boolean isActuator
Is actuator or not.
Definition PeripheralDeviceManager.idl:53
peripheral::DeviceManager::DeviceTypeInfo::defaultRange
sensors::NumericSensor Range defaultRange
Default sensor range (numeric sensors only)
Definition PeripheralDeviceManager.idl:56
peripheral::DeviceManager::DeviceTypeInfo::type
sensors::Sensor TypeSpec type
Device (sensor) type.
Definition PeripheralDeviceManager.idl:52
peripheral::DeviceManager::DeviceTypeInfo::defaultDecDigits
int defaultDecDigits
Default sensor precision (numeric sensors only)
Definition PeripheralDeviceManager.idl:57
peripheral::DeviceManager::DeviceTypeInfo::name
string name
Device type display name.
Definition PeripheralDeviceManager.idl:55
peripheral::DeviceManager::DeviceTypeInfo::identifier
string identifier
Device type identifier.
Definition PeripheralDeviceManager.idl:54
peripheral::DeviceManager::FirmwareUpdateStateChangedEvent
Event: Firmware update state has changed This event will be sent to enclose one of more DeviceFirmwar...
Definition PeripheralDeviceManager.idl:109
peripheral::DeviceManager::FirmwareUpdateStateChangedEvent::newState
FirmwareUpdateState newState
New update state.
Definition PeripheralDeviceManager.idl:110
peripheral::DeviceManager::FirmwareUpdateState
Firmware update status.
Definition PeripheralDeviceManager.idl:61
peripheral::DeviceManager::FirmwareUpdateState::remaining
int remaining
Number of peripheral devices that are still pending to be updated.
Definition PeripheralDeviceManager.idl:63
peripheral::DeviceManager::FirmwareUpdateState::active
boolean active
true if any peripheral device is currently updated
Definition PeripheralDeviceManager.idl:62
peripheral::DeviceManager::MetaData
Peripheral DeviceManager's metadata.
Definition PeripheralDeviceManager.idl:45
peripheral::DeviceManager::MetaData::onboardDeviceCount
int onboardDeviceCount
Number of onboard peripheral devices.
Definition PeripheralDeviceManager.idl:47
peripheral::DeviceManager::MetaData::oneWirePortCount
int oneWirePortCount
Number of 1-wire ports.
Definition PeripheralDeviceManager.idl:46
peripheral::DeviceManager::PackageAddedEvent
Event: A peripheral device package was added.
Definition PeripheralDeviceManager.idl:120
peripheral::DeviceManager::PackageEvent
Event: A peripheral device package was added or removed.
Definition PeripheralDeviceManager.idl:114
peripheral::DeviceManager::PackageEvent::packageInfos
vector< PackageInfo > packageInfos
Information about affected packages.
Definition PeripheralDeviceManager.idl:115
peripheral::DeviceManager::PackageEvent::allPackages
vector< PackageInfo > allPackages
New list of discovered packages after change.
Definition PeripheralDeviceManager.idl:116
peripheral::DeviceManager::PackageRemovedEvent
Event: A peripheral device package was removed.
Definition PeripheralDeviceManager.idl:122
peripheral::DeviceManager::SettingsChangedEvent
Event: Peripheral device manager's settings have been changed.
Definition PeripheralDeviceManager.idl:67
peripheral::DeviceManager::SettingsChangedEvent::newSettings
Settings newSettings
Settings after change.
Definition PeripheralDeviceManager.idl:69
peripheral::DeviceManager::SettingsChangedEvent::oldSettings
Settings oldSettings
Settings before change.
Definition PeripheralDeviceManager.idl:68
peripheral::DeviceManager::Settings
peripheral DeviceManager's s settings
Definition PeripheralDeviceManager.idl:34
peripheral::DeviceManager::Settings::presenceDetectionTimeout
int presenceDetectionTimeout
Timeout for presence detection (sec)
Definition PeripheralDeviceManager.idl:38
peripheral::DeviceManager::Settings::defaultThresholdsMap
map< string, sensors::NumericSensor.Thresholds > defaultThresholdsMap
Default thresholds by peripheral device type.
Definition PeripheralDeviceManager.idl:39
peripheral::DeviceManager::Settings::deviceAltitude
float deviceAltitude
Altitude of device in meters.
Definition PeripheralDeviceManager.idl:37
peripheral::DeviceManager::Settings::zCoordMode
ZCoordMode zCoordMode
Z coordinate semantics.
Definition PeripheralDeviceManager.idl:35
peripheral::DeviceManager::Settings::muteOtherAccessControlUnit
boolean muteOtherAccessControlUnit
Mute other access control unit (door handle) enabled.
Definition PeripheralDeviceManager.idl:41
peripheral::DeviceManager::Settings::autoManageNewDevices
boolean autoManageNewDevices
Automatically manage newly detected devices.
Definition PeripheralDeviceManager.idl:36
peripheral::DeviceManager::Settings::maxActivePoweredDryContacts
int maxActivePoweredDryContacts
The maximum number of concurrently active powered dry contacts.
Definition PeripheralDeviceManager.idl:40
peripheral::DeviceManager::Statistics
Peripheral device statistics.
Definition PeripheralDeviceManager.idl:125
peripheral::DeviceManager::Statistics::fuseTripCnt
int fuseTripCnt
external ports fuse trip counter
Definition PeripheralDeviceManager.idl:127
peripheral::DeviceManager::Statistics::cSumErrCnt
int cSumErrCnt
CRC / checksum error counter.
Definition PeripheralDeviceManager.idl:126
peripheral::DeviceManager::UnknownDeviceAttachedEvent
Event: An unknown device was attached.
Definition PeripheralDeviceManager.idl:85
peripheral::DeviceManager::UnknownDeviceAttachedEvent::romCode
string romCode
Device ROM code.
Definition PeripheralDeviceManager.idl:86
peripheral::DeviceManager::UnknownDeviceAttachedEvent::position
vector< PosElement > position
Device position in the chain.
Definition PeripheralDeviceManager.idl:87
sensors::NumericSensor::Range
Range of possible sensor readings.
Definition NumericSensor.idl:24
sensors::NumericSensor::Thresholds
Numeric sensor thresholds.
Definition NumericSensor.idl:111
sensors::Sensor::TypeSpec
Complete sensor type specification.
Definition Sensor.idl:177