#ifndef  ENTITY_SDAICONTROL_H
#define  ENTITY_SDAICONTROL_H

// This file was generated by exp2cxx,
// 0.8.1.
// You probably don't want to edit it since your modifications
// will be lost if exp2cxx is used to regenerate it.

class SC_SCHEMA_EXPORT SdaiControl : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _model_ref = NULL;
        SDAI_String _control_id;
        SDAI_String _creating_software;
        SDAI_String _description;
        StringAggregate_ptr _user_defined_control = NULL;          //  of  text

        StringAggregate_ptr _intended_analysis_code = NULL;          //  of  text

    public: 
        SdaiControl();
        SdaiControl( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiControl( SdaiControl & e );
        ~SdaiControl();
        int opcode() {
            return 1034;
        }
        SdaiFea_model_ptr_c model_ref_() const;
        SdaiFea_model_ptr   model_ref_();
        void model_ref_( const SdaiFea_model_ptr x );

  const SdaiIdentifier   control_id_() const;
        SdaiIdentifier   control_id_();
        void control_id_( const SdaiIdentifier x );

  const SdaiText   creating_software_() const;
        SdaiText   creating_software_();
        void creating_software_( const SdaiText x );

  const SdaiText   description_() const;
        SdaiText   description_();
        void description_( const SdaiText x );

        StringAggregate_ptr_c user_defined_control_() const;
        StringAggregate_ptr   user_defined_control_();
        void user_defined_control_( const StringAggregate_ptr x );

        StringAggregate_ptr_c intended_analysis_code_() const;
        StringAggregate_ptr   intended_analysis_code_();
        void intended_analysis_code_( const StringAggregate_ptr x );

};

inline SdaiControl * create_SdaiControl() {
    return new SdaiControl;
}

void init_SdaiControl(Registry& reg);

namespace ap209_multidisciplinary_analysis_and_design_mim_lf {
    extern EntityDescriptor *e_control;
    extern AttrDescriptor *a_1504model_ref;
    extern AttrDescriptor *a_1505control_id;
    extern AttrDescriptor *a_1506creating_software;
    extern AttrDescriptor *a_1507description;
    extern AttrDescriptor *a_1508user_defined_control;
    extern AttrDescriptor *a_1509intended_analysis_code;
}

#endif
