module CTdsSpineEnumVariables use CVoidEventHandlerCollection use CLog4 implicit none integer :: TdsSpine = 0 public type(VoidEventHandlerCollection) :: OnTdsSpineChange enum, bind(c) enumerator TDS_SPINE_NEUTRAL enumerator TDS_SPINE_CONNECT_BEGIN enumerator TDS_SPINE_CONNECT_END enumerator TDS_SPINE_DISCONNECT_BEGIN enumerator TDS_SPINE_DISCONNECT_END end enum private :: TdsSpine contains subroutine Set_TdsSpine(v) implicit none integer , intent(in) :: v #ifdef ExcludeExtraChanges if(TdsSpine == v) return #endif TdsSpine = v #ifdef deb print*, 'TdsSpine=', TdsSpine #endif call OnTdsSpineChange%RunAll() end subroutine integer function Get_TdsSpine() implicit none Get_TdsSpine = TdsSpine end function subroutine Set_TdsSpine_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_TdsSpine_WN !DEC$ ATTRIBUTES ALIAS: 'Set_TdsSpine_WN' :: Set_TdsSpine_WN implicit none integer , intent(in) :: v call Set_TdsSpine(v) end subroutine integer function Get_TdsSpine_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_TdsSpine_WN !DEC$ ATTRIBUTES ALIAS: 'Get_TdsSpine_WN' :: Get_TdsSpine_WN implicit none Get_TdsSpine_WN = TdsSpine end function subroutine TdsSpineConnectEnd() !DEC$ ATTRIBUTES DLLEXPORT :: TdsSpineConnectEnd !DEC$ ATTRIBUTES ALIAS: 'TdsSpineConnectEnd' :: TdsSpineConnectEnd implicit none !if(TdsSpine /= TDS_SPINE_CONNECT_END) TdsSpine = TDS_SPINE_CONNECT_END call Set_TdsSpine(TDS_SPINE_CONNECT_END) #ifdef deb print*, 'TDS_SPINE_CONNECT_END' #endif end subroutine subroutine TdsSpineDisconnectEnd() !DEC$ ATTRIBUTES DLLEXPORT :: TdsSpineDisconnectEnd !DEC$ ATTRIBUTES ALIAS: 'TdsSpineDisconnectEnd' :: TdsSpineDisconnectEnd implicit none !if(TdsSpine /= TDS_SPINE_DISCONNECT_END) TdsSpine = TDS_SPINE_DISCONNECT_END call Set_TdsSpine(TDS_SPINE_DISCONNECT_END) #ifdef deb print*, 'TDS_SPINE_DISCONNECT_END' #endif end subroutine end module CTdsSpineEnumVariables