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

Loading...
Searching...
No Matches
PortGroupManager.idl
1#ifndef __RADMPORTGROUPMANAGER_IDL__
2#define __RADMPORTGROUPMANAGER_IDL__
3
4#include <KvmPort.idl>
5#include <PortGroup.idl>
6#include <Device.idl>
7
8module radm {
9
10 interface PortGroupManager {
11 constant int ERR_INVALID_ARGUMENT = 1;
12 constant int ERR_NO_SUCH_ID = 2;
13 constant int ERR_MAX_GROUP_COUNT_REACHED = 3;
14
15 /**
16 * Create a new port group
17 *
18 * @param settings Settings to create the new port group with
19 * @param group Output value: newly created port group
20 *
21 * @return 0 on success
22 * @return 1 if any of the given settings is invalid
23 * @return 3 if the maximum number of port groups is reached already
24 */
25 int createPortGroup(in PortGroup.Settings settings, out PortGroup group);
26
27 /**
28 * Delete an existing port group
29 *
30 * @param groupId ID of the group (as per it's {@link PortGroup.Metadata})
31 *
32 * @return 0 on success
33 * @return 2 if the group ID is unknown
34 */
35 int deletePortGroup(in string groupId);
36
37 /**
38 * Get all existing port groups
39 *
40 * @return Map of port groups, keyed by group ID
41 */
42 map<string, PortGroup> getAllPortGroups();
43
44 /**
45 * Get a specific port group
46 *
47 * @param groupId ID of the group (as per its {@link PortGroup.Metadata})
48 * @param group Output value: requested port group
49 *
50 * @return 0 on success
51 * @return 2 if the group ID is unknown
52 */
53 int getPortGroup(in string groupId, out PortGroup group);
54
55 /** Event: The group list has changed (group was added or removed) */
56 valueobject PortGroupListChangedEvent extends event.UserEvent {
57 map<string, PortGroup> portGroups; ///< New group map after change
58 };
59
60 /** Event: A port group was created */
61 valueobject PortGroupCreatedEvent extends PortGroupListChangedEvent {
62 string groupId; ///< ID of the created port group
63 PortGroup group; ///< Newly created port group
64 PortGroup.Settings settings; ///< Settings the new port group was created with
65 };
66
67 /** Event: A port group was deleted */
68 valueobject PortGroupDeletedEvent extends PortGroupListChangedEvent {
69 string groupId; ///< ID of the deleted port group
70 };
71 };
72}
73
74#endif
radm::PortGroupManager
Definition PortGroupManager.idl:10
radm::PortGroupManager::deletePortGroup
int deletePortGroup(in string groupId)
Delete an existing port group.
radm::PortGroupManager::createPortGroup
int createPortGroup(in PortGroup::Settings settings, out PortGroup group)
Create a new port group.
radm::PortGroupManager::getPortGroup
int getPortGroup(in string groupId, out PortGroup group)
Get a specific port group.
radm::PortGroupManager::getAllPortGroups
map< string, PortGroup > getAllPortGroups()
Get all existing port groups.
radm::PortGroup
Definition PortGroup.idl:9
radm
Radm Model.
Definition AccessPort.idl:8
radm::PortGroupManager::PortGroupCreatedEvent
Event: A port group was created.
Definition PortGroupManager.idl:61
radm::PortGroupManager::PortGroupCreatedEvent::group
PortGroup group
Newly created port group.
Definition PortGroupManager.idl:63
radm::PortGroupManager::PortGroupCreatedEvent::settings
PortGroup::Settings settings
Settings the new port group was created with.
Definition PortGroupManager.idl:64
radm::PortGroupManager::PortGroupCreatedEvent::groupId
string groupId
ID of the created port group.
Definition PortGroupManager.idl:62
radm::PortGroupManager::PortGroupDeletedEvent
Event: A port group was deleted.
Definition PortGroupManager.idl:68
radm::PortGroupManager::PortGroupDeletedEvent::groupId
string groupId
ID of the deleted port group.
Definition PortGroupManager.idl:69
radm::PortGroupManager::PortGroupListChangedEvent
Event: The group list has changed (group was added or removed)
Definition PortGroupManager.idl:56
radm::PortGroupManager::PortGroupListChangedEvent::portGroups
map< string, PortGroup > portGroups
New group map after change.
Definition PortGroupManager.idl:57
radm::PortGroup::Settings
Definition PortGroup.idl:27