summaryrefslogtreecommitdiffstats
path: root/src/server/PluginImpl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/PluginImpl.hpp')
-rw-r--r--src/server/PluginImpl.hpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/server/PluginImpl.hpp b/src/server/PluginImpl.hpp
deleted file mode 100644
index ebd4b3e5..00000000
--- a/src/server/PluginImpl.hpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- This file is part of Ingen.
- Copyright 2007-2015 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_ENGINE_PLUGINIMPL_HPP
-#define INGEN_ENGINE_PLUGINIMPL_HPP
-
-#include <cstdlib>
-
-#include "ingen/Resource.hpp"
-#include "raul/Symbol.hpp"
-
-namespace Ingen {
-
-class URIs;
-
-namespace Server {
-
-class BlockImpl;
-class BufferFactory;
-class Engine;
-class GraphImpl;
-
-/** Implementation of a plugin (internal code, or a loaded shared library).
- *
- * Conceptually, a Block is an instance of this.
- */
-class PluginImpl : public Resource
-{
-public:
- PluginImpl(Ingen::URIs& uris, const Atom& type, const URI& uri)
- : Resource(uris, uri)
- , _type(type)
- , _presets_loaded(false)
- , _is_zombie(false)
- {
- }
-
- virtual BlockImpl* instantiate(BufferFactory& bufs,
- const Raul::Symbol& symbol,
- bool polyphonic,
- GraphImpl* parent,
- Engine& engine,
- const LilvState* state) = 0;
-
- virtual const Raul::Symbol symbol() const = 0;
-
- const Atom& type() const { return _type; }
- void set_type(const Atom& t) { _type = t; }
- bool is_zombie() const { return _is_zombie; }
- void set_is_zombie(bool t) { _is_zombie = t; }
-
- typedef std::pair<URI, std::string> Preset;
- typedef std::map<URI, std::string> Presets;
-
- const Presets& presets(bool force_reload=false) {
- if (!_presets_loaded || force_reload) {
- load_presets();
- }
-
- return _presets;
- }
-
- virtual void update_properties() {}
-
- virtual void load_presets() { _presets_loaded = true; }
-
- virtual URI bundle_uri() const { return URI("ingen:/"); }
-
-protected:
- Atom _type;
- Presets _presets;
- bool _presets_loaded;
- bool _is_zombie;
-
-private:
- PluginImpl(const PluginImpl&) = delete;
- PluginImpl& operator=(const PluginImpl&) = delete;
-};
-
-} // namespace Server
-} // namespace Ingen
-
-#endif // INGEN_ENGINE_PLUGINIMPL_HPP