#ifndef  ENTITY_SDAIIFCPROCESS_H
#define  ENTITY_SDAIIFCPROCESS_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 SdaiIfcprocess : public SdaiIfcobject {
     protected:
        SDAI_String _identification;    //  OPTIONAL
        SDAI_String _longdescription;    //  OPTIONAL
    public: 
        SdaiIfcprocess();
        SdaiIfcprocess( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfcprocess( SdaiIfcprocess & e );
        ~SdaiIfcprocess();
        int opcode() {
            return 185;
        }
  const SdaiIfcidentifier   identification_() const;
        SdaiIfcidentifier   identification_();
        void identification_( const SdaiIfcidentifier x );

  const SdaiIfctext   longdescription_() const;
        SdaiIfctext   longdescription_();
        void longdescription_( const SdaiIfctext x );

        EntityAggregate_ptr_c ispredecessorto_() const;
        EntityAggregate_ptr   ispredecessorto_();
        void ispredecessorto_( const EntityAggregate_ptr x );

        EntityAggregate_ptr_c issuccessorfrom_() const;
        EntityAggregate_ptr   issuccessorfrom_();
        void issuccessorfrom_( const EntityAggregate_ptr x );

        EntityAggregate_ptr_c operateson_() const;
        EntityAggregate_ptr   operateson_();
        void operateson_( const EntityAggregate_ptr x );

};

inline SdaiIfcprocess * create_SdaiIfcprocess() {
    return new SdaiIfcprocess;
}

void init_SdaiIfcprocess(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifcprocess;
    extern AttrDescriptor *a_405identification;
    extern AttrDescriptor *a_406longdescription;
    extern Inverse_attribute *a_407Iispredecessorto;
    extern Inverse_attribute *a_408Iissuccessorfrom;
    extern Inverse_attribute *a_409Ioperateson;
}

#endif
