#ifndef PROPARAMVAL #define PROPARAMVAL #include <ProToolkit.h> PRO_BEGIN_C_DECLS typedef enum param_value_types { PRO_PARAM_DOUBLE = 50, /* use d_val from ProParamvalueValue to set value */ PRO_PARAM_STRING = 51, /* use s_val from ProParamvalueValue to set value */ PRO_PARAM_INTEGER = 52, /* use i_val from ProParamvalueValue to set value */ PRO_PARAM_BOOLEAN = 53, /* use l_val from ProParamvalueValue to set value */ PRO_PARAM_NOTE_ID = 54, /* use i_val from ProParamvalueValue to set value */ PRO_PARAM_VOID = 57, PRO_PARAM_NOT_SET = 58 } ProParamvalueType; typedef union param_value_values { double d_val; int i_val; short l_val; ProLine s_val; } ProParamvalueValue; typedef struct Pro_Param_Value { ProParamvalueType type; ProParamvalueValue value; } ProParamvalue; typedef struct proParamInfo { ProName param_name; int owner_id; /* may be PRO_VALUE_UNUSED */ int owner_type; /* may be PRO_VALUE_UNUSED */ ProParamvalue param_value; } ProParamInfo; extern ProError ProParamvalueSet (ProParamvalue *p_handle, PRO_CONST_ARG void *p_value, ProParamvalueType type); /* Purpose: Sets the fields of a <i>ProParamvalue</i> data structure. Input Arguments: p_handle - The pointer to the <i>ProParamvalue</i> to be set. p_value - The pointer to the data to be placed in the <i>value</i> field. The data passed should be a pointer to a double, int, short, or <i>wchar_t</i>*. type - The type of data to be stored. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function successfully set the fields. PRO_TK_BAD_INPUTS - One or more of the arguments are invalid. */ extern ProError ProParamvalueValueGet (PRO_CONST_ARG ProParamvalue *p_handle, ProParamvalueType type, void *r_value); /* Purpose: Retrieves the <i>value</i> field of a <i>ProParamvalue</i> data structure. Input Arguments: p_handle - The pointer to the <i>ProParamvalue</i> to be queried. type - The type of data stored in the <i>ProParamvalue</i>. You retrieve this information by calling the function <b>ProParamvalueTypeGet()</b>. Output Arguments: r_value - The pointer to the memory in which the value should be placed. The <i>r_value</i> should point to an int, double, short, or <i>ProLine</i>, as appropriate for the <i>type</i> specified. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid. See Also: ProParamvalueTypeGet() */ extern ProError ProParamvalueTypeGet (PRO_CONST_ARG ProParamvalue *p_handle, ProParamvalueType *r_type); /* Purpose: Retrieves the <i>type</i> field of a <i>ProParamvalue</i> data structure. Input Arguments: p_handle - The pointer to the <i>ProParamvalue</i> to be queried Output Arguments: r_type - The <i>type</i> field of the <i>ProParamvalue</i> structure Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - The input argument is invalid. */ PRO_END_C_DECLS #endif /* PROPARAMVAL */