1 /** 2 Copyright: Copyright (c) 2018, Joakim Brännström. All rights reserved. 3 License: MPL-2 4 Author: Joakim Brännström (joakim.brannstrom@gmx.com) 5 6 This Source Code Form is subject to the terms of the Mozilla Public License, 7 v.2.0. If a copy of the MPL was not distributed with this file, You can obtain 8 one at http://mozilla.org/MPL/2.0/. 9 */ 10 module dextool.plugin.mutate.backend.report.type; 11 12 import dextool.plugin.mutate.backend.database : Database, IterateMutantRow; 13 import dextool.plugin.mutate.type : MutationKind; 14 15 alias SimpleWriter = void delegate(const(char)[]) @safe; 16 17 /// Generic interface that a report event listeners shall implement. 18 @safe interface ReportEvent { 19 void mutationKindEvent(const MutationKind[]); 20 void locationStartEvent(); 21 void locationEvent(const ref IterateMutantRow); 22 void locationEndEvent(); 23 void locationStatEvent(); 24 void statEvent(ref Database db); 25 }