/**********************************************************
 * This file has been automatically created by "typemaker2"
 * from the file "param.xml".
 * Please do not edit this file, all changes will be lost.
 * Better edit the mentioned source file instead.
 **********************************************************/

#ifndef GWEN_PARAM_PARAM_P_H
#define GWEN_PARAM_PARAM_P_H

#include "./param.h"


#ifdef __cplusplus
extern "C" {
#endif

struct GWEN_PARAM {
  GWEN_LIST_ELEMENT(GWEN_PARAM)
  GWEN_TREE_ELEMENT(GWEN_PARAM)
  int _refCount;
  char *name;
  uint32_t flags;
  GWEN_PARAM_TYPE type;
  GWEN_PARAM_DATATYPE dataType;
  char *shortDescription;
  char *longDescription;
  char *currentValue;
  char *defaultValue;
  GWEN_STRINGLIST2 *choices;
  int internalIntValue; /* volatile */
  double internalFloatValue; /* volatile */
  uint32_t runtimeFlags; /* volatile */
};

/** Getter.
 * Use this function to get the member "internalIntValue" (see @ref GWEN_PARAM_internalIntValue)
*/
int GWEN_Param_GetInternalIntValue(const GWEN_PARAM *p_struct);

/** Getter.
 * Use this function to get the member "internalFloatValue" (see @ref GWEN_PARAM_internalFloatValue)
*/
double GWEN_Param_GetInternalFloatValue(const GWEN_PARAM *p_struct);

/** Setter.
 * Use this function to set the member "internalIntValue" (see @ref GWEN_PARAM_internalIntValue)
*/
void GWEN_Param_SetInternalIntValue(GWEN_PARAM *p_struct, int p_src);

/** Setter.
 * Use this function to set the member "internalFloatValue" (see @ref GWEN_PARAM_internalFloatValue)
*/
void GWEN_Param_SetInternalFloatValue(GWEN_PARAM *p_struct, double p_src);

#ifdef __cplusplus
}
#endif

#endif

