mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-12 06:32:09 +00:00
Rename geometry and serializer files
Apply the rename manifest, normalize serializer filenames to the classes they define, and update includes and CMake source lists. Generated with the assistance of an AI coding tool.
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#ifndef XMLSERIALIZER_H
|
||||
#define XMLSERIALIZER_H
|
||||
|
||||
#define SCHEMA_METHOD
|
||||
|
||||
#include "../serializers/serializers_api.h"
|
||||
#include "../ifcgeom/serializer.h"
|
||||
#include "../ifcparse/file.h"
|
||||
#include "../plugin/plugin.h"
|
||||
#include "../serializers/document_serializer_plugin.h"
|
||||
|
||||
#include <boost/shared_ptr.hpp>
|
||||
|
||||
class xml_serializer : public ifcopenshell::geom::serializer {
|
||||
private:
|
||||
boost::shared_ptr<ifcopenshell::geom::serializer> implementation_;
|
||||
|
||||
protected:
|
||||
std::string xml_filename;
|
||||
|
||||
public:
|
||||
xml_serializer(ifcopenshell::file* file, const std::string& xml_filename, ifcopenshell::logger& logger = ifcopenshell::logger::root())
|
||||
: xml_filename(xml_filename)
|
||||
{
|
||||
if (!file) {
|
||||
return;
|
||||
}
|
||||
|
||||
ifcopenshell::serializers::document_serializer_context context;
|
||||
context.file = file;
|
||||
context.output_filename = xml_filename;
|
||||
context.schema_name = file->schema()->name();
|
||||
implementation_ = ifcopenshell::serializers::document_serializer_registry_instance().create("xml", context);
|
||||
}
|
||||
|
||||
virtual ~xml_serializer() {}
|
||||
|
||||
bool ready() { return true; }
|
||||
void writeHeader() {}
|
||||
|
||||
void finalize() {
|
||||
if (!implementation_) {
|
||||
throw ifcopenshell::exception("No XML serializer implementation constructed");
|
||||
}
|
||||
implementation_->finalize();
|
||||
}
|
||||
void setFile(ifcopenshell::file&) { throw ifcopenshell::exception("Should be supplied on construction"); }
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user