qmimemagicrulematcher.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/corelib/mimetypes/qmimemagicrulematcher.cpp
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2015 The Qt Company Ltd.-
4** Contact: http://www.qt.io/licensing/-
5**-
6** This file is part of the QtCore module of the Qt Toolkit.-
7**-
8** $QT_BEGIN_LICENSE:LGPL21$-
9** Commercial License Usage-
10** Licensees holding valid commercial Qt licenses may use this file in-
11** accordance with the commercial license agreement provided with the-
12** Software or, alternatively, in accordance with the terms contained in-
13** a written agreement between you and The Qt Company. For licensing terms-
14** and conditions see http://www.qt.io/terms-conditions. For further-
15** information use the contact form at http://www.qt.io/contact-us.-
16**-
17** GNU Lesser General Public License Usage-
18** Alternatively, this file may be used under the terms of the GNU Lesser-
19** General Public License version 2.1 or version 3 as published by the Free-
20** Software Foundation and appearing in the file LICENSE.LGPLv21 and-
21** LICENSE.LGPLv3 included in the packaging of this file. Please review the-
22** following information to ensure the GNU Lesser General Public License-
23** requirements will be met: https://www.gnu.org/licenses/lgpl.html and-
24** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.-
25**-
26** As a special exception, The Qt Company gives you certain additional-
27** rights. These rights are described in The Qt Company LGPL Exception-
28** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.-
29**-
30** $QT_END_LICENSE$-
31**-
32****************************************************************************/-
33-
34#define QT_NO_CAST_FROM_ASCII-
35-
36#include "qmimemagicrulematcher_p.h"-
37-
38#ifndef QT_NO_MIMETYPE-
39-
40#include "qmimetype_p.h"-
41-
42QT_BEGIN_NAMESPACE-
43-
44/*!-
45 \internal-
46 \class QMimeMagicRuleMatcher-
47 \inmodule QtCore-
48-
49 \brief The QMimeMagicRuleMatcher class checks a number of rules based on operator "or".-
50-
51 It is used for rules parsed from XML files.-
52-
53 \sa QMimeType, QMimeDatabase, MagicRule, MagicStringRule, MagicByteRule, GlobPattern-
54 \sa QMimeTypeParserBase, MimeTypeParser-
55*/-
56-
57QMimeMagicRuleMatcher::QMimeMagicRuleMatcher(const QString &mime, unsigned thePriority) :-
58 m_list(),-
59 m_priority(thePriority),-
60 m_mimetype(mime)-
61{-
62}
executed 1733 times by 1 test: end of block
Executed by:
  • tst_QMimeDatabase
1733
63-
64bool QMimeMagicRuleMatcher::operator==(const QMimeMagicRuleMatcher &other) const-
65{-
66 return m_list == other.m_list &&
never executed: return m_list == other.m_list && m_priority == other.m_priority;
m_list == other.m_listDescription
TRUEnever evaluated
FALSEnever evaluated
0
67 m_priority == other.m_priority;
never executed: return m_list == other.m_list && m_priority == other.m_priority;
m_priority == other.m_priorityDescription
TRUEnever evaluated
FALSEnever evaluated
0
68}-
69-
70void QMimeMagicRuleMatcher::addRule(const QMimeMagicRule &rule)-
71{-
72 m_list.append(rule);-
73}
never executed: end of block
0
74-
75void QMimeMagicRuleMatcher::addRules(const QList<QMimeMagicRule> &rules)-
76{-
77 m_list.append(rules);-
78}
executed 1733 times by 1 test: end of block
Executed by:
  • tst_QMimeDatabase
1733
79-
80QList<QMimeMagicRule> QMimeMagicRuleMatcher::magicRules() const-
81{-
82 return m_list;
never executed: return m_list;
0
83}-
84-
85// Check for a match on contents of a file-
86bool QMimeMagicRuleMatcher::matches(const QByteArray &data) const-
87{-
88 foreach (const QMimeMagicRule &magicRule, m_list) {-
89 if (magicRule.matches(data))
magicRule.matches(data)Description
TRUEevaluated 37 times by 1 test
Evaluated by:
  • tst_QMimeDatabase
FALSEevaluated 19185 times by 1 test
Evaluated by:
  • tst_QMimeDatabase
37-19185
90 return true;
executed 37 times by 1 test: return true;
Executed by:
  • tst_QMimeDatabase
37
91 }
executed 19185 times by 1 test: end of block
Executed by:
  • tst_QMimeDatabase
19185
92-
93 return false;
executed 11003 times by 1 test: return false;
Executed by:
  • tst_QMimeDatabase
11003
94}-
95-
96// Return a priority value from 1..100-
97unsigned QMimeMagicRuleMatcher::priority() const-
98{-
99 return m_priority;
executed 37 times by 1 test: return m_priority;
Executed by:
  • tst_QMimeDatabase
37
100}-
101-
102QT_END_NAMESPACE-
103#endif // QT_NO_MIMETYPE-
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9