Raritan / Server Technology Xerus™ PDU JSON-RPC API
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 */
13 module 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  */
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  */
59  };
60 
61 }
62 
63 #endif
Common base interface for any kind of electrical device that is used in the PDU model,...
Definition: EDevice.idl:27
vector< EDevice > getChildren()
Get the list of devices that are directly fed by this device.
Waveform getPoleWaveform(in PowerLine line)
Get the current voltage and current waveforms for a pole of this device.
vector< EDevice > getParents()
Get the list of devices that provide energy to this device.
Waveform getWaveform()
Get the current voltage and current waveforms for this device.
PDU Model.
Definition: Ade.idl:12
PowerLine
Power line.
Definition: Pole.idl:18
Waveform data, including metadata.
Definition: Waveform.idl:12