From 017982ff9d5d19d5524ebf010ea74540206c0f94 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 23 Sep 2018 21:31:46 +0200 Subject: Allow context to be passed for serialisation --- ingen/Serialiser.hpp | 4 +++- src/Serialiser.cpp | 7 +++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ingen/Serialiser.hpp b/ingen/Serialiser.hpp index 824d96b5..16a7a912 100644 --- a/ingen/Serialiser.hpp +++ b/ingen/Serialiser.hpp @@ -20,6 +20,7 @@ #include #include +#include "ingen/Properties.hpp" #include "ingen/ingen.h" #include "ingen/types.hpp" #include "sord/sordmm.hpp" @@ -75,7 +76,8 @@ public: * * @throw std::logic_error */ - virtual void serialise(SPtr object); + virtual void serialise(SPtr object, + Property::Graph context = Property::Graph::DEFAULT); /** Serialize an arc. * diff --git a/src/Serialiser.cpp b/src/Serialiser.cpp index 38a2c860..36d4a87f 100644 --- a/src/Serialiser.cpp +++ b/src/Serialiser.cpp @@ -277,7 +277,7 @@ Serialiser::Impl::path_rdf_node(const Raul::Path& path) } void -Serialiser::serialise(SPtr object) +Serialiser::serialise(SPtr object, Resource::Graph context) { if (!me->_model) { throw std::logic_error("serialise called without serialisation in progress"); @@ -289,9 +289,8 @@ Serialiser::serialise(SPtr object) const Sord::URI plugin_id(me->_model->world(), object->plugin()->uri()); me->serialise_block(object, plugin_id, me->path_rdf_node(object->path())); } else if (object->graph_type() == Node::GraphType::PORT) { - me->serialise_port(object.get(), - Resource::Graph::DEFAULT, - me->path_rdf_node(object->path())); + me->serialise_port( + object.get(), context, me->path_rdf_node(object->path())); } else { me->serialise_properties(me->path_rdf_node(object->path()), object->properties()); -- cgit v1.2.1