module CElevatorConnectionEnumVariables use CVoidEventHandlerCollection implicit none integer :: ElevatorConnection = 0 public type(VoidEventHandlerCollection) :: OnElevatorConnectionChange enum, bind(c) enumerator ELEVATOR_CONNECTION_NOTHING enumerator ELEVATOR_CONNECTION_STRING enumerator ELEVATOR_CONNECTION_STAND enumerator ELEVATOR_CONNECTION_SINGLE enumerator ELEVATOR_LATCH_STRING enumerator ELEVATOR_LATCH_SINGLE enumerator ELEVATOR_LATCH_STAND end enum private :: ElevatorConnection contains subroutine Set_ElevatorConnection(v) implicit none integer , intent(in) :: v #ifdef ExcludeExtraChanges if(ElevatorConnection == v) return #endif ElevatorConnection = v #ifdef deb print*, 'ElevatorConnection=', ElevatorConnection #endif call OnElevatorConnectionChange%RunAll() end subroutine integer function Get_ElevatorConnection() implicit none Get_ElevatorConnection = ElevatorConnection end function subroutine Set_ElevatorConnection_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_ElevatorConnection_WN !DEC$ ATTRIBUTES ALIAS: 'Set_ElevatorConnection_WN' :: Set_ElevatorConnection_WN implicit none integer , intent(in) :: v call Set_ElevatorConnection(v) end subroutine integer function Get_ElevatorConnection_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_ElevatorConnection_WN !DEC$ ATTRIBUTES ALIAS: 'Get_ElevatorConnection_WN' :: Get_ElevatorConnection_WN implicit none Get_ElevatorConnection_WN = ElevatorConnection end function end module CElevatorConnectionEnumVariables