summaryrefslogtreecommitdiffstats
path: root/ingen/serialisation
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2015-02-24 09:20:22 +0000
committerDavid Robillard <d@drobilla.net>2015-02-24 09:20:22 +0000
commit9d7c1e971d51561c4bb28fa1064503e5f266908f (patch)
treee34b0f84c05020fea44fd7b8cfd55341aff50668 /ingen/serialisation
parentf408b385c2795359cfacb09032089c8387b74f45 (diff)
downloadingen-9d7c1e971d51561c4bb28fa1064503e5f266908f.tar.gz
ingen-9d7c1e971d51561c4bb28fa1064503e5f266908f.tar.bz2
ingen-9d7c1e971d51561c4bb28fa1064503e5f266908f.zip
Demodularize Parser and Serialiser.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5606 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'ingen/serialisation')
-rw-r--r--ingen/serialisation/Parser.hpp74
-rw-r--r--ingen/serialisation/Serialiser.hpp102
2 files changed, 0 insertions, 176 deletions
diff --git a/ingen/serialisation/Parser.hpp b/ingen/serialisation/Parser.hpp
deleted file mode 100644
index 446b3988..00000000
--- a/ingen/serialisation/Parser.hpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- This file is part of Ingen.
- Copyright 2007-2012 David Robillard <http://drobilla.net/>
-
- Ingen is free software: you can redistribute it and/or modify it under the
- terms of the GNU Affero General Public License as published by the Free
- Software Foundation, either version 3 of the License, or any later version.
-
- Ingen 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 Affero General Public License for details.
-
- You should have received a copy of the GNU Affero General Public License
- along with Ingen. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- @defgroup IngenSerialisation Turtle Serialisation
-*/
-
-#ifndef INGEN_SERIALISATION_PARSER_HPP
-#define INGEN_SERIALISATION_PARSER_HPP
-
-#include <string>
-#include <list>
-
-#include <boost/optional.hpp>
-
-#include "ingen/Node.hpp"
-#include "raul/Path.hpp"
-#include "raul/URI.hpp"
-
-namespace Ingen {
-
-class Interface;
-class World;
-
-namespace Serialisation {
-
-/**
- Read Ingen objects from Turtle files or strings.
-
- @ingroup IngenSerialisation
-*/
-class Parser {
-public:
- explicit Parser() {}
-
- virtual ~Parser() {}
-
- typedef Node::Properties Properties;
-
- virtual bool parse_file(
- World* world,
- Interface* target,
- const std::string& path,
- boost::optional<Raul::Path> parent = boost::optional<Raul::Path>(),
- boost::optional<Raul::Symbol> symbol = boost::optional<Raul::Symbol>(),
- boost::optional<Properties> data = boost::optional<Properties>());
-
- virtual boost::optional<Raul::URI> parse_string(
- World* world,
- Interface* target,
- const std::string& str,
- const std::string& base_uri,
- boost::optional<Raul::Path> parent = boost::optional<Raul::Path>(),
- boost::optional<Raul::Symbol> symbol = boost::optional<Raul::Symbol>(),
- boost::optional<Properties> data = boost::optional<Properties>());
-};
-
-} // namespace Serialisation
-} // namespace Ingen
-
-#endif // INGEN_SERIALISATION_PARSER_HPP
diff --git a/ingen/serialisation/Serialiser.hpp b/ingen/serialisation/Serialiser.hpp
deleted file mode 100644
index 80a01b89..00000000
--- a/ingen/serialisation/Serialiser.hpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- This file is part of Ingen.
- Copyright 2007-2012 David Robillard <http://drobilla.net/>
-
- Ingen is free software: you can redistribute it and/or modify it under the
- terms of the GNU Affero General Public License as published by the Free
- Software Foundation, either version 3 of the License, or any later version.
-
- Ingen 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 Affero General Public License for details.
-
- You should have received a copy of the GNU Affero General Public License
- along with Ingen. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef INGEN_SERIALISATION_SERIALISER_HPP
-#define INGEN_SERIALISATION_SERIALISER_HPP
-
-#include <stdexcept>
-#include <string>
-
-#include "raul/Path.hpp"
-
-#include "sord/sordmm.hpp"
-
-#include "ingen/Node.hpp"
-
-namespace Ingen {
-
-class Arc;
-class Node;
-class Store;
-class World;
-
-namespace Serialisation {
-
-/**
- Write Ingen objects to Turtle files or strings.
-
- @ingroup IngenSerialisation
-*/
-class Serialiser
-{
-public:
- explicit Serialiser(World& world);
- virtual ~Serialiser();
-
- /** Write a graph and all its contents as a complete bundle. */
- virtual void write_bundle(SPtr<const Node> graph,
- const std::string& path);
-
- /** Begin a serialization to a string.
- *
- * This must be called before any serializing methods.
- *
- * The results of the serialization will be returned by the finish() method after
- * the desired objects have been serialised.
- *
- * All serialized paths will have the root path chopped from their prefix
- * (therefore all serialized paths must be descendants of the root)
- */
- virtual void start_to_string(const Raul::Path& root,
- const std::string& base_uri);
-
- /** Begin a serialization to a file.
- *
- * This must be called before any serializing methods.
- *
- * All serialized paths will have the root path chopped from their prefix
- * (therefore all serialized paths must be descendants of the root)
- */
- virtual void start_to_file(const Raul::Path& root,
- const std::string& filename);
-
- /** Serialize an object (graph, block, or port). */
- virtual void serialise(SPtr<const Node> object)
- throw (std::logic_error);
-
- /** Serialize an arc. */
- virtual void serialise_arc(const Sord::Node& parent,
- SPtr<const Arc> arc)
- throw (std::logic_error);
-
- /** Finish serialization.
- *
- * If this is a file serialization, this must be called to finish and close
- * the output file, and the empty string is returned.
- *
- * If this is a string serialization, the serialized result is returned.
- */
- virtual std::string finish();
-
-private:
- struct Impl;
- Impl* me;
-};
-
-} // namespace Serialisation
-} // namespace Ingen
-
-#endif // INGEN_SERIALISATION_SERIALISER_HPP