37 lines
1.0 KiB
C#
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; }
|
|
}
|
|
}
|