#ifndef  ENTITY_SDAIREPRESENTATION_OF_GREGORIAN_DATE_AND_UTC_TIME_H
#define  ENTITY_SDAIREPRESENTATION_OF_GREGORIAN_DATE_AND_UTC_TIME_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 SdaiRepresentation_of_gregorian_date_and_utc_time : public SdaiClass_of_information_representation {
     protected:
        SDAI_Integer _year = 0;
        SDAI_Integer _month = 0;    //  OPTIONAL
        SDAI_Integer _day = 0;    //  OPTIONAL
        SDAI_Integer _hour = 0;    //  OPTIONAL
        SDAI_Integer _minute = 0;    //  OPTIONAL
        SDAI_Real _second = 0.0;    //  OPTIONAL
    public: 
        SdaiRepresentation_of_gregorian_date_and_utc_time();
        SdaiRepresentation_of_gregorian_date_and_utc_time( SDAI_Application_instance *se, bool addAttrs = true );
        SdaiRepresentation_of_gregorian_date_and_utc_time( SdaiRepresentation_of_gregorian_date_and_utc_time & e );
        ~SdaiRepresentation_of_gregorian_date_and_utc_time();
        int opcode() {
            return 154;
        }
        SDAI_Integer   year_() const;
        void year_( const SDAI_Integer x );

        SDAI_Integer   month_() const;
        void month_( const SDAI_Integer x );

        SDAI_Integer   day_() const;
        void day_( const SDAI_Integer x );

        SDAI_Integer   hour_() const;
        void hour_( const SDAI_Integer x );

        SDAI_Integer   minute_() const;
        void minute_( const SDAI_Integer x );

        SDAI_Real   second_() const;
        void second_( const SDAI_Real x );

};

inline SdaiRepresentation_of_gregorian_date_and_utc_time * create_SdaiRepresentation_of_gregorian_date_and_utc_time() {
    return new SdaiRepresentation_of_gregorian_date_and_utc_time;
}

void init_SdaiRepresentation_of_gregorian_date_and_utc_time(Registry& reg);

namespace lifecycle_integration_schema {
    extern EntityDescriptor *e_representation_of_gregorian_date_and_utc_time;
    extern AttrDescriptor *a_135year;
    extern AttrDescriptor *a_136month;
    extern AttrDescriptor *a_137day;
    extern AttrDescriptor *a_138hour;
    extern AttrDescriptor *a_139minute;
    extern AttrDescriptor *a_140second;
}

#endif
