Legrand / Raritan Xerus™ JSON-RPC API for Remote Access Devices like KX4-101, KX3G2
Loading...
Searching...
No Matches
TerminalBlock.idl
1#ifndef __RADM_TERMINALBLOCK_IDL__
2#define __RADM_TERMINALBLOCK_IDL__
3
4#include <UserEvent.idl>
5
6/** Radm Model */
7module radm {
8
9 /** %TerminalBlock interface */
10 interface TerminalBlock {
11 constant int ERR_INVALID_ARGUMENT = 1; ///< Any argument was invalid
12 constant int ERR_BUSY_PULSING = 2; ///< Settings can't be applied because previous pulse is still active
13
14 /** KVM access control based on input status */
15 enumeration InputMode {
16 FULL_ACCESS, ///< Allow full KVM access
17 VIDEO_ONLY, ///< Allow video-only KVM access
18 NO_ACCESS ///< Do not allow KVM access
19 };
20
21 /** Output Options */
22 enumeration OutputMode {
23 DEVICE_OFF, ///< Output off
24 DEVICE_ON, ///< Output on
25 DEVICE_BLINK, ///< Output blinking
26 DEVICE_PULSE, ///< Output pulse
27 KVMSTATUS ///< Output on/off based on KVM port status
28 };
29
30 /** Input Status */
31 enumeration InputStatus {
32 OPEN,
33 CLOSED
34 };
35
36 /** Output Status */
37 enumeration OutputStatus {
38 OFF,
39 ON,
40 BLINKING
41 };
42
43 structure Settings {
44 boolean inputEnabled; ///< Enable KVM access control based on input status.
45 InputStatus activeInputState; ///< Input status is used to control KVM access.
46 InputMode inputRemote; ///< KVM access control applied to remote user.
47 InputMode inputLocal; ///< KVM access control applied to local user.
48 boolean outputEnabled; ///< Enable output
49 OutputMode outputMode; ///< Output options
50 int blinkPulseInterval; ///< Interval (in half seconds) for blink/pulse.
51 boolean kvmIdleOff; ///< Only effective in KVMSTATUS option:
52 ///< true: output off when KVM idle, output on otherwise
53 ///< false: output on when KVM idle, output off otherwise
54 };
55
56 /** Terminal Block Status including input and output */
57 structure Status {
58 InputStatus inputStatus;
59 OutputStatus outputStatus;
60 };
61
62 /**
63 * Retrieve terminal block settings
64 *
65 * @return Settings
66 */
68
69 /**
70 * Change terminal block settings
71 *
72 * @param settings New terminal block settings
73 *
74 * @return 0 on success
75 * @return 1 if any setting value was invalid
76 * @return 2 if a previous pulse is still active
77 */
78 int setSettings(in Settings settings);
79
80 /**
81 * Retrieve terminal block status
82 *
83 * @return Terminal block status
84 */
86
87 /** Event: The terminal block settings have changed */
88 valueobject SettingsChangedEvent extends event.UserEvent {
89 Settings oldSettings; ///< Settings before change
90 Settings newSettings; ///< Settings after change
91 };
92
93 /** Event: The terminal block status have changed */
94 valueobject StatusChangedEvent extends event.UserEvent {
95 Status oldStatus; ///< Status before change
96 Status newStatus; ///< Status after change
97 };
98 };
99}
100
101#endif //__TERMINALBLOCK_TERMINALBLOCK_IDL__
TerminalBlock interface
int setSettings(in Settings settings)
Change terminal block settings.
Settings getSettings()
Retrieve terminal block settings.
constant int ERR_INVALID_ARGUMENT
Any argument was invalid.
InputMode
KVM access control based on input status.
@ FULL_ACCESS
Allow full KVM access.
@ NO_ACCESS
Do not allow KVM access.
@ VIDEO_ONLY
Allow video-only KVM access.
Status getStatus()
Retrieve terminal block status.
constant int ERR_BUSY_PULSING
Settings can't be applied because previous pulse is still active.
InputStatus
Input Status.
OutputMode
Output Options.
@ DEVICE_OFF
Output off.
@ DEVICE_PULSE
Output pulse.
@ KVMSTATUS
Output on/off based on KVM port status.
@ DEVICE_BLINK
Output blinking.
OutputStatus
Output Status.
Radm Model.
Definition AccessPort.idl:8
Event: The terminal block settings have changed.
Settings oldSettings
Settings before change.
Settings newSettings
Settings after change.
InputMode inputLocal
KVM access control applied to local user.
int blinkPulseInterval
Interval (in half seconds) for blink/pulse.
boolean inputEnabled
Enable KVM access control based on input status.
boolean outputEnabled
Enable output.
OutputMode outputMode
Output options.
InputMode inputRemote
KVM access control applied to remote user.
InputStatus activeInputState
Input status is used to control KVM access.
boolean kvmIdleOff
Only effective in KVMSTATUS option: true: output off when KVM idle, output on otherwise false: output...
Event: The terminal block status have changed.
Status oldStatus
Status before change.
Status newStatus
Status after change.
Terminal Block Status including input and output.