#ifndef  ENTITY_SDAIAPPROVING_PERSON_ORGANIZATION_H
#define  ENTITY_SDAIAPPROVING_PERSON_ORGANIZATION_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 SdaiApproving_person_organization : public SDAI_Application_instance {
    protected:
        SdaiOrganization_or_person_in_organization_select _person_organization;
        SdaiDate_or_date_time_select _approval_date;    //  OPTIONAL
        SDAI_Application_instance_ptr _authorized_approval = NULL;
        SDAI_String _role;    //  OPTIONAL
    public: 
        SdaiApproving_person_organization();
        SdaiApproving_person_organization( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiApproving_person_organization( SdaiApproving_person_organization & e );
        ~SdaiApproving_person_organization();
        int opcode() {
            return 375;
        }
        SdaiOrganization_or_person_in_organization_select_ptr_c person_organization_() const;
        SdaiOrganization_or_person_in_organization_select_ptr   person_organization_();
        void person_organization_( const SdaiOrganization_or_person_in_organization_select_ptr x );

        SdaiDate_or_date_time_select_ptr_c approval_date_() const;
        SdaiDate_or_date_time_select_ptr   approval_date_();
        void approval_date_( const SdaiDate_or_date_time_select_ptr x );

        SdaiApproval_ptr_c authorized_approval_() const;
        SdaiApproval_ptr   authorized_approval_();
        void authorized_approval_( const SdaiApproval_ptr x );

  const SDAI_String   role_() const;
        SDAI_String   role_();
        void role_( const SDAI_String x );

};

inline SdaiApproving_person_organization * create_SdaiApproving_person_organization() {
    return new SdaiApproving_person_organization;
}

void init_SdaiApproving_person_organization(Registry& reg);

namespace ap239_product_life_cycle_support_arm_lf {
    extern EntityDescriptor *e_approving_person_organization;
    extern AttrDescriptor *a_867person_organization;
    extern AttrDescriptor *a_868approval_date;
    extern AttrDescriptor *a_869authorized_approval;
    extern AttrDescriptor *a_870role;
}

#endif
