summaryrefslogtreecommitdiffstats
path: root/src/AtomWriter.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-03-26 22:32:53 +0200
committerDavid Robillard <d@drobilla.net>2017-03-26 22:49:48 +0200
commitda33ac899a390ac13abbc6fba36d1b5c1d65d267 (patch)
tree887af451a7e9fe7d2d1aac076246b8d410747e9c /src/AtomWriter.cpp
parent09a0252c938fbdc3a0329520e78586432528eda9 (diff)
downloadingen-nodeless.tar.gz
ingen-nodeless.tar.bz2
ingen-nodeless.zip
Add properties parameter to delete interfacenodeless
Diffstat (limited to 'src/AtomWriter.cpp')
-rw-r--r--src/AtomWriter.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/AtomWriter.cpp b/src/AtomWriter.cpp
index 54dcd0a2..786ff820 100644
--- a/src/AtomWriter.cpp
+++ b/src/AtomWriter.cpp
@@ -363,12 +363,21 @@ AtomWriter::move(const Raul::Path& old_path,
* @endcode
*/
void
-AtomWriter::del(const Raul::URI& uri)
+AtomWriter::del(const Raul::URI& uri, const Properties& properties)
{
LV2_Atom_Forge_Frame msg;
forge_request(&msg, _uris.patch_Delete);
lv2_atom_forge_key(&_forge, _uris.patch_subject);
forge_uri(uri);
+
+ if (!properties.empty()) {
+ LV2_Atom_Forge_Frame body;
+ lv2_atom_forge_key(&_forge, _uris.patch_body);
+ lv2_atom_forge_object(&_forge, &body, 0, 0);
+ forge_properties(properties);
+ lv2_atom_forge_pop(&_forge, &body);
+ }
+
lv2_atom_forge_pop(&_forge, &msg);
finish_msg();
}