summaryrefslogtreecommitdiffstats
path: root/slv2/world.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-02-12 03:49:06 +0000
committerDavid Robillard <d@drobilla.net>2011-02-12 03:49:06 +0000
commit389408984b381af772d456c60ceaddfe58288eee (patch)
treeaa61aa403a9cc2cb987fe8ac6007b6c6c8d4df73 /slv2/world.h
parente07eb06e7d29cc2ddee94e24571118d09c624e1e (diff)
downloadlilv-389408984b381af772d456c60ceaddfe58288eee.tar.gz
lilv-389408984b381af772d456c60ceaddfe58288eee.tar.bz2
lilv-389408984b381af772d456c60ceaddfe58288eee.zip
Document entire API in a single header/page.
git-svn-id: http://svn.drobilla.net/lad/trunk/slv2@2925 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'slv2/world.h')
-rw-r--r--slv2/world.h155
1 files changed, 0 insertions, 155 deletions
diff --git a/slv2/world.h b/slv2/world.h
deleted file mode 100644
index c360642..0000000
--- a/slv2/world.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* SLV2
- * Copyright (C) 2007-2011 David Robillard <http://drobilla.net>
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * 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 General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef __SLV2_WORLD_H__
-#define __SLV2_WORLD_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "slv2/collections.h"
-
-/** @defgroup slv2_world Global library state
- *
- * The "world" represents all library state, and the data found in bundles'
- * manifest.ttl (ie it is an in-memory index of all things LV2 found).
- * Plugins (and plugin extensions) and the LV2 specification (and LV2
- * extensions) itself can be queried from the world for use.
- *
- * Normal hosts which just want to easily load plugins by URI are strongly
- * recommended to simply call @ref slv2_world_load_all to find all installed
- * data in the recommended way.
- *
- * Normal hosts should NOT have to refer to bundles directly under normal
- * circumstances. However, functions are provided to load individual bundles
- * explicitly, intended for hosts which depend on a specific bundle
- * (which is shipped with the application).
- *
- * @{
- */
-
-/** Initialize a new, empty world.
- * If initialization fails, NULL is returned.
- */
-SLV2_API
-SLV2World
-slv2_world_new(void);
-
-/** Enable/disable language filtering.
- * Language filtering applies to any functions that return (a) value(s).
- * With filtering enabled, SLV2 will automatically return the best value(s)
- * for the current LANG. With filtering disabled, all matching values will
- * be returned regardless of language tag. Filtering is enabled by default.
- */
-#define SLV2_OPTION_FILTER_LANG "http://drobilla.net/ns/slv2#filter-lang"
-
-/** Set an SLV2 option for @a world.
- */
-SLV2_API
-void
-slv2_world_set_option(SLV2World world,
- const char* uri,
- const SLV2Value value);
-
-/** Destroy the world, mwahaha.
- * Note that destroying @a world will destroy all the objects it contains
- * (e.g. instances of SLV2Plugin). Do not destroy the world until you are
- * finished with all objects that came from it.
- */
-SLV2_API
-void
-slv2_world_free(SLV2World world);
-
-/** Load all installed LV2 bundles on the system.
- * This is the recommended way for hosts to load LV2 data. It implements the
- * established/standard best practice for discovering all LV2 data on the
- * system. The environment variable LV2_PATH may be used to control where
- * this function will look for bundles.
- *
- * Hosts should use this function rather than explicitly load bundles, except
- * in special circumstances (e.g. development utilities, or hosts that ship
- * with special plugin bundles which are installed to a known location).
- */
-SLV2_API
-void
-slv2_world_load_all(SLV2World world);
-
-/** Load a specific bundle.
- * @a bundle_uri must be a fully qualified URI to the bundle directory,
- * with the trailing slash, eg. file:///usr/lib/lv2/foo.lv2/
- *
- * Normal hosts should not need this function (use slv2_world_load_all).
- *
- * Hosts MUST NOT attach any long-term significance to bundle paths
- * (e.g. in save files), since there are no guarantees they will remain
- * unchanged between (or even during) program invocations. Plugins (among
- * other things) MUST be identified by URIs (not paths) in save files.
- */
-SLV2_API
-void
-slv2_world_load_bundle(SLV2World world,
- SLV2Value bundle_uri);
-
-/** Get the parent of all other plugin classes, lv2:Plugin.
- */
-SLV2_API
-SLV2PluginClass
-slv2_world_get_plugin_class(SLV2World world);
-
-/** Return a list of all found plugin classes.
- * Returned list is owned by world and must not be freed by the caller.
- */
-SLV2_API
-SLV2PluginClasses
-slv2_world_get_plugin_classes(SLV2World world);
-
-/** Return a list of all found plugins.
- * The returned list contains just enough references to query
- * or instantiate plugins. The data for a particular plugin will not be
- * loaded into memory until a call to an slv2_plugin_* function results in
- * a query (at which time the data is cached with the SLV2Plugin so future
- * queries are very fast).
- *
- * Returned list must be freed by user with slv2_plugins_free. The contained
- * plugins are owned by @a world and must not be freed by caller.
- */
-SLV2_API
-SLV2Plugins
-slv2_world_get_all_plugins(SLV2World world);
-
-/** Return a list of found plugins filtered by a user-defined filter function.
- * All plugins currently found in @a world that return true when passed to
- * @a include (a pointer to a function which takes an SLV2Plugin and returns
- * a bool) will be in the returned list.
- *
- * Returned list must be freed by user with slv2_plugins_free. The contained
- * plugins are owned by @a world and must not be freed by caller.
- */
-SLV2_API
-SLV2Plugins
-slv2_world_get_plugins_by_filter(SLV2World world,
- bool (*include)(SLV2Plugin));
-
-/** @} */
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* __SLV2_WORLD_H__ */