summaryrefslogtreecommitdiffstats
path: root/src/shared/AtomWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/AtomWriter.cpp')
-rw-r--r--src/shared/AtomWriter.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/shared/AtomWriter.cpp b/src/shared/AtomWriter.cpp
index 7d600466..80bd0156 100644
--- a/src/shared/AtomWriter.cpp
+++ b/src/shared/AtomWriter.cpp
@@ -272,7 +272,7 @@ AtomWriter::get(const Raul::URI& uri)
}
void
-AtomWriter::response(int32_t id, Status status)
+AtomWriter::response(int32_t id, Status status, const std::string& subject)
{
if (id == -1) {
return;
@@ -282,6 +282,10 @@ AtomWriter::response(int32_t id, Status status)
lv2_atom_forge_blank(&_forge, &msg, next_id(), _uris.patch_Response);
lv2_atom_forge_property_head(&_forge, _uris.patch_request, 0);
lv2_atom_forge_int(&_forge, id);
+ if (!subject.empty() && Raul::URI::is_valid(subject)) {
+ lv2_atom_forge_property_head(&_forge, _uris.patch_subject, 0);
+ lv2_atom_forge_uri(&_forge, subject.c_str(), subject.length());
+ }
lv2_atom_forge_property_head(&_forge, _uris.patch_body, 0);
lv2_atom_forge_int(&_forge, status);
lv2_atom_forge_pop(&_forge, &msg);