module CTdsSwingEnumVariables use CVoidEventHandlerCollection use CLog4 implicit none integer :: TdsSwing = 0 public type(VoidEventHandlerCollection) :: OnTdsSwingChange enum, bind(c) enumerator TDS_SWING_NEUTRAL enumerator TDS_SWING_OFF_BEGIN enumerator TDS_SWING_OFF_END enumerator TDS_SWING_DRILL_BEGIN enumerator TDS_SWING_DRILL_END enumerator TDS_SWING_TILT_BEGIN enumerator TDS_SWING_TILT_END end enum private :: TdsSwing contains subroutine Set_TdsSwing(v) implicit none integer , intent(in) :: v #ifdef ExcludeExtraChanges if(TdsSwing == v) return #endif TdsSwing = v #ifdef deb print*, 'TdsSwing=', TdsSwing #endif call OnTdsSwingChange%RunAll() end subroutine integer function Get_TdsSwing() implicit none Get_TdsSwing = TdsSwing end function subroutine Set_TdsSwing_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_TdsSwing_WN !DEC$ ATTRIBUTES ALIAS: 'Set_TdsSwing_WN' :: Set_TdsSwing_WN implicit none integer , intent(in) :: v call Set_TdsSwing(v) end subroutine integer function Get_TdsSwing_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_TdsSwing_WN !DEC$ ATTRIBUTES ALIAS: 'Get_TdsSwing_WN' :: Get_TdsSwing_WN implicit none Get_TdsSwing_WN = TdsSwing end function subroutine TdsSwingOffEnd() !DEC$ ATTRIBUTES DLLEXPORT :: TdsSwingOffEnd !DEC$ ATTRIBUTES ALIAS: 'TdsSwingOffEnd' :: TdsSwingOffEnd implicit none !if(TdsSwing /= TDS_SWING_OFF_END) TdsSwing = TDS_SWING_OFF_END call Set_TdsSwing(TDS_SWING_OFF_END) #ifdef deb print*, 'TDS_SWING_OFF_END' #endif end subroutine subroutine TdsSwingDrillEnd() !DEC$ ATTRIBUTES DLLEXPORT :: TdsSwingDrillEnd !DEC$ ATTRIBUTES ALIAS: 'TdsSwingDrillEnd' :: TdsSwingDrillEnd implicit none !if(TdsSwing /= TDS_SWING_DRILL_END) TdsSwing = TDS_SWING_DRILL_END call Set_TdsSwing(TDS_SWING_DRILL_END) #ifdef deb print*, 'TDS_SWING_DRILL_END' #endif end subroutine subroutine TdsSwingTiltEnd() !DEC$ ATTRIBUTES DLLEXPORT :: TdsSwingTiltEnd !DEC$ ATTRIBUTES ALIAS: 'TdsSwingTiltEnd' :: TdsSwingTiltEnd implicit none !if(TdsSwing /= TDS_SWING_TILT_END) TdsSwing = TDS_SWING_TILT_END call Set_TdsSwing(TDS_SWING_TILT_END) #ifdef deb print*, 'TDS_SWING_TILT_END' #endif end subroutine end module CTdsSwingEnumVariables