2N/A# The contents of this file are subject to the terms of the 2N/A# Common Development and Distribution License (the "License"). 2N/A# You may not use this file except in compliance with the License. 2N/A# See the License for the specific language governing permissions 2N/A# and limitations under the License. 2N/A# When distributing Covered Code, include this CDDL HEADER in each 2N/A# If applicable, add the following below this CDDL HEADER, with the 2N/A# fields enclosed by brackets "[]" replaced with your own identifying 2N/A# information: Portions Copyright [yyyy] [name of copyright owner] 2N/A# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 2N/AVarious bootloader interfaces for pybootmgmt 2N/A """Factory that returns BootLoader instances. 2N/A """Returns an instance of bootloader.BootLoader appropriate for the 2N/A system identified by the keyword arguments passed in. Invokes a 2N/A probe function for each boot loader backend, and returns the loader 2N/A whose probe function returned the highest rank value. If multiple 2N/A boot loaders' probe functions succeed, a ProxyBootLoader instance is 2N/A returned that will manage access to both BootLoader instances. 2N/A # Sort the loader list by decreasing rank: