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 */
67 Settings getSettings();
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 */
85 Status getStatus();
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__
radm::TerminalBlock
TerminalBlock interface
Definition TerminalBlock.idl:10
radm::TerminalBlock::setSettings
int setSettings(in Settings settings)
Change terminal block settings.
radm::TerminalBlock::getSettings
Settings getSettings()
Retrieve terminal block settings.
radm::TerminalBlock::ERR_INVALID_ARGUMENT
constant int ERR_INVALID_ARGUMENT
Any argument was invalid.
Definition TerminalBlock.idl:11
radm::TerminalBlock::InputMode
InputMode
KVM access control based on input status.
Definition TerminalBlock.idl:15
radm::TerminalBlock::FULL_ACCESS
@ FULL_ACCESS
Allow full KVM access.
Definition TerminalBlock.idl:16
radm::TerminalBlock::NO_ACCESS
@ NO_ACCESS
Do not allow KVM access.
Definition TerminalBlock.idl:18
radm::TerminalBlock::VIDEO_ONLY
@ VIDEO_ONLY
Allow video-only KVM access.
Definition TerminalBlock.idl:17
radm::TerminalBlock::getStatus
Status getStatus()
Retrieve terminal block status.
radm::TerminalBlock::ERR_BUSY_PULSING
constant int ERR_BUSY_PULSING
Settings can't be applied because previous pulse is still active.
Definition TerminalBlock.idl:12
radm::TerminalBlock::InputStatus
InputStatus
Input Status.
Definition TerminalBlock.idl:31
radm::TerminalBlock::OutputMode
OutputMode
Output Options.
Definition TerminalBlock.idl:22
radm::TerminalBlock::DEVICE_OFF
@ DEVICE_OFF
Output off.
Definition TerminalBlock.idl:23
radm::TerminalBlock::DEVICE_PULSE
@ DEVICE_PULSE
Output pulse.
Definition TerminalBlock.idl:26
radm::TerminalBlock::DEVICE_ON
@ DEVICE_ON
Output on.
Definition TerminalBlock.idl:24
radm::TerminalBlock::KVMSTATUS
@ KVMSTATUS
Output on/off based on KVM port status.
Definition TerminalBlock.idl:27
radm::TerminalBlock::DEVICE_BLINK
@ DEVICE_BLINK
Output blinking.
Definition TerminalBlock.idl:25
radm::TerminalBlock::OutputStatus
OutputStatus
Output Status.
Definition TerminalBlock.idl:37
radm
Radm Model.
Definition AccessPort.idl:8
radm::TerminalBlock::SettingsChangedEvent
Event: The terminal block settings have changed.
Definition TerminalBlock.idl:88
radm::TerminalBlock::SettingsChangedEvent::oldSettings
Settings oldSettings
Settings before change.
Definition TerminalBlock.idl:89
radm::TerminalBlock::SettingsChangedEvent::newSettings
Settings newSettings
Settings after change.
Definition TerminalBlock.idl:90
radm::TerminalBlock::Settings
Definition TerminalBlock.idl:43
radm::TerminalBlock::Settings::inputLocal
InputMode inputLocal
KVM access control applied to local user.
Definition TerminalBlock.idl:47
radm::TerminalBlock::Settings::blinkPulseInterval
int blinkPulseInterval
Interval (in half seconds) for blink/pulse.
Definition TerminalBlock.idl:50
radm::TerminalBlock::Settings::inputEnabled
boolean inputEnabled
Enable KVM access control based on input status.
Definition TerminalBlock.idl:44
radm::TerminalBlock::Settings::outputEnabled
boolean outputEnabled
Enable output.
Definition TerminalBlock.idl:48
radm::TerminalBlock::Settings::outputMode
OutputMode outputMode
Output options.
Definition TerminalBlock.idl:49
radm::TerminalBlock::Settings::inputRemote
InputMode inputRemote
KVM access control applied to remote user.
Definition TerminalBlock.idl:46
radm::TerminalBlock::Settings::activeInputState
InputStatus activeInputState
Input status is used to control KVM access.
Definition TerminalBlock.idl:45
radm::TerminalBlock::Settings::kvmIdleOff
boolean kvmIdleOff
Only effective in KVMSTATUS option: true: output off when KVM idle, output on otherwise false: output...
Definition TerminalBlock.idl:51
radm::TerminalBlock::StatusChangedEvent
Event: The terminal block status have changed.
Definition TerminalBlock.idl:94
radm::TerminalBlock::StatusChangedEvent::oldStatus
Status oldStatus
Status before change.
Definition TerminalBlock.idl:95
radm::TerminalBlock::StatusChangedEvent::newStatus
Status newStatus
Status after change.
Definition TerminalBlock.idl:96
radm::TerminalBlock::Status
Terminal Block Status including input and output.
Definition TerminalBlock.idl:57