Legrand / Raritan / Server Technology Xerus™ JSON-RPC API

Loading...
Searching...
No Matches
EDevice.idl
1/* SPDX-License-Identifier: BSD-3-Clause */
2/*
3 * Copyright 2012 Raritan Inc. All rights reserved.
4 */
5
6#ifndef __PDUMODEL_EDEVICE_IDL__
7#define __PDUMODEL_EDEVICE_IDL__
8
9#include <Pole.idl>
10#include <Waveform.idl>
11
12/** PDU Model */
13module pdumodel {
14
15 /**
16 * Common base interface for any kind of electrical device that is used
17 * in the PDU model, such as inlets, OCPs and outlets.
18 *
19 * EDevices form a hierarchy of parent-child relationships. An EDevice is
20 * defined to be the parent of another if it "provides energy" to the
21 * latter. E.g. an inlet could be the parent of a number of OCPs,
22 * wires or outlets.
23 *
24 * An EDevice can have multiple parents, e.g. in case of transfer switches
25 * which select power from multiple sources.
26 */
27 interface EDevice {
28 /**
29 * Get the list of devices that provide energy to this device.
30 *
31 * @return List of parent devices
32 */
33 vector<EDevice> getParents();
34
35 /**
36 * Get the list of devices that are directly fed by this device.
37 *
38 * @return List of child devices
39 */
40 vector<EDevice> getChildren();
41
42 /**
43 * Get the current voltage and current waveforms for this device.
44 *
45 * @note If waveform reading is not supported, an empty waveform is returned.
46 *
47 * @return Waveform samples
48 */
49 Waveform getWaveform();
50
51 /**
52 * Get the current voltage and current waveforms for a pole of this device.
53 *
54 * @note If waveform reading is not supported, an empty waveform is returned.
55 *
56 * @return Waveform samples
57 */
58 Waveform getPoleWaveform(in PowerLine line);
59 };
60
61}
62
63#endif
pdumodel::EDevice
Common base interface for any kind of electrical device that is used in the PDU model,...
Definition EDevice.idl:27
pdumodel::EDevice::getParents
vector< EDevice > getParents()
Get the list of devices that provide energy to this device.
pdumodel::EDevice::getPoleWaveform
Waveform getPoleWaveform(in PowerLine line)
Get the current voltage and current waveforms for a pole of this device.
pdumodel::EDevice::getChildren
vector< EDevice > getChildren()
Get the list of devices that are directly fed by this device.
pdumodel::EDevice::getWaveform
Waveform getWaveform()
Get the current voltage and current waveforms for this device.
pdumodel
PDU Model.
Definition Circuit.idl:16
pdumodel::PowerLine
PowerLine
Power line.
Definition Pole.idl:18
pdumodel::Waveform
Waveform data, including metadata.
Definition Waveform.idl:12