#ifndef  ENTITY_SDAIIFCAPPLICATION_H
#define  ENTITY_SDAIIFCAPPLICATION_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 SdaiIfcapplication : public SDAI_Application_instance {
    protected:
        SDAI_Application_instance_ptr _applicationdeveloper = NULL;
        SDAI_String _version;
        SDAI_String _applicationfullname;
        SDAI_String _applicationidentifier;
    public: 
        SdaiIfcapplication();
        SdaiIfcapplication( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcapplication( SdaiIfcapplication & e );
        ~SdaiIfcapplication();
        int opcode() {
            return 757;
        }
        SdaiIfcorganization_ptr_c applicationdeveloper_() const;
        SdaiIfcorganization_ptr   applicationdeveloper_();
        void applicationdeveloper_( const SdaiIfcorganization_ptr x );

  const SdaiIfclabel   version_() const;
        SdaiIfclabel   version_();
        void version_( const SdaiIfclabel x );

  const SdaiIfclabel   applicationfullname_() const;
        SdaiIfclabel   applicationfullname_();
        void applicationfullname_( const SdaiIfclabel x );

  const SdaiIfcidentifier   applicationidentifier_() const;
        SdaiIfcidentifier   applicationidentifier_();
        void applicationidentifier_( const SdaiIfcidentifier x );

};

inline SdaiIfcapplication * create_SdaiIfcapplication() {
    return new SdaiIfcapplication;
}

void init_SdaiIfcapplication(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcapplication;
    extern AttrDescriptor *a_1663applicationdeveloper;
    extern AttrDescriptor *a_1664version;
    extern AttrDescriptor *a_1665applicationfullname;
    extern AttrDescriptor *a_1666applicationidentifier;
}

#endif
