// // IMover.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using NosSmooth.Packets; namespace Anonymizer.Movers; /// /// Moves a packet, anonymizes it. /// public interface IMover { /// /// Check whether to handle given packet. /// /// The packet to check. /// Whether to handle that packet. public bool ShouldHandle(IPacket packet); /// /// Move the packet, anonymize it. /// /// The anonymizer to use. /// The packet. /// Moved packet. public IPacket Move(IAnonymizer anonymizer, IPacket packet); } /// /// Moves a packet, anonymizes it. /// /// The type of the packet. public interface IMover : IMover where TPacket : IPacket { /// /// Move the packet, anonymize it. /// /// The anonymizer. /// The packet to anonymize. /// The new packet. public TPacket Move(IAnonymizer anonymizer, TPacket packet); }