#ifndef __Component_C_h__
#define __Component_C_h__


#include <genSrcMdl/Component_C/Component_C.h>


typedef struct Component_C_Sfn_t
{
  union{ ObjectJc object; } base;

  DW_Component_C_T dwork;

  ExtU_Component_C_T inputs;
  ExtY_Component_C_T outputs;



  RT_MODEL_Component_C_T model;
  


} Component_C_Sfn;

/**
 * @simulink ctor.
 */
Component_C_Sfn* ctor_Component_C (ObjectJc* othiz, float Tstep);

/**
 * @simulink init.
 */
bool init_Component_C(Component_C_Sfn* thiz, struct Device_ObjMod_t* device);

/**step the whole Component_C. It is a single step time.
 * @param out_y The results are copied to the out_y, it is the output for Simulink. 
 *   Background: The data flow principle forces more copy operations.
 *   The result can be gotten in the this->output too.
 * @simulink Object-FB.
 */
void step_Component_C(Component_C_Sfn* thiz, float out_y[2]);




#endif //__Component_C_h__
