Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

40 lines
927 B

  1. module CSlipsEnumVariables
  2. ! use CVoidEventHandlerCollection
  3. implicit none
  4. integer :: Slips = 0
  5. integer :: Slips_S = 0
  6. public
  7. ! type(VoidEventHandlerCollection) :: OnSlipsChange
  8. enum, bind(c)
  9. enumerator SLIPS_NEUTRAL
  10. enumerator SLIPS_SET_BEGIN
  11. enumerator SLIPS_SET_END
  12. enumerator SLIPS_UNSET_BEGIN
  13. enumerator SLIPS_UNSET_END
  14. end enum
  15. private :: Slips
  16. contains
  17. subroutine Set_Slips(v)
  18. implicit none
  19. integer , intent(in) :: v
  20. #ifdef ExcludeExtraChanges
  21. if(Slips == v) return
  22. #endif
  23. Slips = v
  24. #ifdef deb
  25. if(print_log) print*, 'Slips=', Slips
  26. #endif
  27. call OnSlipsChange%RunAll()
  28. end subroutine
  29. integer function Get_Slips()
  30. implicit none
  31. Get_Slips = Slips
  32. end function
  33. end module CSlipsEnumVariables