module CSwingDrillPermission
    use OperationScenariosModule
    use CTopDrivePanelVariables
    use SimulationVariables
    implicit none
    
    contains
    
    subroutine Evaluate_SwingDrillPermission()
        implicit none
        
        
        if (data%Configuration%Hoisting%DriveType == TopDrive_DriveType) then
#ifdef OST
            print*, 'Evaluate_SwingDrillPermission=TopDrive'
#endif

            !TOPDRIVE-CODE=33
            if (Get_TdsElevatorModes() == TDS_ELEVATOR_CONNECTION_NOTHING .and.&
                Get_TdsSwing() == TDS_SWING_OFF_END .and.&
                data%EquipmentControl%TopDrivePanel%TopDriveTdsPowerState /= TdsPower_OFF) then
            
                call Set_SwingDrillPermission(.true.)
                return
            end if
                
                
                
                
                
                
            call Set_SwingDrillPermission(.false.)    
                
                
                
                
                
        endif
        
        
        
        
        
        
        
        
        
!        if (DriveType == Kelly_DriveType) then
!#ifdef OST
!            print*, 'Evaluate_SwingDrillPermission=Kelly'
!#endif
!        endif
        
        
    end subroutine
    
    subroutine Subscribe_SwingDrillPermission()
        implicit none
    end subroutine
    
end module CSwingDrillPermission