summaryrefslogtreecommitdiffstats
path: root/examples/corelib/serialization/convert
diff options
context:
space:
mode:
Diffstat (limited to 'examples/corelib/serialization/convert')
-rw-r--r--examples/corelib/serialization/convert/cborconverter.cpp14
-rw-r--r--examples/corelib/serialization/convert/cborconverter.h2
-rw-r--r--examples/corelib/serialization/convert/converter.cpp17
-rw-r--r--examples/corelib/serialization/convert/converter.h8
-rw-r--r--examples/corelib/serialization/convert/debugtextdumper.cpp19
-rw-r--r--examples/corelib/serialization/convert/debugtextdumper.h3
-rw-r--r--examples/corelib/serialization/convert/jsonconverter.cpp5
-rw-r--r--examples/corelib/serialization/convert/jsonconverter.h1
-rw-r--r--examples/corelib/serialization/convert/nullconverter.cpp19
-rw-r--r--examples/corelib/serialization/convert/nullconverter.h3
-rw-r--r--examples/corelib/serialization/convert/textconverter.cpp10
-rw-r--r--examples/corelib/serialization/convert/textconverter.h2
12 files changed, 21 insertions, 82 deletions
diff --git a/examples/corelib/serialization/convert/cborconverter.cpp b/examples/corelib/serialization/convert/cborconverter.cpp
index 4ee86535aa..21f63f7d83 100644
--- a/examples/corelib/serialization/convert/cborconverter.cpp
+++ b/examples/corelib/serialization/convert/cborconverter.cpp
@@ -142,20 +142,6 @@ const char *CborDiagnosticDumper::optionsHelp() const
return diagnosticHelp;
}
-bool CborDiagnosticDumper::probeFile(QIODevice *f) const
-{
- Q_UNUSED(f);
- return false;
-}
-
-QVariant CborDiagnosticDumper::loadFile(QIODevice *f, const Converter *&outputConverter) const
-{
- Q_UNREACHABLE();
- Q_UNUSED(f);
- Q_UNUSED(outputConverter);
- return QVariant();
-}
-
void CborDiagnosticDumper::saveFile(QIODevice *f, const QVariant &contents,
const QStringList &options) const
{
diff --git a/examples/corelib/serialization/convert/cborconverter.h b/examples/corelib/serialization/convert/cborconverter.h
index ff03185656..db68f99fda 100644
--- a/examples/corelib/serialization/convert/cborconverter.h
+++ b/examples/corelib/serialization/convert/cborconverter.h
@@ -14,8 +14,6 @@ public:
Directions directions() const override;
Options outputOptions() const override;
const char *optionsHelp() const override;
- bool probeFile(QIODevice *f) const override;
- QVariant loadFile(QIODevice *f, const Converter *&outputConverter) const override;
void saveFile(QIODevice *f, const QVariant &contents,
const QStringList &options) const override;
};
diff --git a/examples/corelib/serialization/convert/converter.cpp b/examples/corelib/serialization/convert/converter.cpp
index 7ecd4134e9..231d0d51cd 100644
--- a/examples/corelib/serialization/convert/converter.cpp
+++ b/examples/corelib/serialization/convert/converter.cpp
@@ -23,3 +23,20 @@ const QList<const Converter *> &Converter::allConverters()
{
return converters();
}
+
+// Some virtual methods that Converter classes needn't override, when not relevant:
+Converter::Options Converter::outputOptions() const { return {}; }
+const char *Converter::optionsHelp() const { return nullptr; }
+bool Converter::probeFile(QIODevice *) const { return false; }
+
+// The virtual method they should override if they claim to support In:
+QVariant Converter::loadFile(QIODevice *, const Converter *&outputConverter) const
+{
+ Q_ASSERT(!directions().testFlag(Converter::Direction::In));
+ // For those that don't, this should never be called.
+ Q_UNIMPLEMENTED();
+ // But every implementation should at least do this:
+ if (!outputConverter)
+ outputConverter = this;
+ return QVariant();
+}
diff --git a/examples/corelib/serialization/convert/converter.h b/examples/corelib/serialization/convert/converter.h
index fabbffddfb..6631d3107f 100644
--- a/examples/corelib/serialization/convert/converter.h
+++ b/examples/corelib/serialization/convert/converter.h
@@ -29,10 +29,10 @@ public:
virtual QString name() 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;
- virtual QVariant loadFile(QIODevice *f, const Converter *&outputConverter) const = 0;
+ virtual Options outputOptions() const;
+ virtual const char *optionsHelp() const;
+ virtual bool probeFile(QIODevice *f) const;
+ virtual QVariant loadFile(QIODevice *f, const Converter *&outputConverter) const;
virtual void saveFile(QIODevice *f, const QVariant &contents,
const QStringList &options) const = 0;
};
diff --git a/examples/corelib/serialization/convert/debugtextdumper.cpp b/examples/corelib/serialization/convert/debugtextdumper.cpp
index 2415e32f44..f010bd8e2a 100644
--- a/examples/corelib/serialization/convert/debugtextdumper.cpp
+++ b/examples/corelib/serialization/convert/debugtextdumper.cpp
@@ -59,25 +59,6 @@ Converter::Options DebugTextDumper::outputOptions() const
return SupportsArbitraryMapKeys;
}
-const char *DebugTextDumper::optionsHelp() const
-{
- return nullptr;
-}
-
-bool DebugTextDumper::probeFile(QIODevice *f) const
-{
- Q_UNUSED(f);
- return false;
-}
-
-QVariant DebugTextDumper::loadFile(QIODevice *f, const Converter *&outputConverter) const
-{
- Q_UNREACHABLE();
- Q_UNUSED(f);
- Q_UNUSED(outputConverter);
- return QVariant();
-}
-
void DebugTextDumper::saveFile(QIODevice *f, const QVariant &contents,
const QStringList &options) const
{
diff --git a/examples/corelib/serialization/convert/debugtextdumper.h b/examples/corelib/serialization/convert/debugtextdumper.h
index 636e6ccb3d..7d3d762104 100644
--- a/examples/corelib/serialization/convert/debugtextdumper.h
+++ b/examples/corelib/serialization/convert/debugtextdumper.h
@@ -13,9 +13,6 @@ public:
QString name() const override;
Directions directions() const override;
Options outputOptions() const override;
- const char *optionsHelp() const override;
- bool probeFile(QIODevice *f) const override;
- QVariant loadFile(QIODevice *f, const Converter *&outputConverter) const override;
void saveFile(QIODevice *f, const QVariant &contents,
const QStringList &options) const override;
};
diff --git a/examples/corelib/serialization/convert/jsonconverter.cpp b/examples/corelib/serialization/convert/jsonconverter.cpp
index 611061705b..1b59ed5c1f 100644
--- a/examples/corelib/serialization/convert/jsonconverter.cpp
+++ b/examples/corelib/serialization/convert/jsonconverter.cpp
@@ -33,11 +33,6 @@ Converter::Directions JsonConverter::directions() const
return Direction::InOut;
}
-Converter::Options JsonConverter::outputOptions() const
-{
- return {};
-}
-
const char *JsonConverter::optionsHelp() const
{
return jsonOptionHelp;
diff --git a/examples/corelib/serialization/convert/jsonconverter.h b/examples/corelib/serialization/convert/jsonconverter.h
index acff1433be..e1dd1ecdb4 100644
--- a/examples/corelib/serialization/convert/jsonconverter.h
+++ b/examples/corelib/serialization/convert/jsonconverter.h
@@ -12,7 +12,6 @@ class JsonConverter : public Converter
public:
QString name() const override;
Directions directions() const override;
- Options outputOptions() const override;
const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
QVariant loadFile(QIODevice *f, const Converter *&outputConverter) const override;
diff --git a/examples/corelib/serialization/convert/nullconverter.cpp b/examples/corelib/serialization/convert/nullconverter.cpp
index 00ae47a086..fb8be5c944 100644
--- a/examples/corelib/serialization/convert/nullconverter.cpp
+++ b/examples/corelib/serialization/convert/nullconverter.cpp
@@ -26,25 +26,6 @@ Converter::Options NullConverter::outputOptions() const
return SupportsArbitraryMapKeys;
}
-const char *NullConverter::optionsHelp() const
-{
- return nullptr;
-}
-
-bool NullConverter::probeFile(QIODevice *f) const
-{
- Q_UNUSED(f);
- return false;
-}
-
-QVariant NullConverter::loadFile(QIODevice *f, const Converter *&outputConverter) const
-{
- Q_UNUSED(f);
- Q_UNUSED(outputConverter);
- outputConverter = this;
- return QVariant();
-}
-
void NullConverter::saveFile(QIODevice *f, const QVariant &contents,
const QStringList &options) const
{
diff --git a/examples/corelib/serialization/convert/nullconverter.h b/examples/corelib/serialization/convert/nullconverter.h
index fb215c313c..1bdf9f22f7 100644
--- a/examples/corelib/serialization/convert/nullconverter.h
+++ b/examples/corelib/serialization/convert/nullconverter.h
@@ -13,9 +13,6 @@ public:
QString name() const override;
Directions directions() const override;
Options outputOptions() const override;
- const char *optionsHelp() const override;
- bool probeFile(QIODevice *f) const override;
- QVariant loadFile(QIODevice *f, const Converter *&outputConverter) const override;
void saveFile(QIODevice *f, const QVariant &contents,
const QStringList &options) const override;
};
diff --git a/examples/corelib/serialization/convert/textconverter.cpp b/examples/corelib/serialization/convert/textconverter.cpp
index 3bfd806bf4..1f8b4f9c19 100644
--- a/examples/corelib/serialization/convert/textconverter.cpp
+++ b/examples/corelib/serialization/convert/textconverter.cpp
@@ -54,16 +54,6 @@ Converter::Directions TextConverter::directions() const
return Direction::InOut;
}
-Converter::Options TextConverter::outputOptions() const
-{
- return {};
-}
-
-const char *TextConverter::optionsHelp() const
-{
- return nullptr;
-}
-
bool TextConverter::probeFile(QIODevice *f) const
{
if (QFile *file = qobject_cast<QFile *>(f))
diff --git a/examples/corelib/serialization/convert/textconverter.h b/examples/corelib/serialization/convert/textconverter.h
index 46e5500d9a..526f295517 100644
--- a/examples/corelib/serialization/convert/textconverter.h
+++ b/examples/corelib/serialization/convert/textconverter.h
@@ -12,8 +12,6 @@ class TextConverter : public Converter
public:
QString name() const override;
Directions directions() const override;
- Options outputOptions() const override;
- const char *optionsHelp() const override;
bool probeFile(QIODevice *f) const override;
QVariant loadFile(QIODevice *f, const Converter *&outputConverter) const override;
void saveFile(QIODevice *f, const QVariant &contents,