#ifndef  ENTITY_SDAIIFCTASK_H
#define  ENTITY_SDAIIFCTASK_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 SdaiIfctask : public SdaiIfcprocess {
     protected:
        SDAI_String _status;    //  OPTIONAL
        SDAI_String _workmethod;    //  OPTIONAL
        SDAI_BOOLEAN _ismilestone = false;
        SDAI_Integer _priority = 0;    //  OPTIONAL
        SDAI_Application_instance_ptr _tasktime = NULL;    //  OPTIONAL
        SdaiIfctasktypeenum_var _predefinedtype;    //  OPTIONAL
    public: 
        SdaiIfctask();
        SdaiIfctask( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiIfctask( SdaiIfctask & e );
        ~SdaiIfctask();
        int opcode() {
            return 446;
        }
  const SdaiIfclabel   status_() const;
        SdaiIfclabel   status_();
        void status_( const SdaiIfclabel x );

  const SdaiIfclabel   workmethod_() const;
        SdaiIfclabel   workmethod_();
        void workmethod_( const SdaiIfclabel x );

        Boolean   ismilestone_() const;
        void ismilestone_( const Boolean x );

        SDAI_Integer   priority_() const;
        void priority_( const SDAI_Integer x );

        SdaiIfctasktime_ptr_c tasktime_() const;
        SdaiIfctasktime_ptr   tasktime_();
        void tasktime_( const SdaiIfctasktime_ptr x );

  const SdaiIfctasktypeenum_var   predefinedtype_() const;
        SdaiIfctasktypeenum_var   predefinedtype_();
        void predefinedtype_( const SdaiIfctasktypeenum_var x );

};

inline SdaiIfctask * create_SdaiIfctask() {
    return new SdaiIfctask;
}

void init_SdaiIfctask(Registry& reg);

namespace ifc4 {
    extern EntityDescriptor *e_ifctask;
    extern AttrDescriptor *a_987status;
    extern AttrDescriptor *a_988workmethod;
    extern AttrDescriptor *a_989ismilestone;
    extern AttrDescriptor *a_990priority;
    extern AttrDescriptor *a_991tasktime;
    extern AttrDescriptor *a_992predefinedtype;
}

#endif
