summaryrefslogtreecommitdiff
path: root/src/syncevo/StringDataBlob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/syncevo/StringDataBlob.cpp')
-rw-r--r--src/syncevo/StringDataBlob.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/syncevo/StringDataBlob.cpp b/src/syncevo/StringDataBlob.cpp
new file mode 100644
index 00000000..1113cb75
--- /dev/null
+++ b/src/syncevo/StringDataBlob.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2008-2009 Patrick Ohly <patrick.ohly@gmx.de>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) version 3.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
+
+#include <syncevo/StringDataBlob.h>
+#include <syncevo/util.h>
+
+#include <sstream>
+
+#include <syncevo/declarations.h>
+SE_BEGIN_CXX
+
+StringDataBlob::StringDataBlob(const std::string &name,
+ const boost::shared_ptr<std::string> &data,
+ bool readonly) :
+ m_name(name),
+ m_data(data),
+ m_readonly(readonly)
+{
+}
+
+boost::shared_ptr<std::ostream> StringDataBlob::write()
+{
+ SE_THROW("internal error: StringDataBlob::write() not implemented");
+}
+
+boost::shared_ptr<std::istream> StringDataBlob::read()
+{
+ return boost::shared_ptr<std::istream>(new istringstream(m_data ? *m_data : ""));
+}
+
+SE_END_CXX