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 }