Legrand / Raritan Xerus™ JSON-RPC API for Remote Access Devices like KX4-101, KX3G2

Loading...
Searching...
No Matches
KvmPort.idl
1#ifndef __RADM_KVM_PORT_IDL__
2#define __RADM_KVM_PORT_IDL__
3
4#include <UserEvent.idl>
5#include <AccessPort.idl>
6#include <UsbProfileSettings.idl>
7#include <VideoResolution.idl>
8
9module radm {
10
11 interface KvmPort extends AccessPort {
12 constant int ERR_USB_RECONFIG_NOT_ALLOWED_BUSY = 20;
13
14 enumeration PortType {
15 KVM,
16 BLADEPORT,
17 BLADECHASSIS
18 };
19
20 structure Capabilities {
21 PortType type; ///< Port type of this port
22 boolean absoluteMouse; ///< Absolute mouse mode can be used on this port
23 boolean virtualMedia; ///< Virtual media / mass storage can be used on this port
24 boolean usbSettings; ///< The port supports using the 'usb' part of {@link Settings}.
25 boolean usbProfiles; ///< The port supports setting active and selected USB profiles in {@link Settings}.
26 boolean digitalVideo; ///< The port has a digital video input
27 boolean ddc; ///< The port supports EDID communication towards the target and thus supports setting preferred resolution in {@link Settings}.
28 boolean audio; ///< The port has audio support
29 boolean smartCard; ///< The port has smart card support
30 boolean dviCompatMode; ///< The port has an HDMI video input and thus supports setting DVI compat mode in {@link Settings}.
31 boolean cim; ///< CIMs can be attached to this port
32 boolean blade; ///< The port has support for blade server configuration
33 };
34
35 /** USB settings for devices without usbProfiles capability */
36 structure UsbSettings {
37 UsbProfileSettings profile; ///< USB settings handled by profiles on devices with usbProfiles capability, see {@link UsbProfileSettings}
38 boolean overrideVendor; ///< Whether to override the default (Raritan) USB vendor and product ID with that of a locally attached device
39 boolean usbAudio; ///< Whether to enable USB audio
40 };
41
42 enumeration EdidSource {
43 STANDARD, ///< Use built-in EDID data
44 CUSTOM, ///< Use custom EDID data previously uploaded
45 LOCAL ///< Use EDID data of a locally attached monitor
46 };
47
48 enumeration CimNamingMode {
49 CIM_TO_PORT, ///< Transfer CIM name to port name
50 PORT_TO_CIM_ONCE, ///< Transfer port name to CIM name on next connection
51 PORT_TO_CIM_ALWAYS ///< Transfer port name to CIM name on every connection
52 };
53
54 /** Information about group membership of this port */
55 valueobject GroupInfo {
56 string groupId; ///< ID of the group containing this port
57 int positionInGroup; ///< Position inside the group (index into group member list)
58 };
59
60 /** Information about group membership in case this port is part of a multi-monitor group */
61 valueobject MultiMonitorGroupInfo extends KvmPort.GroupInfo {
62 boolean isPrimary; ///< This port is considered the primary monitor of the group
63 int horizontalPosition; ///< Horizontal position inside the monitor grid formed by the group
64 int verticalPosition; ///< Vertical position inside the monitor grid formed by the group
65 };
66
67 /** Information about a CIM connected to a port */
68 valueobject CimInfo {
69 string cimName; ///< Name as configured in the CIM
70 string serialNumber; ///< CIM serial number
71 string cimType; ///< CIM model
72 string fwVersion; ///< Firmware version
73 string hwVersion; ///< Hardware version
74 };
75
76 structure IntelligentMouseSettings {
77 boolean manualSync; ///< ???
78 float manualAcceleration; ///< ???
79 int manualThreshold; ///< ???
80 int accumulationPeriod; ///< Period (in ms) over which to accumulate incoming mouse movements until sending them to the target (0 = no accumulation)
81 };
82
83 /** Settings for digital (non-CIM) ports */
84 structure DigitalPortSettings {
85 int edidCycleTime; ///< Cycle time for hot-plug detect signal on EDID changes (in ms, available for ddc capability)
86 boolean vgaMode; ///< Whether to treat the the video input as originating from an analog video source -
87 ///< if enabled, noise filters and color range conversion are used
88 int vgaGainBoost; ///< How aggressively color range conversion should be done in VGA mode on a 0..9 scale
89 boolean audioCompensation; ///< Whether to compensate for issues in HDMI audio connection
90 };
91
92 /** Settings for CIM-based ports */
93 structure CimPortSettings {
94 boolean dosResolutionCompensation; ///< Whether to compensate for issues with 640x480 or 720x400 video resolutions
95 boolean offsetCompensation; ///< Whether to compensate for non-centered video output
96 CimNamingMode namingMode; ///< Name transfer behavior when connecting a CIM to this port
97 };
98
99 structure Settings {
100 string name; ///< Port name
101 VideoResolution preferredResolution; ///< Preferred video resolution for this port (available for ddc capability)
102 EdidSource preferredResolutionSource; ///< Source of EDID data for preferred resolution (available for ddc capability)
103 boolean dviCompatMode; ///< Use DVI instead of HDMI EDID data (available for dviCompatMode capability)
104 boolean videoPortrait; ///< Whether to interpret the video signal in landscape or portrait orientation
105 boolean videoThrottle; ///< Cap client frame rate at half of incoming video frame rate
106 DigitalPortSettings digital; ///< Digital port settings (not available for cim capabilitty)
107 CimPortSettings cim; ///< CIM-based port settings (available for cim capability)
108 IntelligentMouseSettings mouse; ///< Settings for intelligent mouse mode
109 UsbSettings usb; ///< USB settings (available for usbSettings capability)
110 vector<int> selectedProfiles; ///< IDs of USB profiles to be available for this port (available for usbProfiles capability)
111 int activeProfile; ///< ID of active USB profile (available for usbProfiles capability)
112 int preferredProfile; ///< ID of preferred USB profile (available for usbProfiles capability)
113 };
114
115 /**
116 * Get port capabilities
117 *
118 * @return Port capabilities
119 */
120 Capabilities getCapabilities();
121
122 /**
123 * Get port settings
124 *
125 * @return Port settings
126 */
127 Settings getSettings();
128
129 /**
130 * Set port settings
131 *
132 * @param settings New settings
133 *
134 * @return 0 on success
135 * @return 1 if any setting was invalid
136 * @return 20 if USB settings could not be changed due to the port currently being in use
137 */
138 int setSettings(in Settings settings);
139
140 /**
141 * Get information about port group membership
142 *
143 * @return Group information object in case this port is part of a group
144 */
145 GroupInfo getGroupInfo();
146
147 /**
148 * Get information about a CIM connected to the port
149 *
150 * @return CIM information object in case a CIM is connected to the port
151 */
152 CimInfo getCimInfo();
153
154 /** Event: The port capabilities have changed */
155 valueobject CapabilitiesChangedEvent extends idl.Event {
156 Capabilities oldCapabilities; ///< Capabilities before change
157 Capabilities newCapabilities; ///< Capabilities after change
158 };
159
160 /** Event: The port settings have changed */
161 valueobject SettingsChangedEvent extends event.UserEvent {
162 Settings oldSettings; ///< Port settings before change
163 Settings newSettings; ///< Port settings after change
164 };
165
166 /** Event: The port group has changed */
167 valueobject GroupInfoChangedEvent extends event.UserEvent {
168 GroupInfo oldGroupInfo; ///< Group information before change
169 GroupInfo newGroupInfo; ///< Group information after change
170 };
171
172 /** Event: The port ciminfo have changed */
173 valueobject CimInfoChangedEvent extends idl.Event {
174 CimInfo oldCimInfo; ///< CIM information before change
175 CimInfo newCimInfo; ///< CIM information after change
176 };
177
178 /** Event: Active USB profile has changed */
179 valueobject ActiveUsbProfileChangedEvent extends idl.Event {
180 string profileName; ///< Profile name
181 long profileKey; ///< Profile key
182 };
183
184 };
185
186}
187
188#endif //__RADM_KVM_PORT_IDL__
radm::AccessPort
Definition AccessPort.idl:10
radm::KvmPort
Definition KvmPort.idl:11
radm::KvmPort::EdidSource
EdidSource
Definition KvmPort.idl:42
radm::KvmPort::CUSTOM
@ CUSTOM
Use custom EDID data previously uploaded.
Definition KvmPort.idl:44
radm::KvmPort::LOCAL
@ LOCAL
Use EDID data of a locally attached monitor.
Definition KvmPort.idl:45
radm::KvmPort::STANDARD
@ STANDARD
Use built-in EDID data.
Definition KvmPort.idl:43
radm::KvmPort::getCimInfo
CimInfo getCimInfo()
Get information about a CIM connected to the port.
radm::KvmPort::CimNamingMode
CimNamingMode
Definition KvmPort.idl:48
radm::KvmPort::PORT_TO_CIM_ALWAYS
@ PORT_TO_CIM_ALWAYS
Transfer port name to CIM name on every connection.
Definition KvmPort.idl:51
radm::KvmPort::CIM_TO_PORT
@ CIM_TO_PORT
Transfer CIM name to port name.
Definition KvmPort.idl:49
radm::KvmPort::PORT_TO_CIM_ONCE
@ PORT_TO_CIM_ONCE
Transfer port name to CIM name on next connection.
Definition KvmPort.idl:50
radm::KvmPort::setSettings
int setSettings(in Settings settings)
Set port settings.
radm::KvmPort::getGroupInfo
GroupInfo getGroupInfo()
Get information about port group membership.
radm::KvmPort::getCapabilities
Capabilities getCapabilities()
Get port capabilities.
radm::KvmPort::getSettings
Settings getSettings()
Get port settings.
idl
Basic IDL definitions.
Definition Event.idl:10
radm
Radm Model.
Definition AccessPort.idl:8
usb
USB Ports.
Definition Usb.idl:11
idl::Event
Common base for all events.
Definition Event.idl:13
radm::KvmPort::ActiveUsbProfileChangedEvent
Event: Active USB profile has changed.
Definition KvmPort.idl:179
radm::KvmPort::ActiveUsbProfileChangedEvent::profileKey
long profileKey
Profile key.
Definition KvmPort.idl:181
radm::KvmPort::ActiveUsbProfileChangedEvent::profileName
string profileName
Profile name.
Definition KvmPort.idl:180
radm::KvmPort::CapabilitiesChangedEvent
Event: The port capabilities have changed.
Definition KvmPort.idl:155
radm::KvmPort::CapabilitiesChangedEvent::newCapabilities
Capabilities newCapabilities
Capabilities after change.
Definition KvmPort.idl:157
radm::KvmPort::CapabilitiesChangedEvent::oldCapabilities
Capabilities oldCapabilities
Capabilities before change.
Definition KvmPort.idl:156
radm::KvmPort::Capabilities
Definition KvmPort.idl:20
radm::KvmPort::Capabilities::virtualMedia
boolean virtualMedia
Virtual media / mass storage can be used on this port.
Definition KvmPort.idl:23
radm::KvmPort::Capabilities::usbProfiles
boolean usbProfiles
The port supports setting active and selected USB profiles in Settings.
Definition KvmPort.idl:25
radm::KvmPort::Capabilities::ddc
boolean ddc
The port supports EDID communication towards the target and thus supports setting preferred resolutio...
Definition KvmPort.idl:27
radm::KvmPort::Capabilities::cim
boolean cim
CIMs can be attached to this port.
Definition KvmPort.idl:31
radm::KvmPort::Capabilities::type
PortType type
Port type of this port.
Definition KvmPort.idl:21
radm::KvmPort::Capabilities::absoluteMouse
boolean absoluteMouse
Absolute mouse mode can be used on this port.
Definition KvmPort.idl:22
radm::KvmPort::Capabilities::digitalVideo
boolean digitalVideo
The port has a digital video input.
Definition KvmPort.idl:26
radm::KvmPort::Capabilities::smartCard
boolean smartCard
The port has smart card support.
Definition KvmPort.idl:29
radm::KvmPort::Capabilities::audio
boolean audio
The port has audio support.
Definition KvmPort.idl:28
radm::KvmPort::Capabilities::usbSettings
boolean usbSettings
The port supports using the 'usb' part of Settings.
Definition KvmPort.idl:24
radm::KvmPort::Capabilities::dviCompatMode
boolean dviCompatMode
The port has an HDMI video input and thus supports setting DVI compat mode in Settings.
Definition KvmPort.idl:30
radm::KvmPort::Capabilities::blade
boolean blade
The port has support for blade server configuration.
Definition KvmPort.idl:32
radm::KvmPort::CimInfoChangedEvent
Event: The port ciminfo have changed.
Definition KvmPort.idl:173
radm::KvmPort::CimInfoChangedEvent::oldCimInfo
CimInfo oldCimInfo
CIM information before change.
Definition KvmPort.idl:174
radm::KvmPort::CimInfoChangedEvent::newCimInfo
CimInfo newCimInfo
CIM information after change.
Definition KvmPort.idl:175
radm::KvmPort::CimInfo
Information about a CIM connected to a port.
Definition KvmPort.idl:68
radm::KvmPort::CimInfo::cimName
string cimName
Name as configured in the CIM.
Definition KvmPort.idl:69
radm::KvmPort::CimInfo::serialNumber
string serialNumber
CIM serial number.
Definition KvmPort.idl:70
radm::KvmPort::CimInfo::cimType
string cimType
CIM model.
Definition KvmPort.idl:71
radm::KvmPort::CimInfo::hwVersion
string hwVersion
Hardware version.
Definition KvmPort.idl:73
radm::KvmPort::CimInfo::fwVersion
string fwVersion
Firmware version.
Definition KvmPort.idl:72
radm::KvmPort::CimPortSettings
Settings for CIM-based ports.
Definition KvmPort.idl:93
radm::KvmPort::CimPortSettings::namingMode
CimNamingMode namingMode
Name transfer behavior when connecting a CIM to this port.
Definition KvmPort.idl:96
radm::KvmPort::CimPortSettings::offsetCompensation
boolean offsetCompensation
Whether to compensate for non-centered video output.
Definition KvmPort.idl:95
radm::KvmPort::CimPortSettings::dosResolutionCompensation
boolean dosResolutionCompensation
Whether to compensate for issues with 640x480 or 720x400 video resolutions.
Definition KvmPort.idl:94
radm::KvmPort::DigitalPortSettings
Settings for digital (non-CIM) ports.
Definition KvmPort.idl:84
radm::KvmPort::DigitalPortSettings::vgaGainBoost
int vgaGainBoost
How aggressively color range conversion should be done in VGA mode on a 0..9 scale.
Definition KvmPort.idl:88
radm::KvmPort::DigitalPortSettings::audioCompensation
boolean audioCompensation
Whether to compensate for issues in HDMI audio connection.
Definition KvmPort.idl:89
radm::KvmPort::DigitalPortSettings::edidCycleTime
int edidCycleTime
Cycle time for hot-plug detect signal on EDID changes (in ms, available for ddc capability)
Definition KvmPort.idl:85
radm::KvmPort::DigitalPortSettings::vgaMode
boolean vgaMode
Whether to treat the the video input as originating from an analog video source - if enabled,...
Definition KvmPort.idl:86
radm::KvmPort::GroupInfoChangedEvent
Event: The port group has changed.
Definition KvmPort.idl:167
radm::KvmPort::GroupInfoChangedEvent::oldGroupInfo
GroupInfo oldGroupInfo
Group information before change.
Definition KvmPort.idl:168
radm::KvmPort::GroupInfoChangedEvent::newGroupInfo
GroupInfo newGroupInfo
Group information after change.
Definition KvmPort.idl:169
radm::KvmPort::GroupInfo
Information about group membership of this port.
Definition KvmPort.idl:55
radm::KvmPort::GroupInfo::groupId
string groupId
ID of the group containing this port.
Definition KvmPort.idl:56
radm::KvmPort::GroupInfo::positionInGroup
int positionInGroup
Position inside the group (index into group member list)
Definition KvmPort.idl:57
radm::KvmPort::IntelligentMouseSettings
Definition KvmPort.idl:76
radm::KvmPort::IntelligentMouseSettings::manualThreshold
int manualThreshold
???
Definition KvmPort.idl:79
radm::KvmPort::IntelligentMouseSettings::manualAcceleration
float manualAcceleration
???
Definition KvmPort.idl:78
radm::KvmPort::IntelligentMouseSettings::manualSync
boolean manualSync
???
Definition KvmPort.idl:77
radm::KvmPort::IntelligentMouseSettings::accumulationPeriod
int accumulationPeriod
Period (in ms) over which to accumulate incoming mouse movements until sending them to the target (0 ...
Definition KvmPort.idl:80
radm::KvmPort::MultiMonitorGroupInfo
Information about group membership in case this port is part of a multi-monitor group.
Definition KvmPort.idl:61
radm::KvmPort::MultiMonitorGroupInfo::horizontalPosition
int horizontalPosition
Horizontal position inside the monitor grid formed by the group.
Definition KvmPort.idl:63
radm::KvmPort::MultiMonitorGroupInfo::verticalPosition
int verticalPosition
Vertical position inside the monitor grid formed by the group.
Definition KvmPort.idl:64
radm::KvmPort::MultiMonitorGroupInfo::isPrimary
boolean isPrimary
This port is considered the primary monitor of the group.
Definition KvmPort.idl:62
radm::KvmPort::SettingsChangedEvent
Event: The port settings have changed.
Definition KvmPort.idl:161
radm::KvmPort::SettingsChangedEvent::oldSettings
Settings oldSettings
Port settings before change.
Definition KvmPort.idl:162
radm::KvmPort::SettingsChangedEvent::newSettings
Settings newSettings
Port settings after change.
Definition KvmPort.idl:163
radm::KvmPort::Settings
Definition KvmPort.idl:99
radm::KvmPort::Settings::videoThrottle
boolean videoThrottle
Cap client frame rate at half of incoming video frame rate.
Definition KvmPort.idl:105
radm::KvmPort::Settings::videoPortrait
boolean videoPortrait
Whether to interpret the video signal in landscape or portrait orientation.
Definition KvmPort.idl:104
radm::KvmPort::Settings::selectedProfiles
vector< int > selectedProfiles
IDs of USB profiles to be available for this port (available for usbProfiles capability)
Definition KvmPort.idl:110
radm::KvmPort::Settings::name
string name
Port name.
Definition KvmPort.idl:100
radm::KvmPort::Settings::mouse
IntelligentMouseSettings mouse
Settings for intelligent mouse mode.
Definition KvmPort.idl:108
radm::KvmPort::Settings::preferredProfile
int preferredProfile
ID of preferred USB profile (available for usbProfiles capability)
Definition KvmPort.idl:112
radm::KvmPort::Settings::dviCompatMode
boolean dviCompatMode
Use DVI instead of HDMI EDID data (available for dviCompatMode capability)
Definition KvmPort.idl:103
radm::KvmPort::Settings::digital
DigitalPortSettings digital
Digital port settings (not available for cim capabilitty)
Definition KvmPort.idl:106
radm::KvmPort::Settings::activeProfile
int activeProfile
ID of active USB profile (available for usbProfiles capability)
Definition KvmPort.idl:111
radm::KvmPort::Settings::cim
CimPortSettings cim
CIM-based port settings (available for cim capability)
Definition KvmPort.idl:107
radm::KvmPort::Settings::preferredResolution
VideoResolution preferredResolution
Preferred video resolution for this port (available for ddc capability)
Definition KvmPort.idl:101
radm::KvmPort::Settings::preferredResolutionSource
EdidSource preferredResolutionSource
Source of EDID data for preferred resolution (available for ddc capability)
Definition KvmPort.idl:102
radm::KvmPort::UsbSettings
USB settings for devices without usbProfiles capability.
Definition KvmPort.idl:36
radm::KvmPort::UsbSettings::overrideVendor
boolean overrideVendor
Whether to override the default (Raritan) USB vendor and product ID with that of a locally attached d...
Definition KvmPort.idl:38
radm::KvmPort::UsbSettings::usbAudio
boolean usbAudio
Whether to enable USB audio.
Definition KvmPort.idl:39
radm::KvmPort::UsbSettings::profile
UsbProfileSettings profile
USB settings handled by profiles on devices with usbProfiles capability, see UsbProfileSettings.
Definition KvmPort.idl:37
radm::UsbProfileSettings
Definition UsbProfileSettings.idl:17
radm::VideoResolution
Definition VideoResolution.idl:6