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

Loading...
Searching...
No Matches
PortGroup.idl
1#ifndef __RADM_PORTGROUP_IDL__
2#define __RADM_PORTGROUP_IDL__
3
4#include <UserEvent.idl>
5#include <KvmPort.idl>
6
7module radm {
8
9 interface PortGroup {
10 constant int ERR_INVALID_ARGUMENT = 1;
11
12 /** Group meta data */
13 structure Metadata {
14 string groupId; ///< ID of the group
15 };
16
17 /** Configuration object for a plain port group */
18 valueobject GroupConfig {};
19
20 /** Configuration object for a multi-monitor group */
21 valueobject MultiMonitorConfig extends PortGroup.GroupConfig {
22 int columnCount; ///< Number of columns in the grid fored by the multi-monitor setup
23 ///< (member ports are arranged in left-to-right, top-to-bottom order)
24 int primaryIndex; ///< Index of the port to be considered the primary monitor
25 };
26
27 structure Settings {
28 string name; ///< Group name
29 vector<KvmPort> members; ///< Group members
30 GroupConfig config; ///< Configuration object (must not be empty)
31 };
32
33 /**
34 * Get group meta data
35 *
36 * @return Meta data
37 */
38 Metadata getMetadata();
39
40 /**
41 * Get group settings
42 *
43 * @return Group settings
44 */
45 Settings getSettings();
46
47 /**
48 * Set group settings
49 *
50 * @param settings New group settings
51 *
52 * @return 0 on success
53 * @return 1 if any given setting was invalid
54 */
55 int setSettings(in Settings settings);
56
57 /** Event: Group settings have been changed */
58 valueobject SettingsChangedEvent extends event.UserEvent {
59 Settings oldSettings; ///< Settings before change
60 Settings newSettings; ///< Settings after change
61 };
62 };
63}
64
65#endif
radm::PortGroup
Definition PortGroup.idl:9
radm::PortGroup::setSettings
int setSettings(in Settings settings)
Set group settings.
radm::PortGroup::getMetadata
Metadata getMetadata()
Get group meta data.
radm::PortGroup::getSettings
Settings getSettings()
Get group settings.
radm
Radm Model.
Definition AccessPort.idl:8
radm::PortGroup::GroupConfig
Configuration object for a plain port group.
Definition PortGroup.idl:18
radm::PortGroup::Metadata
Group meta data.
Definition PortGroup.idl:13
radm::PortGroup::Metadata::groupId
string groupId
ID of the group.
Definition PortGroup.idl:14
radm::PortGroup::MultiMonitorConfig
Configuration object for a multi-monitor group.
Definition PortGroup.idl:21
radm::PortGroup::MultiMonitorConfig::columnCount
int columnCount
Number of columns in the grid fored by the multi-monitor setup (member ports are arranged in left-to-...
Definition PortGroup.idl:22
radm::PortGroup::MultiMonitorConfig::primaryIndex
int primaryIndex
Index of the port to be considered the primary monitor.
Definition PortGroup.idl:24
radm::PortGroup::SettingsChangedEvent
Event: Group settings have been changed.
Definition PortGroup.idl:58
radm::PortGroup::SettingsChangedEvent::newSettings
Settings newSettings
Settings after change.
Definition PortGroup.idl:60
radm::PortGroup::SettingsChangedEvent::oldSettings
Settings oldSettings
Settings before change.
Definition PortGroup.idl:59
radm::PortGroup::Settings
Definition PortGroup.idl:27
radm::PortGroup::Settings::members
vector< KvmPort > members
Group members.
Definition PortGroup.idl:29
radm::PortGroup::Settings::config
GroupConfig config
Configuration object (must not be empty)
Definition PortGroup.idl:30
radm::PortGroup::Settings::name
string name
Group name.
Definition PortGroup.idl:28