Skip to content

v0.2.50..v0.2.51 changeset OsmXmlChangesetFileWriter.h

Garret Voltz edited this page Jan 15, 2020 · 1 revision
diff --git a/hoot-core/src/main/cpp/hoot/core/io/OsmXmlChangesetFileWriter.h b/hoot-core/src/main/cpp/hoot/core/io/OsmXmlChangesetFileWriter.h
index c818bc7..bc659c6 100644
--- a/hoot-core/src/main/cpp/hoot/core/io/OsmXmlChangesetFileWriter.h
+++ b/hoot-core/src/main/cpp/hoot/core/io/OsmXmlChangesetFileWriter.h
@@ -31,10 +31,9 @@
 #include <hoot/core/elements/Node.h>
 #include <hoot/core/elements/Relation.h>
 #include <hoot/core/elements/Way.h>
-#include <hoot/core/algorithms/changeset/ChangesetProvider.h>
+#include <hoot/core/io/OsmChangesetFileWriter.h>
 #include <hoot/core/io/OsmXmlWriter.h>
 #include <hoot/core/schema/ScoreMatrix.h>
-#include <hoot/core/util/Configurable.h>
 
 // Qt
 #include <QMap>
@@ -50,39 +49,36 @@ namespace hoot
  * would have to be created using the API.  Optionally, after writing this the changeset
  * can be closed via the API.
  */
-class OsmXmlChangesetFileWriter : public Configurable
+class OsmXmlChangesetFileWriter : public OsmChangesetFileWriter
 {
 
 public:
 
+  static std::string className() { return "hoot::OsmXmlChangesetFileWriter"; }
+
   OsmXmlChangesetFileWriter();
 
   /**
-   * Write the changeset out to the specified file
-   *
-   * @param path Pathname for the output file(s)
-   * @param changesetProvider changeset provider to stream the changes from
+   * @see ChangesetFileWriter
    */
-  void write(const QString& path, const ChangesetProviderPtr& changesetProvider);
+  virtual void write(const QString& path, const ChangesetProviderPtr& changesetProvider);
 
   /**
-   * Write the changeset out to the specified file
-   *
-   * @param path Pathname for the output file(s)
-   * @param changesetProviders changeset providers to stream the changes from
+   * @see ChangesetFileWriter
    */
-  void write(const QString& path, const QList<ChangesetProviderPtr>& changesetProviders);
+  virtual void write(const QString& path, const QList<ChangesetProviderPtr>& changesetProviders);
 
   /**
-   * Set the configuration settings
-   *
-   * @param conf Settings object containing updated value for changeset.max.size setting
+   * @see ChangesetFileWriter
    */
-  virtual void setConfiguration(const Settings &conf);
+  virtual QString getStatsTable() const { return _stats.toTableString(); }
 
-  bool getMultipleChangesetsWritten() const { return _multipleChangesetsWritten; }
+  /**
+   * @see ChangesetFileWriter
+   */
+  virtual bool isSupported(const QString& output) const { return output.endsWith(".osc"); }
 
-  QString getStatsTable() const { return _stats.toTableString(); }
+  virtual void setConfiguration(const Settings &conf);
 
 private:
 
@@ -90,8 +86,7 @@ private:
   int _precision;
 
   Change _change;
-
-  bool _multipleChangesetsWritten;
+  QList<Change> _parsedChanges;
 
   bool _addTimestamp;
   bool _includeDebugTags;
Clone this wiki locally