• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdepim API Reference
  • KDE Home
  • Contact Us
 

messageviewer

  • sources
  • kde-4.12
  • kdepim
  • messageviewer
  • antispam
spamheaderanalyzer.h
Go to the documentation of this file.
1 /* -*- mode: C++; c-file-style: "gnu" -*-
2  spamheaderanalyzer.h
3 
4  This file is part of KMail, the KDE mail client.
5  Copyright (c) 2004 Patrick Audley <paudley@blackcat.ca>
6  Copyright (c) 2004 Ingo Kloecker <kloecker@kde.org>
7 
8  KMail is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  KMail is distributed in the hope that it will be useful, but
14  WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 
22  In addition, as a special exception, the copyright holders give
23  permission to link the code of this program with any edition of
24  the Qt library by Trolltech AS, Norway (or with modified versions
25  of Qt that use the same license as Qt), and distribute linked
26  combinations including the two. You must obey the GNU General
27  Public License in all respects for all of the code used other than
28  Qt. If you modify this file, you may extend this exception to
29  your version of the file, but you are not obligated to do so. If
30  you do not wish to do so, delete this exception statement from
31  your version.
32 */
33 
34 #ifndef __MESSAGEVIEWER_SPAMHEADERANALYZER_H__
35 #define __MESSAGEVIEWER_SPAMHEADERANALYZER_H__
36 
37 #include <KMime/Message>
38 
39 #include <QtCore/QString>
40 #include <QtCore/QVector>
41 
42 namespace MessageViewer {
43 
44 enum SpamError {
45  noError,
46  uninitializedStructUsed,
47  errorExtractingAgentString,
48  couldNotConverScoreToFloat,
49  couldNotConvertThresholdToFloatOrThresholdIsNegative,
50  couldNotFindTheScoreField,
51  couldNotFindTheThresholdField,
52  couldNotConvertConfidenceToFloat
53 };
54 
69 class SpamScore {
70 public:
71 
72  SpamScore()
73  : mError(noError), mScore( -2.0 ), mConfidence( -2.0 )
74  {
75  }
76 
77  SpamScore( const QString & agent, SpamError error, float score, float confidence,
78  const QString & header, const QString & cheader )
79  : mAgent( agent ),
80  mError( error ),
81  mScore( score ),
82  mConfidence( confidence ),
83  mHeader( header ),
84  mConfidenceHeader( cheader )
85  {
86  }
87  QString agent() const { return mAgent; }
88  float score() const { return mScore; }
89  float confidence() const { return mConfidence; }
90  SpamError error() const { return mError; }
91  QString spamHeader() const { return mHeader; }
92  QString confidenceHeader() const { return mConfidenceHeader; }
93 
94 private:
95  QString mAgent;
96  SpamError mError;
97  float mScore;
98  float mConfidence;
99  QString mHeader;
100  QString mConfidenceHeader;
101 };
102 typedef QVector<SpamScore> SpamScores;
103 
104 
109 class SpamHeaderAnalyzer {
110 public:
116  static SpamScores getSpamScores( KMime::Message *message );
117 };
118 
119 }
120 
121 
122 #endif // __SPAMHEADERANALYZER_H__
MessageViewer::SpamHeaderAnalyzer
Flyweight for analysing spam headers.
Definition: spamheaderanalyzer.h:109
MessageViewer::SpamScore::agent
QString agent() const
Definition: spamheaderanalyzer.h:87
MessageViewer::noError
Definition: spamheaderanalyzer.h:45
MessageViewer::SpamScore::spamHeader
QString spamHeader() const
Definition: spamheaderanalyzer.h:91
MessageViewer::SpamHeaderAnalyzer::getSpamScores
static SpamScores getSpamScores(KMime::Message *message)
Extract scores from known anti-spam headers.
Definition: spamheaderanalyzer.cpp:51
MessageViewer::couldNotConverScoreToFloat
Definition: spamheaderanalyzer.h:48
MessageViewer::SpamScores
QVector< SpamScore > SpamScores
Definition: spamheaderanalyzer.h:102
MessageViewer::SpamScore::SpamScore
SpamScore(const QString &agent, SpamError error, float score, float confidence, const QString &header, const QString &cheader)
Definition: spamheaderanalyzer.h:77
MessageViewer::SpamScore::SpamScore
SpamScore()
Definition: spamheaderanalyzer.h:72
MessageViewer::SpamError
SpamError
Definition: spamheaderanalyzer.h:44
MessageViewer::SpamScore
A simple tupel of error, agent, score, confidence and header.
Definition: spamheaderanalyzer.h:69
MessageViewer::SpamScore::error
SpamError error() const
Definition: spamheaderanalyzer.h:90
MessageViewer::couldNotFindTheScoreField
Definition: spamheaderanalyzer.h:50
MessageViewer::SpamScore::confidenceHeader
QString confidenceHeader() const
Definition: spamheaderanalyzer.h:92
MessageViewer::SpamScore::confidence
float confidence() const
Definition: spamheaderanalyzer.h:89
MessageViewer::couldNotConvertConfidenceToFloat
Definition: spamheaderanalyzer.h:52
MessageViewer::couldNotFindTheThresholdField
Definition: spamheaderanalyzer.h:51
MessageViewer::uninitializedStructUsed
Definition: spamheaderanalyzer.h:46
MessageViewer::SpamScore::score
float score() const
Definition: spamheaderanalyzer.h:88
MessageViewer::errorExtractingAgentString
Definition: spamheaderanalyzer.h:47
MessageViewer::couldNotConvertThresholdToFloatOrThresholdIsNegative
Definition: spamheaderanalyzer.h:49
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:55:57 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

messageviewer

Skip menu "messageviewer"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal