module CTdsElevatorModesEnumVariables use CVoidEventHandlerCollection implicit none type:: TdsElevatorModesEnumType integer :: TdsElevatorModes = 0 type(VoidEventHandlerCollection) :: OnTdsElevatorModesChange end type TdsElevatorModesEnumType type(TdsElevatorModesEnumType)::TdsElevatorModesEnum enum, bind(c) enumerator TDS_ELEVATOR_CONNECTION_NOTHING enumerator TDS_ELEVATOR_CONNECTION_STRING enumerator TDS_ELEVATOR_CONNECTION_SINGLE enumerator TDS_ELEVATOR_CONNECTION_STAND enumerator TDS_ELEVATOR_LATCH_STRING enumerator TDS_ELEVATOR_LATCH_SINGLE enumerator TDS_ELEVATOR_LATCH_STAND end enum ! private :: TdsElevatorModesEnum%TdsElevatorModes contains subroutine Set_TdsElevatorModes(v) implicit none integer , intent(in) :: v #ifdef ExcludeExtraChanges if(TdsElevatorModesEnum%TdsElevatorModes == v) return #endif TdsElevatorModesEnum%TdsElevatorModes = v call TdsElevatorModesEnum%OnTdsElevatorModesChange%RunAll() end subroutine integer function Get_TdsElevatorModes() implicit none Get_TdsElevatorModes = TdsElevatorModesEnum%TdsElevatorModes end function subroutine Set_TdsElevatorModes_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_TdsElevatorModes_WN !DEC$ ATTRIBUTES ALIAS: 'Set_TdsElevatorModes_WN' :: Set_TdsElevatorModes_WN implicit none integer , intent(in) :: v call Set_TdsElevatorModes(v) end subroutine integer function Get_TdsElevatorModes_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_TdsElevatorModes_WN !DEC$ ATTRIBUTES ALIAS: 'Get_TdsElevatorModes_WN' :: Get_TdsElevatorModes_WN implicit none Get_TdsElevatorModes_WN = TdsElevatorModesEnum%TdsElevatorModes end function end module CTdsElevatorModesEnumVariables