Files
Hermes/Hermes/Filters/RouterFitler.cs
2022-06-11 16:42:18 -04:00

37 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Hermes.Objects;
using TorControlLibrary;
namespace Hermes.Filters
{
abstract class RouterFilter : IRouterFilter
{
public RouterFilter() { }
public RouterFilter(RouterFilter previousFilter)
{
PreviousFilter = previousFilter;
}
public virtual IEnumerable<Router> FilterRouters(IEnumerable<Router> fullRouterSet)
{
if (PreviousFilter != null)
return PreviousFilter.FilterRouters(fullRouterSet);
else
return fullRouterSet;
}
public abstract void Initialize(ControlConnection connection, Dictionary<string, string> parameters);
public virtual void Initialize(ControlConnection connection)
{
Connection = connection;
}
public List<Router> Routers { get; set; }
protected RouterFilter PreviousFilter { get; set; }
public ControlConnection Connection { get; set; }
}
}