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 */
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
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 */
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 */
121
122 /**
123 * Get port settings
124 *
125 * @return Port settings
126 */
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 */
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 */
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 */
180 string profileName; ///< Profile name
181 long profileKey; ///< Profile key
182 };
183
184 };
185
186}
187
188#endif //__RADM_KVM_PORT_IDL__
@ CUSTOM
Use custom EDID data previously uploaded.
Definition KvmPort.idl:44
@ LOCAL
Use EDID data of a locally attached monitor.
Definition KvmPort.idl:45
@ STANDARD
Use built-in EDID data.
Definition KvmPort.idl:43
CimInfo getCimInfo()
Get information about a CIM connected to the port.
@ PORT_TO_CIM_ALWAYS
Transfer port name to CIM name on every connection.
Definition KvmPort.idl:51
@ CIM_TO_PORT
Transfer CIM name to port name.
Definition KvmPort.idl:49
@ PORT_TO_CIM_ONCE
Transfer port name to CIM name on next connection.
Definition KvmPort.idl:50
int setSettings(in Settings settings)
Set port settings.
GroupInfo getGroupInfo()
Get information about port group membership.
Capabilities getCapabilities()
Get port capabilities.
Settings getSettings()
Get port settings.
Basic IDL definitions.
Definition Event.idl:10
Radm Model.
Definition AccessPort.idl:8
USB Ports.
Definition Usb.idl:11
Common base for all events.
Definition Event.idl:13
Event: Active USB profile has changed.
Definition KvmPort.idl:179
Event: The port capabilities have changed.
Definition KvmPort.idl:155
Capabilities newCapabilities
Capabilities after change.
Definition KvmPort.idl:157
Capabilities oldCapabilities
Capabilities before change.
Definition KvmPort.idl:156
boolean virtualMedia
Virtual media / mass storage can be used on this port.
Definition KvmPort.idl:23
boolean usbProfiles
The port supports setting active and selected USB profiles in Settings.
Definition KvmPort.idl:25
boolean ddc
The port supports EDID communication towards the target and thus supports setting preferred resolutio...
Definition KvmPort.idl:27
boolean cim
CIMs can be attached to this port.
Definition KvmPort.idl:31
PortType type
Port type of this port.
Definition KvmPort.idl:21
boolean absoluteMouse
Absolute mouse mode can be used on this port.
Definition KvmPort.idl:22
boolean digitalVideo
The port has a digital video input.
Definition KvmPort.idl:26
boolean smartCard
The port has smart card support.
Definition KvmPort.idl:29
boolean audio
The port has audio support.
Definition KvmPort.idl:28
boolean usbSettings
The port supports using the 'usb' part of Settings.
Definition KvmPort.idl:24
boolean dviCompatMode
The port has an HDMI video input and thus supports setting DVI compat mode in Settings.
Definition KvmPort.idl:30
boolean blade
The port has support for blade server configuration.
Definition KvmPort.idl:32
Event: The port ciminfo have changed.
Definition KvmPort.idl:173
CimInfo oldCimInfo
CIM information before change.
Definition KvmPort.idl:174
CimInfo newCimInfo
CIM information after change.
Definition KvmPort.idl:175
Information about a CIM connected to a port.
Definition KvmPort.idl:68
string cimName
Name as configured in the CIM.
Definition KvmPort.idl:69
string serialNumber
CIM serial number.
Definition KvmPort.idl:70
string cimType
CIM model.
Definition KvmPort.idl:71
string hwVersion
Hardware version.
Definition KvmPort.idl:73
string fwVersion
Firmware version.
Definition KvmPort.idl:72
Settings for CIM-based ports.
Definition KvmPort.idl:93
CimNamingMode namingMode
Name transfer behavior when connecting a CIM to this port.
Definition KvmPort.idl:96
boolean offsetCompensation
Whether to compensate for non-centered video output.
Definition KvmPort.idl:95
boolean dosResolutionCompensation
Whether to compensate for issues with 640x480 or 720x400 video resolutions.
Definition KvmPort.idl:94
Settings for digital (non-CIM) ports.
Definition KvmPort.idl:84
int vgaGainBoost
How aggressively color range conversion should be done in VGA mode on a 0..9 scale.
Definition KvmPort.idl:88
boolean audioCompensation
Whether to compensate for issues in HDMI audio connection.
Definition KvmPort.idl:89
int edidCycleTime
Cycle time for hot-plug detect signal on EDID changes (in ms, available for ddc capability)
Definition KvmPort.idl:85
boolean vgaMode
Whether to treat the the video input as originating from an analog video source - if enabled,...
Definition KvmPort.idl:86
Event: The port group has changed.
Definition KvmPort.idl:167
GroupInfo oldGroupInfo
Group information before change.
Definition KvmPort.idl:168
GroupInfo newGroupInfo
Group information after change.
Definition KvmPort.idl:169
Information about group membership of this port.
Definition KvmPort.idl:55
string groupId
ID of the group containing this port.
Definition KvmPort.idl:56
int positionInGroup
Position inside the group (index into group member list)
Definition KvmPort.idl:57
int accumulationPeriod
Period (in ms) over which to accumulate incoming mouse movements until sending them to the target (0 ...
Definition KvmPort.idl:80
Information about group membership in case this port is part of a multi-monitor group.
Definition KvmPort.idl:61
int horizontalPosition
Horizontal position inside the monitor grid formed by the group.
Definition KvmPort.idl:63
int verticalPosition
Vertical position inside the monitor grid formed by the group.
Definition KvmPort.idl:64
boolean isPrimary
This port is considered the primary monitor of the group.
Definition KvmPort.idl:62
Event: The port settings have changed.
Definition KvmPort.idl:161
Settings oldSettings
Port settings before change.
Definition KvmPort.idl:162
Settings newSettings
Port settings after change.
Definition KvmPort.idl:163
boolean videoThrottle
Cap client frame rate at half of incoming video frame rate.
Definition KvmPort.idl:105
boolean videoPortrait
Whether to interpret the video signal in landscape or portrait orientation.
Definition KvmPort.idl:104
vector< int > selectedProfiles
IDs of USB profiles to be available for this port (available for usbProfiles capability)
Definition KvmPort.idl:110
string name
Port name.
Definition KvmPort.idl:100
IntelligentMouseSettings mouse
Settings for intelligent mouse mode.
Definition KvmPort.idl:108
int preferredProfile
ID of preferred USB profile (available for usbProfiles capability)
Definition KvmPort.idl:112
boolean dviCompatMode
Use DVI instead of HDMI EDID data (available for dviCompatMode capability)
Definition KvmPort.idl:103
DigitalPortSettings digital
Digital port settings (not available for cim capabilitty)
Definition KvmPort.idl:106
int activeProfile
ID of active USB profile (available for usbProfiles capability)
Definition KvmPort.idl:111
CimPortSettings cim
CIM-based port settings (available for cim capability)
Definition KvmPort.idl:107
VideoResolution preferredResolution
Preferred video resolution for this port (available for ddc capability)
Definition KvmPort.idl:101
EdidSource preferredResolutionSource
Source of EDID data for preferred resolution (available for ddc capability)
Definition KvmPort.idl:102
USB settings for devices without usbProfiles capability.
Definition KvmPort.idl:36
boolean overrideVendor
Whether to override the default (Raritan) USB vendor and product ID with that of a locally attached d...
Definition KvmPort.idl:38
boolean usbAudio
Whether to enable USB audio.
Definition KvmPort.idl:39
UsbProfileSettings profile
USB settings handled by profiles on devices with usbProfiles capability, see UsbProfileSettings.
Definition KvmPort.idl:37