summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2023-09-04 14:37:25 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2023-09-08 18:17:37 +0200
commitad63118071e3068ef3f45e75fad82a04952ba0fb (patch)
tree12fe8cdd627fe226a43c711f4c0873f368762933
parent77fdd21cbf1a053efe6eec51356c665ed982d47c (diff)
Turn Converter::Direction into a QFlags enum
This lets us testFlag() instead of using raw bit-field operations. Pick-to: 6.6 6.5 Task-number: QTBUG-111228 Change-Id: I2c26e9a24728e81baa42cf14c75271a015460913 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
-rw-r--r--examples/corelib/serialization/convert/cborconverter.cpp4
-rw-r--r--examples/corelib/serialization/convert/cborconverter.h4
-rw-r--r--examples/corelib/serialization/convert/converter.h6
-rw-r--r--examples/corelib/serialization/convert/datastreamconverter.cpp2
-rw-r--r--examples/corelib/serialization/convert/datastreamconverter.h2
-rw-r--r--examples/corelib/serialization/convert/debugtextdumper.cpp2
-rw-r--r--examples/corelib/serialization/convert/debugtextdumper.h2
-rw-r--r--examples/corelib/serialization/convert/jsonconverter.cpp2
-rw-r--r--examples/corelib/serialization/convert/jsonconverter.h2
-rw-r--r--examples/corelib/serialization/convert/main.cpp8
-rw-r--r--examples/corelib/serialization/convert/nullconverter.cpp2
-rw-r--r--examples/corelib/serialization/convert/nullconverter.h2
-rw-r--r--examples/corelib/serialization/convert/textconverter.cpp2
-rw-r--r--examples/corelib/serialization/convert/textconverter.h2
-rw-r--r--examples/corelib/serialization/convert/xmlconverter.cpp2
-rw-r--r--examples/corelib/serialization/convert/xmlconverter.h2
16 files changed, 24 insertions, 22 deletions
diff --git a/examples/corelib/serialization/convert/cborconverter.cpp b/examples/corelib/serialization/convert/cborconverter.cpp
index 992f17e06c..38202712b5 100644
--- a/examples/corelib/serialization/convert/cborconverter.cpp
+++ b/examples/corelib/serialization/convert/cborconverter.cpp
@@ -125,7 +125,7 @@ QString CborDiagnosticDumper::name() const
return "cbor-dump"_L1;
}
-Converter::Direction CborDiagnosticDumper::directions() const
+Converter::Directions CborDiagnosticDumper::directions() const
{
return Out;
}
@@ -197,7 +197,7 @@ QString CborConverter::name() const
return "cbor";
}
-Converter::Direction CborConverter::directions() const
+Converter::Directions CborConverter::directions() const
{
return InOut;
}
diff --git a/examples/corelib/serialization/convert/cborconverter.h b/examples/corelib/serialization/convert/cborconverter.h
index 18bd55e09c..ff03185656 100644
--- a/examples/corelib/serialization/convert/cborconverter.h
+++ b/examples/corelib/serialization/convert/cborconverter.h
@@ -11,7 +11,7 @@ class CborDiagnosticDumper : public Converter
// Converter interface
public:
QString name() const override;
- Direction directions() const override;
+ Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
@@ -28,7 +28,7 @@ public:
// Converter interface
public:
QString name() const override;
- Direction directions() const override;
+ Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
diff --git a/examples/corelib/serialization/convert/converter.h b/examples/corelib/serialization/convert/converter.h
index 786893bd4a..5e441aa72b 100644
--- a/examples/corelib/serialization/convert/converter.h
+++ b/examples/corelib/serialization/convert/converter.h
@@ -32,7 +32,8 @@ protected:
public:
static Converter *null;
- enum Direction { In = 1, Out = 2, InOut = 3 };
+ enum Direction { In = 1, Out = 2, InOut = In | Out };
+ Q_DECLARE_FLAGS(Directions, Direction)
enum Option { SupportsArbitraryMapKeys = 0x01 };
Q_DECLARE_FLAGS(Options, Option)
@@ -40,7 +41,7 @@ public:
virtual ~Converter() = 0;
virtual QString name() const = 0;
- virtual Direction directions() const = 0;
+ virtual Directions directions() const = 0;
virtual Options outputOptions() const = 0;
virtual const char *optionsHelp() const = 0;
virtual bool probeFile(QIODevice *f) const = 0;
@@ -49,6 +50,7 @@ public:
const QStringList &options) const = 0;
};
+Q_DECLARE_OPERATORS_FOR_FLAGS(Converter::Directions)
Q_DECLARE_OPERATORS_FOR_FLAGS(Converter::Options)
#endif // CONVERTER_H
diff --git a/examples/corelib/serialization/convert/datastreamconverter.cpp b/examples/corelib/serialization/convert/datastreamconverter.cpp
index f994f1583c..0007bef436 100644
--- a/examples/corelib/serialization/convert/datastreamconverter.cpp
+++ b/examples/corelib/serialization/convert/datastreamconverter.cpp
@@ -53,7 +53,7 @@ QString DataStreamConverter::name() const
return "datastream"_L1;
}
-Converter::Direction DataStreamConverter::directions() const
+Converter::Directions DataStreamConverter::directions() const
{
return InOut;
}
diff --git a/examples/corelib/serialization/convert/datastreamconverter.h b/examples/corelib/serialization/convert/datastreamconverter.h
index a6d99c0f8e..201f3c4754 100644
--- a/examples/corelib/serialization/convert/datastreamconverter.h
+++ b/examples/corelib/serialization/convert/datastreamconverter.h
@@ -14,7 +14,7 @@ public:
// Converter interface
public:
QString name() const override;
- Direction directions() const override;
+ Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
diff --git a/examples/corelib/serialization/convert/debugtextdumper.cpp b/examples/corelib/serialization/convert/debugtextdumper.cpp
index fcaa877c36..8e3f289373 100644
--- a/examples/corelib/serialization/convert/debugtextdumper.cpp
+++ b/examples/corelib/serialization/convert/debugtextdumper.cpp
@@ -48,7 +48,7 @@ QString DebugTextDumper::name() const
return "debugtext-dump"_L1;
}
-Converter::Direction DebugTextDumper::directions() const
+Converter::Directions DebugTextDumper::directions() const
{
return Out;
}
diff --git a/examples/corelib/serialization/convert/debugtextdumper.h b/examples/corelib/serialization/convert/debugtextdumper.h
index d39a0eb427..636e6ccb3d 100644
--- a/examples/corelib/serialization/convert/debugtextdumper.h
+++ b/examples/corelib/serialization/convert/debugtextdumper.h
@@ -11,7 +11,7 @@ class DebugTextDumper : public Converter
// Converter interface
public:
QString name() const override;
- Direction directions() const override;
+ Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
diff --git a/examples/corelib/serialization/convert/jsonconverter.cpp b/examples/corelib/serialization/convert/jsonconverter.cpp
index 23d8cb98c3..3bd5acd507 100644
--- a/examples/corelib/serialization/convert/jsonconverter.cpp
+++ b/examples/corelib/serialization/convert/jsonconverter.cpp
@@ -30,7 +30,7 @@ QString JsonConverter::name() const
return "json"_L1;
}
-Converter::Direction JsonConverter::directions() const
+Converter::Directions JsonConverter::directions() const
{
return InOut;
}
diff --git a/examples/corelib/serialization/convert/jsonconverter.h b/examples/corelib/serialization/convert/jsonconverter.h
index 07011c9395..acff1433be 100644
--- a/examples/corelib/serialization/convert/jsonconverter.h
+++ b/examples/corelib/serialization/convert/jsonconverter.h
@@ -11,7 +11,7 @@ class JsonConverter : public Converter
// Converter interface
public:
QString name() const override;
- Direction directions() const override;
+ Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
diff --git a/examples/corelib/serialization/convert/main.cpp b/examples/corelib/serialization/convert/main.cpp
index 697236dd7d..59e5bf5b96 100644
--- a/examples/corelib/serialization/convert/main.cpp
+++ b/examples/corelib/serialization/convert/main.cpp
@@ -36,9 +36,9 @@ int main(int argc, char *argv[])
for (const Converter *conv : std::as_const(*availableConverters)) {
auto direction = conv->directions();
QString name = conv->name();
- if (direction & Converter::In)
+ if (direction.testFlag(Converter::In))
inputFormats << name;
- if (direction & Converter::Out)
+ if (direction.testFlag(Converter::Out))
outputFormats << name;
}
inputFormats.sort();
@@ -162,7 +162,7 @@ int main(int argc, char *argv[])
if (!inconv) {
// probe the input to find a file format
for (const Converter *conv : std::as_const(*availableConverters)) {
- if (conv->directions() & Converter::In && conv->probeFile(&input)) {
+ if (conv->directions().testFlag(Converter::In) && conv->probeFile(&input)) {
inconv = conv;
break;
}
@@ -177,7 +177,7 @@ int main(int argc, char *argv[])
if (!outconv) {
// probe the output to find a file format
for (const Converter *conv : std::as_const(*availableConverters)) {
- if (conv->directions() & Converter::Out && conv->probeFile(&output)) {
+ if (conv->directions().testFlag(Converter::Out) && conv->probeFile(&output)) {
outconv = conv;
break;
}
diff --git a/examples/corelib/serialization/convert/nullconverter.cpp b/examples/corelib/serialization/convert/nullconverter.cpp
index 02b844d2b5..e44aa67c38 100644
--- a/examples/corelib/serialization/convert/nullconverter.cpp
+++ b/examples/corelib/serialization/convert/nullconverter.cpp
@@ -13,7 +13,7 @@ QString NullConverter::name() const
return "null"_L1;
}
-Converter::Direction NullConverter::directions() const
+Converter::Directions NullConverter::directions() const
{
return Out;
}
diff --git a/examples/corelib/serialization/convert/nullconverter.h b/examples/corelib/serialization/convert/nullconverter.h
index 5a08abde59..fb215c313c 100644
--- a/examples/corelib/serialization/convert/nullconverter.h
+++ b/examples/corelib/serialization/convert/nullconverter.h
@@ -11,7 +11,7 @@ class NullConverter : public Converter
// Converter interface
public:
QString name() const override;
- Direction directions() const override;
+ Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
diff --git a/examples/corelib/serialization/convert/textconverter.cpp b/examples/corelib/serialization/convert/textconverter.cpp
index f043daa257..76102d387a 100644
--- a/examples/corelib/serialization/convert/textconverter.cpp
+++ b/examples/corelib/serialization/convert/textconverter.cpp
@@ -49,7 +49,7 @@ QString TextConverter::name() const
return "text"_L1;
}
-Converter::Direction TextConverter::directions() const
+Converter::Directions TextConverter::directions() const
{
return InOut;
}
diff --git a/examples/corelib/serialization/convert/textconverter.h b/examples/corelib/serialization/convert/textconverter.h
index a961f14113..46e5500d9a 100644
--- a/examples/corelib/serialization/convert/textconverter.h
+++ b/examples/corelib/serialization/convert/textconverter.h
@@ -11,7 +11,7 @@ class TextConverter : public Converter
// Converter interface
public:
QString name() const override;
- Direction directions() const override;
+ Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
diff --git a/examples/corelib/serialization/convert/xmlconverter.cpp b/examples/corelib/serialization/convert/xmlconverter.cpp
index f9da8cfe60..a39ca7a548 100644
--- a/examples/corelib/serialization/convert/xmlconverter.cpp
+++ b/examples/corelib/serialization/convert/xmlconverter.cpp
@@ -401,7 +401,7 @@ QString XmlConverter::name() const
return "xml"_L1;
}
-Converter::Direction XmlConverter::directions() const
+Converter::Directions XmlConverter::directions() const
{
return InOut;
}
diff --git a/examples/corelib/serialization/convert/xmlconverter.h b/examples/corelib/serialization/convert/xmlconverter.h
index 51476e61e4..4888b0616f 100644
--- a/examples/corelib/serialization/convert/xmlconverter.h
+++ b/examples/corelib/serialization/convert/xmlconverter.h
@@ -11,7 +11,7 @@ class XmlConverter : public Converter
// Converter interface
public:
QString name() const override;
- Direction directions() const override;
+ Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;