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 <[email protected]>
7 
8  SPDX-License-Identifier: GPL-2.0-only
9 */
10 
11 #ifndef KSIEVE_KSIEVE_SCRIPTBUILDER_H
12 #define KSIEVE_KSIEVE_SCRIPTBUILDER_H
13 
14 class QString;
15 
16 namespace KSieve
17 {
18 class Error;
19 
20 class ScriptBuilder
21 {
22 public:
23  virtual ~ScriptBuilder()
24  {
25  }
26 
27  virtual void taggedArgument(const QString &tag) = 0;
28  virtual void stringArgument(const QString &string, bool multiLine, const QString &embeddedHashComment) = 0;
29  virtual void numberArgument(unsigned long number, char quantifier) = 0;
30 
31  virtual void stringListArgumentStart() = 0;
32  virtual void stringListEntry(const QString &string, bool multiLine, const QString &embeddedHashComment) = 0;
33  virtual void stringListArgumentEnd() = 0;
34 
35  virtual void commandStart(const QString &identifier, int lineNumber) = 0;
36  virtual void commandEnd(int lineNumber) = 0;
37 
38  virtual void testStart(const QString &identifier) = 0;
39  virtual void testEnd() = 0;
40 
41  virtual void testListStart() = 0;
42  virtual void testListEnd() = 0;
43 
44  virtual void blockStart(int lineNumber) = 0;
45  virtual void blockEnd(int lineNumber) = 0;
46 
47  /** A hash comment always includes an implicit lineFeed() at it's end. */
48  virtual void hashComment(const QString &comment) = 0;
49  /** Bracket comments inclde explicit lineFeed()s in their content */
50  virtual void bracketComment(const QString &comment) = 0;
51 
52  virtual void lineFeed() = 0;
53 
54  virtual void error(const Error &error) = 0;
55 
56  virtual void finished() = 0;
57 };
58 
59 } // namespace KSieve
60 
61 #endif
void error(QWidget *parent, const QString &text, const QString &caption=QString(), Options options=Notify)
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Fri Apr 16 2021 23:09:33 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.