Libksieve

scriptbuilder.h
1/* -*- c++ -*-
2 ksieve/interfaces/scriptbuilder.h
3
4 This file is part of KSieve,
5 the KDE internet mail/usenet news message filtering library.
6 SPDX-FileCopyrightText: 2002-2003 Marc Mutz <mutz@kde.org>
7
8 SPDX-License-Identifier: GPL-2.0-only
9*/
10#pragma once
11
12class QString;
13
14namespace KSieve
15{
16class Error;
17
18class ScriptBuilder
19{
20public:
21 virtual ~ScriptBuilder() = default;
22
23 virtual void taggedArgument(const QString &tag) = 0;
24 virtual void stringArgument(const QString &string, bool multiLine, const QString &embeddedHashComment) = 0;
25 virtual void numberArgument(unsigned long number, char quantifier) = 0;
26
27 virtual void stringListArgumentStart() = 0;
28 virtual void stringListEntry(const QString &string, bool multiLine, const QString &embeddedHashComment) = 0;
29 virtual void stringListArgumentEnd() = 0;
30
31 virtual void commandStart(const QString &identifier, int lineNumber) = 0;
32 virtual void commandEnd(int lineNumber) = 0;
33
34 virtual void testStart(const QString &identifier) = 0;
35 virtual void testEnd() = 0;
36
37 virtual void testListStart() = 0;
38 virtual void testListEnd() = 0;
39
40 virtual void blockStart(int lineNumber) = 0;
41 virtual void blockEnd(int lineNumber) = 0;
42
43 /** A hash comment always includes an implicit lineFeed() at it's end. */
44 virtual void hashComment(const QString &comment) = 0;
45 /** Bracket comments inclde explicit lineFeed()s in their content */
46 virtual void bracketComment(const QString &comment) = 0;
47
48 virtual void lineFeed() = 0;
49
50 virtual void error(const Error &error) = 0;
51
52 virtual void finished() = 0;
53};
54
55} // namespace KSieve
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:14:30 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.