#ifndef  ENTITY_SDAIITEM_USAGE_EFFECTIVITY_H
#define  ENTITY_SDAIITEM_USAGE_EFFECTIVITY_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 SdaiItem_usage_effectivity : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _effectivity_domain = NULL;
        SDAI_Application_instance_ptr _item_usage_relationship = NULL;
        SDAI_Application_instance_ptr _resolved_configuration = NULL;
    public: 
        SdaiItem_usage_effectivity();
        SdaiItem_usage_effectivity( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiItem_usage_effectivity( SdaiItem_usage_effectivity & e );
        ~SdaiItem_usage_effectivity();
        int opcode() {
            return 361;
        }
        SdaiEffectivity_ptr_c effectivity_domain_() const;
        SdaiEffectivity_ptr   effectivity_domain_();
        void effectivity_domain_( const SdaiEffectivity_ptr x );

        SdaiView_definition_usage_ptr_c item_usage_relationship_() const;
        SdaiView_definition_usage_ptr   item_usage_relationship_();
        void item_usage_relationship_( const SdaiView_definition_usage_ptr x );

        SdaiItem_design_association_ptr_c resolved_configuration_() const;
        SdaiItem_design_association_ptr   resolved_configuration_();
        void resolved_configuration_( const SdaiItem_design_association_ptr x );

};

inline SdaiItem_usage_effectivity * create_SdaiItem_usage_effectivity() {
    return new SdaiItem_usage_effectivity;
}

void init_SdaiItem_usage_effectivity(Registry& reg);

namespace ap239_product_life_cycle_support_arm_lf {
    extern EntityDescriptor *e_item_usage_effectivity;
    extern AttrDescriptor *a_827effectivity_domain;
    extern AttrDescriptor *a_828item_usage_relationship;
    extern AttrDescriptor *a_829resolved_configuration;
}

#endif
