#region License
// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
// This source code is made available under the terms of the GNU Lesser General Public License v3.0
// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
#endregion
using System.Collections.Generic;
namespace MiniSqlQuery.Core
{
///
/// Used for sorting plugins at load time, a very simple ordering system for the plugins.
///
public class PlugInComparer : IComparer
{
///
/// Orders two plugin classes.
///
/// The left side object.
/// The right side object.
/// The compare result.
public int Compare(IPlugIn x, IPlugIn y)
{
int result;
if (x == null && y == null)
{
result = 0;
}
else if (y == null)
{
result = -1;
}
else if (x == null)
{
result = 1;
}
else
{
int numX = x.RequestedLoadOrder;
int numY = y.RequestedLoadOrder;
result = numX - numY;
}
return result;
}
}
}