/* SPDX-License-Identifier: BSD-3-Clause */
/*
 * Copyright 2009 Raritan Inc. All rights reserved.
 */

#ifndef __PDUMODEL_NAMEPLATE_IDL__
#define __PDUMODEL_NAMEPLATE_IDL__

/**
 * PDU Model
 */
module pdumodel {

    /** Numerical usage ratings */
    structure Rating_2_0_0 {
	int current;		///< Maximum current in Amperes rounded down to the nearest integer
	float decimalCurrent;	///< Maximum current in Amperes with potential decimal places
	int minVoltage;		///< Minimum voltage in Volts
	int maxVoltage;		///< Maximum voltage in Volts
    };

    /** Component nameplate information */
    structure Nameplate_2_0_0 {
	/** Component ratings */
	structure Rating {
	    string voltage;	///< Voltage rating
	    string current;	///< Current rating
	    string frequency;	///< Frequency rating
	    string power;	///< Power rating
	};

	string manufacturer;	///< Component manufacturer
	string brand;		///< Component brand
	string model;		///< Component model
	string partNumber;	///< Part number
	string serialNumber;	///< Serial number
	Rating rating;		///< Ratings
	string imageFileURL;	///< URL to component image
    };

}

#endif
