#ifndef __PARAM_DEFINED #define __PARAM_DEFINED module corba { module param { enum ParameterValueType { PARAM_INT, PARAM_LONG, PARAM_FLOAT, PARAM_DOUBLE, PARAM_STRING, PARAM_BOOLEAN, PARAM_BYTE_STREAM, PARAM_SHORT }; enum ChargingDataType { VOLUME, TIME }; union ParameterValue switch(ParameterValueType) { case PARAM_INT: long intValue; case PARAM_LONG: long long longValue; case PARAM_FLOAT: float floatValue; case PARAM_DOUBLE: double doubleValue; case PARAM_STRING: string stringValue; case PARAM_BOOLEAN: boolean booleanValue; case PARAM_BYTE_STREAM: sequence byteArrayValue; case PARAM_SHORT: short shortValue; }; interface ParameterID { const short EMPTY = -1; const short UNSET = 0; const short ACCESS_PT_NAME = 1; }; interface ConfirmStatus { // Values for ParameterID.CONFIRM_STATUS const long SUCCESS = 1000; const long DUPLICATED = 1001; }; struct Parameter { short parameterID; ParameterValue value; }; typedef sequence ParameterSet; }; }; #endif