summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-05-11 06:05:58 +0000
committerDavid Robillard <d@drobilla.net>2012-05-11 06:05:58 +0000
commite5b2164c84d0928ce0765386095064fd946744c2 (patch)
tree861ad727d953b66f42652da17e607614a3ab7613
parente684838068b6f8b37fe130195cdeb3a0f3b17ffd (diff)
downloadingen-e5b2164c84d0928ce0765386095064fd946744c2.tar.gz
ingen-e5b2164c84d0928ce0765386095064fd946744c2.tar.bz2
ingen-e5b2164c84d0928ce0765386095064fd946744c2.zip
Generate API documentation.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4352 a436a847-0d15-0410-975c-d299462d15a1
-rw-r--r--doc/reference.doxygen.in6
-rw-r--r--ingen/Edge.hpp2
-rw-r--r--ingen/EngineBase.hpp2
-rw-r--r--ingen/GraphObject.hpp2
-rw-r--r--ingen/Interface.hpp6
-rw-r--r--ingen/Node.hpp2
-rw-r--r--ingen/Patch.hpp4
-rw-r--r--ingen/Plugin.hpp3
-rw-r--r--ingen/Port.hpp2
-rw-r--r--ingen/Resource.hpp3
-rw-r--r--ingen/client/ClientStore.hpp2
-rw-r--r--ingen/client/EdgeModel.hpp2
-rw-r--r--ingen/client/NodeModel.hpp2
-rw-r--r--ingen/client/ObjectModel.hpp6
-rw-r--r--ingen/client/PatchModel.hpp2
-rw-r--r--ingen/client/PluginModel.hpp2
-rw-r--r--ingen/client/PluginUI.hpp2
-rw-r--r--ingen/client/PortModel.hpp2
-rw-r--r--ingen/client/SigClientInterface.hpp2
-rw-r--r--ingen/client/ThreadedSigClientInterface.hpp2
-rw-r--r--ingen/serialisation/Parser.hpp13
-rw-r--r--ingen/serialisation/Serialiser.hpp17
-rw-r--r--ingen/shared/AtomReader.hpp4
-rw-r--r--ingen/shared/AtomSink.hpp3
-rw-r--r--ingen/shared/AtomWriter.hpp2
-rw-r--r--ingen/shared/Builder.hpp2
-rw-r--r--ingen/shared/ClashAvoider.hpp2
-rw-r--r--ingen/shared/Configuration.hpp3
-rw-r--r--ingen/shared/Forge.hpp3
-rw-r--r--ingen/shared/LV2Features.hpp3
-rw-r--r--ingen/shared/Module.hpp1
-rw-r--r--ingen/shared/ResourceImpl.hpp3
-rw-r--r--ingen/shared/Store.hpp3
-rw-r--r--ingen/shared/URIMap.hpp9
-rw-r--r--ingen/shared/URIs.hpp13
-rw-r--r--ingen/shared/World.hpp5
36 files changed, 102 insertions, 40 deletions
diff --git a/doc/reference.doxygen.in b/doc/reference.doxygen.in
index a1624b97..ac2d555b 100644
--- a/doc/reference.doxygen.in
+++ b/doc/reference.doxygen.in
@@ -568,7 +568,11 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = @INGEN_SRCDIR@
+INPUT = \
+ @INGEN_SRCDIR@/ingen \
+ @INGEN_SRCDIR@/ingen/client \
+ @INGEN_SRCDIR@/ingen/serialisation \
+ @INGEN_SRCDIR@/ingen/shared \
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
diff --git a/ingen/Edge.hpp b/ingen/Edge.hpp
index 064d39e1..74a544e8 100644
--- a/ingen/Edge.hpp
+++ b/ingen/Edge.hpp
@@ -23,7 +23,7 @@ namespace Ingen {
/** A connection between two ports.
*
- * \ingroup interface
+ * @ingroup Ingen
*/
class Edge
{
diff --git a/ingen/EngineBase.hpp b/ingen/EngineBase.hpp
index f6999c47..6bcb7170 100644
--- a/ingen/EngineBase.hpp
+++ b/ingen/EngineBase.hpp
@@ -29,7 +29,7 @@ class Interface;
/**
The engine which executes the process graph.
- @ingroup interface
+ @ingroup Ingen
*/
class EngineBase
{
diff --git a/ingen/GraphObject.hpp b/ingen/GraphObject.hpp
index cfc98e04..b2165972 100644
--- a/ingen/GraphObject.hpp
+++ b/ingen/GraphObject.hpp
@@ -33,7 +33,7 @@ namespace Ingen {
*
* Purely virtual (except for the destructor).
*
- * \ingroup interface
+ * @ingroup Ingen
*/
class GraphObject : public Raul::Deletable
, public virtual Resource
diff --git a/ingen/Interface.hpp b/ingen/Interface.hpp
index 81a4100d..94faeab9 100644
--- a/ingen/Interface.hpp
+++ b/ingen/Interface.hpp
@@ -14,6 +14,10 @@
along with Ingen. If not, see <http://www.gnu.org/licenses/>.
*/
+/**
+ @defgroup Ingen Core Interfaces
+*/
+
#ifndef INGEN_INTERFACE_HPP
#define INGEN_INTERFACE_HPP
@@ -34,7 +38,7 @@ namespace Ingen {
/** Abstract interface common to both engine and clients.
* Purely virtual (except for the destructor).
*
- * \ingroup interface
+ * @ingroup Ingen
*/
class Interface
{
diff --git a/ingen/Node.hpp b/ingen/Node.hpp
index ccd62495..1eb9968e 100644
--- a/ingen/Node.hpp
+++ b/ingen/Node.hpp
@@ -33,7 +33,7 @@ class Plugin;
*
* Purely virtual (except for the destructor).
*
- * \ingroup interface
+ * @ingroup Ingen
*/
class Node : public virtual GraphObject
{
diff --git a/ingen/Patch.hpp b/ingen/Patch.hpp
index 85478c65..61db0b42 100644
--- a/ingen/Patch.hpp
+++ b/ingen/Patch.hpp
@@ -28,9 +28,9 @@ namespace Ingen {
class Edge;
-/** A Path (graph of Nodes/Edges)
+/** A Patch (graph of Nodes/Edges)
*
- * \ingroup interface
+ * @ingroup Ingen
*/
class Patch : virtual public Node
{
diff --git a/ingen/Plugin.hpp b/ingen/Plugin.hpp
index faad50ce..41de5a2a 100644
--- a/ingen/Plugin.hpp
+++ b/ingen/Plugin.hpp
@@ -25,6 +25,9 @@
namespace Ingen {
+/** A plugin which instantiates to a Node.
+ * @ingroup Ingen
+ */
class Plugin : virtual public Resource
{
public:
diff --git a/ingen/Port.hpp b/ingen/Port.hpp
index 18c3b432..715fd96e 100644
--- a/ingen/Port.hpp
+++ b/ingen/Port.hpp
@@ -29,7 +29,7 @@ namespace Ingen {
*
* Purely virtual (except for the destructor).
*
- * \ingroup interface
+ * @ingroup Ingen
*/
class Port : public virtual GraphObject
{
diff --git a/ingen/Resource.hpp b/ingen/Resource.hpp
index 8c8a591a..1815bc26 100644
--- a/ingen/Resource.hpp
+++ b/ingen/Resource.hpp
@@ -28,6 +28,9 @@
namespace Ingen {
+/** An object with a URI described by properties.
+ * @ingroup Ingen
+ */
class Resource
{
public:
diff --git a/ingen/client/ClientStore.hpp b/ingen/client/ClientStore.hpp
index c212afcb..1512b941 100644
--- a/ingen/client/ClientStore.hpp
+++ b/ingen/client/ClientStore.hpp
@@ -48,7 +48,7 @@ class SigClientInterface;
/** Automatically manages models of objects in the engine.
*
- * \ingroup IngenClient
+ * @ingroup IngenClient
*/
class ClientStore : public Shared::Store
, public Interface
diff --git a/ingen/client/EdgeModel.hpp b/ingen/client/EdgeModel.hpp
index 41e1273c..9006dd80 100644
--- a/ingen/client/EdgeModel.hpp
+++ b/ingen/client/EdgeModel.hpp
@@ -32,7 +32,7 @@ class ClientStore;
/** Class to represent a port->port connections in the engine.
*
- * \ingroup IngenClient
+ * @ingroup IngenClient
*/
class EdgeModel : public Edge
{
diff --git a/ingen/client/NodeModel.hpp b/ingen/client/NodeModel.hpp
index 0184eacc..f56e4a54 100644
--- a/ingen/client/NodeModel.hpp
+++ b/ingen/client/NodeModel.hpp
@@ -42,7 +42,7 @@ class ClientStore;
/** Node model class, used by the client to store engine's state.
*
- * \ingroup IngenClient
+ * @ingroup IngenClient
*/
class NodeModel : public ObjectModel,
virtual public Ingen::Node
diff --git a/ingen/client/ObjectModel.hpp b/ingen/client/ObjectModel.hpp
index 9bddf4f8..1faf2e25 100644
--- a/ingen/client/ObjectModel.hpp
+++ b/ingen/client/ObjectModel.hpp
@@ -14,6 +14,10 @@
along with Ingen. If not, see <http://www.gnu.org/licenses/>.
*/
+/**
+ @defgroup IngenClient Client-Side Models and Utilities
+*/
+
#ifndef INGEN_CLIENT_OBJECTMODEL_HPP
#define INGEN_CLIENT_OBJECTMODEL_HPP
@@ -46,7 +50,7 @@ class ClientStore;
* well, it reduces Collection Hell) and wait for the result (as a signal
* from this Model).
*
- * \ingroup IngenClient
+ * @ingroup IngenClient
*/
class ObjectModel : virtual public GraphObject
, public Ingen::Shared::ResourceImpl
diff --git a/ingen/client/PatchModel.hpp b/ingen/client/PatchModel.hpp
index af5ecb2f..9d4e7752 100644
--- a/ingen/client/PatchModel.hpp
+++ b/ingen/client/PatchModel.hpp
@@ -33,7 +33,7 @@ class EdgeModel;
/** Client's model of a patch.
*
- * \ingroup IngenClient
+ * @ingroup IngenClient
*/
class PatchModel : public NodeModel, public Ingen::Patch
{
diff --git a/ingen/client/PluginModel.hpp b/ingen/client/PluginModel.hpp
index f7000065..395157ae 100644
--- a/ingen/client/PluginModel.hpp
+++ b/ingen/client/PluginModel.hpp
@@ -44,7 +44,7 @@ class PluginUI;
/** Model for a plugin available for loading.
*
- * \ingroup IngenClient
+ * @ingroup IngenClient
*/
class PluginModel : public Ingen::Plugin
, public Ingen::Shared::ResourceImpl
diff --git a/ingen/client/PluginUI.hpp b/ingen/client/PluginUI.hpp
index a4804b4c..25422fe8 100644
--- a/ingen/client/PluginUI.hpp
+++ b/ingen/client/PluginUI.hpp
@@ -37,7 +37,7 @@ class NodeModel;
/** Model for a plugin available for loading.
*
- * \ingroup IngenClient
+ * @ingroup IngenClient
*/
class PluginUI {
public:
diff --git a/ingen/client/PortModel.hpp b/ingen/client/PortModel.hpp
index 8065692d..477186fb 100644
--- a/ingen/client/PortModel.hpp
+++ b/ingen/client/PortModel.hpp
@@ -36,7 +36,7 @@ namespace Client {
/** Model of a port.
*
- * \ingroup IngenClient
+ * @ingroup IngenClient
*/
class PortModel : public ObjectModel, public Ingen::Port
{
diff --git a/ingen/client/SigClientInterface.hpp b/ingen/client/SigClientInterface.hpp
index dbc655dd..8b43bca0 100644
--- a/ingen/client/SigClientInterface.hpp
+++ b/ingen/client/SigClientInterface.hpp
@@ -36,6 +36,8 @@ namespace Client {
*
* The signals here match the calls to ClientInterface exactly. See the
* documentation for ClientInterface for meanings of signal parameters.
+ *
+ * @ingroup IngenClient
*/
class SigClientInterface : public Ingen::Interface,
public INGEN_TRACKABLE
diff --git a/ingen/client/ThreadedSigClientInterface.hpp b/ingen/client/ThreadedSigClientInterface.hpp
index e8b46504..71e1b2ee 100644
--- a/ingen/client/ThreadedSigClientInterface.hpp
+++ b/ingen/client/ThreadedSigClientInterface.hpp
@@ -46,6 +46,8 @@ namespace Client {
* functions are called. It must be explicitly driven with the emit_signals()
* function, which fires all enqueued signals up until the present. You can
* use this in a GTK idle callback for receiving thread safe engine signals.
+ *
+ * @ingroup IngenClient
*/
class ThreadedSigClientInterface : public SigClientInterface
{
diff --git a/ingen/serialisation/Parser.hpp b/ingen/serialisation/Parser.hpp
index ceaaa99c..5253a3e4 100644
--- a/ingen/serialisation/Parser.hpp
+++ b/ingen/serialisation/Parser.hpp
@@ -14,6 +14,10 @@
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
@@ -34,10 +38,11 @@ namespace Shared { class World; }
namespace Serialisation {
-/** Parse Ingen objects from RDF.
- *
- * \ingroup IngenSerialisation
- */
+/**
+ Read Ingen objects from Turtle files or strings.
+
+ @ingroup IngenSerialisation
+*/
class Parser {
public:
explicit Parser(Shared::World& world);
diff --git a/ingen/serialisation/Serialiser.hpp b/ingen/serialisation/Serialiser.hpp
index b09c194a..ab080a3d 100644
--- a/ingen/serialisation/Serialiser.hpp
+++ b/ingen/serialisation/Serialiser.hpp
@@ -43,10 +43,11 @@ class Store;
namespace Serialisation {
-/** Serialises Ingen objects (patches, nodes, etc) to RDF.
- *
- * \ingroup IngenSerialisation
- */
+/**
+ Write Ingen objects to Turtle files or strings.
+
+ @ingroup IngenSerialisation
+*/
class Serialiser
{
public:
@@ -67,10 +68,12 @@ public:
virtual void start_to_string(const Raul::Path& root,
const std::string& base_uri);
- virtual void serialise(SharedPtr<const GraphObject> object) throw (std::logic_error);
+ virtual void serialise(SharedPtr<const GraphObject> object)
+ throw (std::logic_error);
- virtual void serialise_edge(const Sord::Node& parent,
- SharedPtr<const Edge> c) throw (std::logic_error);
+ virtual void serialise_edge(const Sord::Node& parent,
+ SharedPtr<const Edge> c)
+ throw (std::logic_error);
virtual std::string finish();
diff --git a/ingen/shared/AtomReader.hpp b/ingen/shared/AtomReader.hpp
index 7e8cd93f..2887aad1 100644
--- a/ingen/shared/AtomReader.hpp
+++ b/ingen/shared/AtomReader.hpp
@@ -29,7 +29,9 @@ class AtomSink;
class Forge;
class URIMap;
-/** An AtomSink that calls methods on an Interface. */
+/** An AtomSink that calls methods on an Interface.
+ * @ingroup IngenShared
+ */
class AtomReader : public AtomSink
{
public:
diff --git a/ingen/shared/AtomSink.hpp b/ingen/shared/AtomSink.hpp
index c156d3cd..b4694926 100644
--- a/ingen/shared/AtomSink.hpp
+++ b/ingen/shared/AtomSink.hpp
@@ -22,6 +22,9 @@
namespace Ingen {
namespace Shared {
+/** A sink for LV2 Atoms.
+ * @ingroup IngenShared
+ */
class AtomSink {
public:
virtual ~AtomSink() {}
diff --git a/ingen/shared/AtomWriter.hpp b/ingen/shared/AtomWriter.hpp
index cdf0660a..585c362a 100644
--- a/ingen/shared/AtomWriter.hpp
+++ b/ingen/shared/AtomWriter.hpp
@@ -30,7 +30,7 @@ namespace Shared {
class AtomSink;
class URIMap;
-/** An Interface that writes LV2 atoms. */
+/** An Interface that writes LV2 atoms to an AtomSink. */
class AtomWriter : public Interface
{
public:
diff --git a/ingen/shared/Builder.hpp b/ingen/shared/Builder.hpp
index 8a800ca6..11804330 100644
--- a/ingen/shared/Builder.hpp
+++ b/ingen/shared/Builder.hpp
@@ -28,7 +28,7 @@ class URIs;
/** Wrapper for Interface to create existing objects/models.
*
- * \ingroup interface
+ * @ingroup IngenShared
*/
class Builder
{
diff --git a/ingen/shared/ClashAvoider.hpp b/ingen/shared/ClashAvoider.hpp
index 77be091e..40b1bdb6 100644
--- a/ingen/shared/ClashAvoider.hpp
+++ b/ingen/shared/ClashAvoider.hpp
@@ -36,6 +36,8 @@ class Store;
/** A wrapper for an Interface that creates objects but possibly maps
* symbol names to avoid clashes with the existing objects in a store.
+ *
+ * @ingroup IngenShared
*/
class ClashAvoider : public Interface
{
diff --git a/ingen/shared/Configuration.hpp b/ingen/shared/Configuration.hpp
index d3c975c5..211184d0 100644
--- a/ingen/shared/Configuration.hpp
+++ b/ingen/shared/Configuration.hpp
@@ -22,6 +22,9 @@
namespace Ingen {
namespace Shared {
+/** Ingen configuration (command line options).
+ * @ingroup IngenShared
+ */
class Configuration : public Raul::Configuration {
public:
Configuration();
diff --git a/ingen/shared/Forge.hpp b/ingen/shared/Forge.hpp
index f9d225cd..1d820bc0 100644
--- a/ingen/shared/Forge.hpp
+++ b/ingen/shared/Forge.hpp
@@ -26,6 +26,9 @@ namespace Shared {
class URIMap;
+/** Forge for Raul Atoms.
+ * @ingroup IngenShared
+ */
class Forge : public Raul::Forge {
public:
explicit Forge(Shared::URIMap& map);
diff --git a/ingen/shared/LV2Features.hpp b/ingen/shared/LV2Features.hpp
index 2ced50a1..c2a6021d 100644
--- a/ingen/shared/LV2Features.hpp
+++ b/ingen/shared/LV2Features.hpp
@@ -31,7 +31,8 @@ namespace Shared {
class World;
-/** Stuff that may need to be passed to an LV2 plugin (i.e. LV2 features).
+/** Features for use by LV2 plugins.
+ * @ingroup IngenShared
*/
class LV2Features {
public:
diff --git a/ingen/shared/Module.hpp b/ingen/shared/Module.hpp
index 73759786..1552a225 100644
--- a/ingen/shared/Module.hpp
+++ b/ingen/shared/Module.hpp
@@ -29,6 +29,7 @@ class World;
/** A dynamically loaded Ingen module.
*
* All components of Ingen reside in one of these.
+ * @ingroup IngenShared
*/
struct Module {
virtual ~Module();
diff --git a/ingen/shared/ResourceImpl.hpp b/ingen/shared/ResourceImpl.hpp
index b4d024d4..157c0365 100644
--- a/ingen/shared/ResourceImpl.hpp
+++ b/ingen/shared/ResourceImpl.hpp
@@ -27,6 +27,9 @@ namespace Shared {
class URIs;
+/** Implementation of a Resource.
+ * @ingroup IngenShared
+ */
class ResourceImpl : virtual public Resource
{
public:
diff --git a/ingen/shared/Store.hpp b/ingen/shared/Store.hpp
index 081d7fae..af281b9a 100644
--- a/ingen/shared/Store.hpp
+++ b/ingen/shared/Store.hpp
@@ -29,6 +29,9 @@
namespace Ingen {
namespace Shared {
+/** Store of objects in the patch hierarchy.
+ * @ingroup IngenShared
+ */
class Store : public Raul::PathTable< SharedPtr<GraphObject> > {
public:
virtual ~Store() {}
diff --git a/ingen/shared/URIMap.hpp b/ingen/shared/URIMap.hpp
index 1e8fb452..952d67ce 100644
--- a/ingen/shared/URIMap.hpp
+++ b/ingen/shared/URIMap.hpp
@@ -20,17 +20,18 @@
#include <map>
#include <utility>
-#include <boost/utility.hpp>
-
#include "ingen/shared/LV2Features.hpp"
#include "lv2/lv2plug.in/ns/ext/urid/urid.h"
#include "raul/URI.hpp"
+#include "raul/Noncopyable.hpp"
namespace Ingen {
namespace Shared {
-/** URI to Integer Map */
-class URIMap : public boost::noncopyable {
+/** URI to integer map and implementation of LV2 URID extension.
+ * @ingroup IngenShared
+ */
+class URIMap : public Raul::Noncopyable {
public:
URIMap(LV2_URID_Map* map, LV2_URID_Unmap* unmap);
virtual ~URIMap() {}
diff --git a/ingen/shared/URIs.hpp b/ingen/shared/URIs.hpp
index f724d81d..545a2bf0 100644
--- a/ingen/shared/URIs.hpp
+++ b/ingen/shared/URIs.hpp
@@ -17,11 +17,10 @@
#ifndef INGEN_SHARED_URIS_HPP
#define INGEN_SHARED_URIS_HPP
-#include <boost/utility.hpp>
-
#include "ingen/shared/Forge.hpp"
#include "lv2/lv2plug.in/ns/ext/urid/urid.h"
#include "raul/Atom.hpp"
+#include "raul/Noncopyable.hpp"
#include "raul/URI.hpp"
namespace Raul {
@@ -33,7 +32,15 @@ namespace Shared {
class URIMap;
-class URIs : public boost::noncopyable {
+/** Frequently used interned URIs.
+ *
+ * This class initially maps all the special URIs used throughout the code
+ * using the URIMap so they can be used quickly with the performance of
+ * integers, but still be dynamic.
+ *
+ * @ingroup IngenShared
+ */
+class URIs : public Raul::Noncopyable {
public:
URIs(Ingen::Shared::Forge& forge, URIMap* map);
diff --git a/ingen/shared/World.hpp b/ingen/shared/World.hpp
index 7864c581..9ac0188b 100644
--- a/ingen/shared/World.hpp
+++ b/ingen/shared/World.hpp
@@ -61,6 +61,8 @@ class URIs;
* The world is used in any process which uses the Ingen as a library, both
* client and server (e.g. the world may not actually contain an Engine, since
* it maybe running in another process or even on a different machine).
+ *
+ * @ingroup IngenShared
*/
class World : public Raul::Noncopyable {
public:
@@ -100,7 +102,8 @@ public:
virtual void add_interface_factory(const std::string& scheme,
InterfaceFactory factory);
- /** Return a new Interface to control the server at @p engine_url.
+ /** Return a new Interface to control a server.
+ * @param engine_url The URL of the possibly remote server to control.
* @param respondee The Interface that will receive responses to commands
* and broadcasts, if applicable.
*/