summaryrefslogtreecommitdiffstats
path: root/src/Parser.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-03-09 17:15:10 +0100
committerDavid Robillard <d@drobilla.net>2019-03-09 17:15:10 +0100
commit2058c121a6224263368d584c1cdc05c1819b0721 (patch)
treec1c3e4043e68788c01c17b8aac402e05ef8def4b /src/Parser.cpp
parent50b5df8e10ecb32b2691dd3871de92539766d451 (diff)
downloadingen-2058c121a6224263368d584c1cdc05c1819b0721.tar.gz
ingen-2058c121a6224263368d584c1cdc05c1819b0721.tar.bz2
ingen-2058c121a6224263368d584c1cdc05c1819b0721.zip
Clean up AtomForge
Diffstat (limited to 'src/Parser.cpp')
-rw-r--r--src/Parser.cpp21
1 files changed, 6 insertions, 15 deletions
diff --git a/src/Parser.cpp b/src/Parser.cpp
index cda039eb..ff416106 100644
--- a/src/Parser.cpp
+++ b/src/Parser.cpp
@@ -17,7 +17,7 @@
#include "ingen/Parser.hpp"
#include "ingen/Atom.hpp"
-#include "ingen/AtomForgeSink.hpp"
+#include "ingen/AtomForge.hpp"
#include "ingen/Forge.hpp"
#include "ingen/Interface.hpp"
#include "ingen/Log.hpp"
@@ -38,7 +38,6 @@
#include "serd/serd.h"
#include "sord/sord.h"
#include "sord/sordmm.hpp"
-#include "sratom/sratom.h"
#include <cassert>
#include <cstdint>
@@ -111,22 +110,16 @@ get_properties(ingen::World& world,
Resource::Graph ctx,
boost::optional<Properties> data = {})
{
- LV2_URID_Map* map = &world.uri_map().urid_map_feature()->urid_map;
- Sratom* sratom = sratom_new(map);
-
- LV2_Atom_Forge forge;
- lv2_atom_forge_init(&forge, map);
-
- AtomForgeSink out(&forge);
+ AtomForge forge(world.uri_map().urid_map_feature()->urid_map);
const Sord::Node nil;
Properties props;
for (Sord::Iter i = model.find(subject, nil, nil); !i.end(); ++i) {
if (!skip_property(world.uris(), i.get_predicate())) {
- out.clear();
- sratom_read(sratom, &forge, world.rdf_world()->c_obj(),
- model.c_obj(), i.get_object().c_obj());
- const LV2_Atom* atom = out.atom();
+ forge.clear();
+ forge.read(
+ *world.rdf_world(), model.c_obj(), i.get_object().c_obj());
+ const LV2_Atom* atom = forge.atom();
Atom atomm;
atomm = world.forge().alloc(
atom->size, atom->type, LV2_ATOM_BODY_CONST(atom));
@@ -134,8 +127,6 @@ get_properties(ingen::World& world,
}
}
- sratom_free(sratom);
-
// Replace any properties given in `data`
if (data) {
for (const auto& prop : *data) {