aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorh.udo <hudokkow@gmail.com>2016-10-20 16:06:21 +0100
committerh.udo <hudokkow@gmail.com>2018-02-20 22:27:51 +0000
commit9447e594586a6645a186614742303f98e4851227 (patch)
tree36fcbe780fa7c673e0b0566e8b89e1a138cb1c9d /lib
parentf6030103cf8a4a155c9c13f03c9e6b789a80808b (diff)
[c-pluff] Update to 0.1.4
Diffstat (limited to 'lib')
-rw-r--r--lib/cpluff/.gitignore17
-rw-r--r--lib/cpluff/ChangeLog.txt11
-rw-r--r--lib/cpluff/INSTALL.txt53
-rw-r--r--lib/cpluff/Makefile.am27
-rw-r--r--lib/cpluff/README.txt14
-rw-r--r--lib/cpluff/configure.ac59
-rw-r--r--lib/cpluff/console/cmdinput_basic.c11
-rw-r--r--lib/cpluff/console/cmdinput_readline.c1
-rw-r--r--lib/cpluff/doc/.htaccess12
-rw-r--r--lib/cpluff/doc/download.en.html199
-rw-r--r--lib/cpluff/doc/listconfirm/alreadyon.en.php36
-rw-r--r--lib/cpluff/doc/listconfirm/confirm.en.php38
-rw-r--r--lib/cpluff/doc/listconfirm/invalid.en.php39
-rw-r--r--lib/cpluff/doc/listconfirm/noton.en.php38
-rw-r--r--lib/cpluff/doc/listconfirm/subscribed-announcement.en.php39
-rw-r--r--lib/cpluff/doc/listconfirm/unsubscribed-announcement.en.php36
-rw-r--r--lib/cpluff/doc/lists.en.html111
-rw-r--r--lib/cpluff/doc/reference/c-api/annotated.html38
-rw-r--r--lib/cpluff/doc/reference/c-api/architecture.html34
-rw-r--r--lib/cpluff/doc/reference/c-api/architecture.pngbin23103 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/cMainProgram.html198
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluff_8h-source.html371
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluff_8h.html279
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluff_8h__incl.map2
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluff_8h__incl.md51
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluff_8h__incl.pngbin1410 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluffdef_8h-source.html104
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluffdef_8h.html71
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.map2
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.md51
-rw-r--r--lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.pngbin1509 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/doxygen.css360
-rw-r--r--lib/cpluff/doc/reference/c-api/doxygen.pngbin1281 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/files.html34
-rw-r--r--lib/cpluff/doc/reference/c-api/functions.html155
-rw-r--r--lib/cpluff/doc/reference/c-api/functions_vars.html155
-rw-r--r--lib/cpluff/doc/reference/c-api/globals.html193
-rw-r--r--lib/cpluff/doc/reference/c-api/globals_eval.html78
-rw-r--r--lib/cpluff/doc/reference/c-api/globals_func.html129
-rw-r--r--lib/cpluff/doc/reference/c-api/globals_type.html70
-rw-r--r--lib/cpluff/doc/reference/c-api/graph_legend.dot23
-rw-r--r--lib/cpluff/doc/reference/c-api/graph_legend.html87
-rw-r--r--lib/cpluff/doc/reference/c-api/graph_legend.pngbin8326 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cDefines.html76
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cDefinesGCCAttributes.html83
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cEnums.html180
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncs.html74
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncsContext.html215
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncsFrameworkInfo.html91
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncsInit.html123
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncsLogging.html222
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncsPlugin.html360
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncsPluginExec.html228
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncsPluginInfo.html498
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cFuncsSymbols.html186
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cScanFlags.html118
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cStructs.html52
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cTypedefs.html49
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cTypedefsFuncs.html149
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cTypedefsOpaque.html58
-rw-r--r--lib/cpluff/doc/reference/c-api/group__cTypedefsShorthand.html218
-rw-r--r--lib/cpluff/doc/reference/c-api/group__symbolVisibility.html104
-rw-r--r--lib/cpluff/doc/reference/c-api/group__versionInfo.html98
-rw-r--r--lib/cpluff/doc/reference/c-api/index.html37
-rw-r--r--lib/cpluff/doc/reference/c-api/inline_dotgraph_1.pngbin1662 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/modules.html53
-rw-r--r--lib/cpluff/doc/reference/c-api/pages.html33
-rw-r--r--lib/cpluff/doc/reference/c-api/plugin.html115
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__cfg__element__t.html206
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.map1
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.md51
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.pngbin2129 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__ext__point__t.html138
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.map5
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.md51
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.pngbin8833 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__extension__t.html172
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.map5
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.md51
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.pngbin9671 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__plugin__import__t.html105
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__plugin__info__t.html372
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.map5
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.md51
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.pngbin8218 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/structcp__plugin__runtime__t.html172
-rw-r--r--lib/cpluff/doc/reference/c-api/tab_b.gifbin35 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/tab_l.gifbin706 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/tab_r.gifbin2585 -> 0 bytes
-rw-r--r--lib/cpluff/doc/reference/c-api/tabs.css102
-rw-r--r--lib/cpluff/doc/repository.en.html80
-rw-r--r--lib/cpluff/doc/robots.txt3
-rw-r--r--lib/cpluff/examples/Makefile.nmake18
-rwxr-xr-xlib/cpluff/examples/common.nmake98
-rw-r--r--lib/cpluff/examples/cpfile/Makefile.nmake26
-rw-r--r--lib/cpluff/examples/cpfile/plugins/Makefile.nmake18
-rw-r--r--lib/cpluff/examples/cpfile/plugins/cext/Makefile.nmake30
-rw-r--r--lib/cpluff/examples/cpfile/plugins/core/Makefile.nmake50
-rw-r--r--lib/cpluff/examples/cpfile/plugins/extension/Makefile.nmake54
-rw-r--r--lib/cpluff/examples/cpfile/plugins/special/Makefile.nmake54
-rwxr-xr-xlib/cpluff/examples/nmakedir.bat22
-rw-r--r--lib/cpluff/libcpluff/Makefile.am10
-rw-r--r--lib/cpluff/libcpluff/context.c4
-rw-r--r--lib/cpluff/libcpluff/cpluff.c8
-rw-r--r--lib/cpluff/libcpluff/cpluff.h6
-rw-r--r--lib/cpluff/libcpluff/cpluffdef.h.in4
-rw-r--r--lib/cpluff/libcpluff/defines.h3
-rw-r--r--lib/cpluff/libcpluff/docsrc/Doxyfile-ref.in4
-rw-r--r--lib/cpluff/libcpluff/logging.c4
-rw-r--r--lib/cpluff/libcpluff/pcontrol.c2
-rw-r--r--lib/cpluff/libcpluff/pinfo.c26
-rw-r--r--lib/cpluff/libcpluff/ploader.c467
-rw-r--r--lib/cpluff/libcpluff/pscan.c5
-rw-r--r--lib/cpluff/libcpluff/psymbol.c12
-rw-r--r--lib/cpluff/libcpluff/serial.c4
-rw-r--r--lib/cpluff/libcpluff/thread_posix.c4
-rw-r--r--lib/cpluff/libcpluff/thread_windows.c4
-rw-r--r--lib/cpluff/libcpluff/util.c4
-rw-r--r--lib/cpluff/libcpluff/win32/cpluff.vcxproj134
-rw-r--r--lib/cpluff/libcpluff/win32/cpluffdef.h3
-rw-r--r--lib/cpluff/po/.gitignore19
-rw-r--r--lib/cpluff/po/LINGUAS1
-rw-r--r--lib/cpluff/po/Makefile.in.in403
-rw-r--r--lib/cpluff/po/Rules-quot47
-rw-r--r--lib/cpluff/po/boldquot.sed10
-rw-r--r--lib/cpluff/po/de.po (renamed from lib/cpluff/po/cpluff.pot)694
-rw-r--r--lib/cpluff/po/fi.gmobin26526 -> 0 bytes
-rw-r--r--lib/cpluff/po/fi.po286
-rw-r--r--lib/cpluff/po/insert-header.sin23
-rw-r--r--lib/cpluff/po/quot.sed6
-rw-r--r--lib/cpluff/po/remove-potcdate.sin19
-rw-r--r--lib/cpluff/po/stamp-po1
-rw-r--r--lib/cpluff/test/Makefile.am24
-rw-r--r--lib/cpluff/test/ploading.c39
-rw-r--r--lib/cpluff/test/plugins-source/symprovider/symprovider.c1
-rwxr-xr-xlib/cpluff/test/test-fatalerrordefault2
-rwxr-xr-xlib/cpluff/test/test-fatalerrorreset2
-rw-r--r--lib/cpluff/test/testmain.c2
-rw-r--r--lib/cpluff/test/tests.txt1
139 files changed, 1865 insertions, 8709 deletions
diff --git a/lib/cpluff/.gitignore b/lib/cpluff/.gitignore
new file mode 100644
index 0000000000..8054936cb1
--- /dev/null
+++ b/lib/cpluff/.gitignore
@@ -0,0 +1,17 @@
+autom4te.cache
+Makefile
+Makefile.in
+aclocal.m4
+config.status
+configure
+.deps
+*.o
+.libs
+libtool
+stamp-h1
+testmain
+m4
+build*
+config.h.in
+auxliary
+config.h
diff --git a/lib/cpluff/ChangeLog.txt b/lib/cpluff/ChangeLog.txt
index 07284bff38..179f541788 100644
--- a/lib/cpluff/ChangeLog.txt
+++ b/lib/cpluff/ChangeLog.txt
@@ -1,3 +1,14 @@
+C-Pluff (0.1.4)
+
+ * Merged cp_load_plugin_descriptor_from_memory() by Jonathan Marshall from
+ Kodi/XBMC codebase and added a unit test for it.
+ * Merged German translation by Chris Leick from Kodi/XBMC codebase.
+ * Updated build environment for current Autotools versions.
+ * More complete distribution auto-checking.
+ * Minor fixes and improvements.
+
+ -- Johannes Lehtinen <johannes.lehtinen@iki.fi> Fri, 01 Jan 2016 23:08:33 +0200
+
C-Pluff (0.1.3) alpha
* Fixed a bug in Windows multi-threading support. Mutex was not
diff --git a/lib/cpluff/INSTALL.txt b/lib/cpluff/INSTALL.txt
index f34ecdffb2..fceffa51d0 100644
--- a/lib/cpluff/INSTALL.txt
+++ b/lib/cpluff/INSTALL.txt
@@ -2,10 +2,8 @@ INSTALLING C-PLUFF
==================
These are instructions for building and installing the C-Pluff framework
-implementation using the source code distribution. Precompiled binaries
-are available for some platforms at the download page
-
- http://www.c-pluff.org/download
+implementation using the source code distribution or the source code from the
+version control repository.
For help on building C-Pluff based applications, see the examples in the
examples directory.
@@ -16,6 +14,8 @@ Prerequisites
To build C-Pluff, you need to have following prerequisites installed:
+ - GNU Make, C/C++ compiler (GCC), etc.
+
- a C library supporting POSIX dlopen
(for example, GNU C library)
or
@@ -34,10 +34,34 @@ Following components are optional and are used if they are installed:
(http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)
+Preparing GNU Autotools build environment
+-----------------------------------------
+
+If you are using a pre-packaged source distribution cpluff-VERSION.tar.gz then
+you may skip directly to section Building.
+
+If you are building from source checked out from the version control repository
+then you have to first prepare the GNU autotools build environment. To do this,
+simply execute the following command in the top level source directory.
+
+ ./autogen.sh
+
+The following tools must be installed to successfully prepare the build
+environment.
+
+ - GNU Gettext
+
+ - GNU Libtool
+
+ - GNU Automake
+
+ - GNU Autoconf
+
+
Building
--------
-To build C-Pluff, follow the usual autotools procedure:
+To build C-Pluff, follow the usual Autotools procedure:
Building in the source directory:
./configure
@@ -74,22 +98,3 @@ root directory during installation. This is typically used to create
binary packages.
make DESTDIR=/tmp/installation install
-
-
-Known good build platforms
---------------------------
-
-C-Pluff is known to compile cleanly on following combinations:
-
- - Native Linux build
- - GCC 4.1.2
- - GNU C library 2.3.6
- - Expat 1.95.8
-
- - Cross compilation for Windows on Linux
- - MinGW Runtime 3.9
- - MinGW binutils 2.16.91
- - MinGW 3.4.5
- - Expat 2.0.0 (or 1.95.8 or 1.95.1)
- - GNU Libtool libltdl 1.5.22
- - GNU Gettext 0.16.1 (or 0.14.4)
diff --git a/lib/cpluff/Makefile.am b/lib/cpluff/Makefile.am
index 2c4d6b6d9a..dcba780cbc 100644
--- a/lib/cpluff/Makefile.am
+++ b/lib/cpluff/Makefile.am
@@ -6,7 +6,7 @@
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = libcpluff loader console po test docsrc doc
+SUBDIRS = libcpluff loader console po test
DIST_SUBDIRS = $(SUBDIRS) examples
EXTRA_DIST = COPYRIGHT.txt INSTALL.txt ChangeLog.txt Roadmap.txt autogen.sh plugin.xsd
@@ -25,7 +25,9 @@ examples-install: install
dist-hook:
rm -f '$(distdir)/ABOUT-NLS'
-distcheck-hook:
+distcheck-hook: distcheck-potfiles distcheck-examples
+
+distcheck-potfiles:
files="`cd '$(srcdir)' && find console libcpluff loader -type f -name '*.[ch]' -exec grep -q '_(' '{}' \; -print`"; \
rc=0; \
for f in $$files; do \
@@ -36,6 +38,27 @@ distcheck-hook:
done; \
exit $$rc
+distcheck-examples:
+ { test ! -d _examples_test || { \
+ chmod -R u+w _examples_test; \
+ rm -rf _examples_test; } && \
+ mkdir _examples_test && \
+ absdistdir="`cd '$(distdir)' && pwd`" && \
+ cd _examples_test && \
+ instdir="`pwd`/_inst" && \
+ "$$absdistdir"/configure --prefix="$$instdir" && \
+ make install && \
+ cd _inst/share/doc/cpluff/examples && \
+ ./autogen.sh && \
+ CPPFLAGS="-I$$instdir/include" LDFLAGS="-L$$instdir/lib" CPLUFF_LOADER="$$instdir/bin/cpluff-loader" ./configure --prefix="$$instdir" && \
+ make install && \
+ test "`LC_ALL=C "$$instdir"/bin/cpfile . | tail -1`" = ".: directory" && \
+ cd ../../../../../.. && \
+ chmod -R u+w _examples_test && \
+ rm -rf _examples_test; } || \
+ { echo "Could not compile, install or run example source code"; \
+ exit 1; }
+
clean-local:
test ! -f examples/Makefile || (cd examples && $(MAKE) $(AM_MAKEFLAGS) clean)
diff --git a/lib/cpluff/README.txt b/lib/cpluff/README.txt
new file mode 100644
index 0000000000..9102eb9964
--- /dev/null
+++ b/lib/cpluff/README.txt
@@ -0,0 +1,14 @@
+C-Pluff, a plug-in framework for C
+==================================
+
+C-Pluff is a plug-in framework for C programs. It has been strongly inspired by
+the Java plug-in framework in Eclipse. C-Pluff focuses on providing core
+services for plug-in interaction and plug-in management. It aims to be platform
+neutral and supports dynamic changes to plug-in configuration without stopping
+the whole application or framework.
+
+For more information, see the documentation at C-Pluff web site.
+
+ http://www.c-pluff.org/
+
+For build and installation instructions, see INSTALL.txt.
diff --git a/lib/cpluff/configure.ac b/lib/cpluff/configure.ac
index bb69d19adf..d9a1771532 100644
--- a/lib/cpluff/configure.ac
+++ b/lib/cpluff/configure.ac
@@ -10,14 +10,14 @@ dnl -------------------
dnl Version information
define(CP_M4_VERSION_MAJOR, [0])
define(CP_M4_VERSION_MINOR, [1])
-define(CP_M4_VERSION_REV, [3])
+define(CP_M4_VERSION_REV, [4])
define(CP_M4_RELEASE_VERSION, CP_M4_VERSION_MAJOR.CP_M4_VERSION_MINOR.CP_M4_VERSION_REV)
dnl Backwards compatibility information
define(CP_M4_ABI_COMPATIBILITY, [0.1])
dnl Library version information
-define(CP_M4_C_LIB_VERSION, [0:3:0])
+define(CP_M4_C_LIB_VERSION, [1:0:1])
define(CP_M4_CXX_LIB_VERSION, [0:0:0])
# Autoconf initialization
@@ -44,7 +44,7 @@ AC_SUBST([CP_CXX_LIB_VERSION])
# Automake initialization
# -----------------------
-AM_INIT_AUTOMAKE([foreign])
+AM_INIT_AUTOMAKE([foreign subdir-objects])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION([0.16.1])
@@ -58,6 +58,15 @@ if test -z "$CC"; then
fi
AC_PROG_CC_C_O
AC_C_CONST
+case "$ac_cv_c_const" in
+ no)
+ DEFINE_EMPTY_CONST=1
+ ;;
+ *)
+ DEFINE_EMPTY_CONST=0
+ ;;
+esac
+AC_SUBST([DEFINE_EMPTY_CONST])
AC_LIBTOOL_DLOPEN
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
@@ -74,6 +83,7 @@ CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/libcpluff -I\$(top_srcdir)/libcpluff"
# Substitute variables for libcpluff and non-libcpluff components
AC_SUBST([LIBS_LIBCPLUFF])
+AC_SUBST([LIBS_TESTSUITE])
AC_SUBST([LIBS_OTHER])
# Define shared library extension
@@ -105,8 +115,8 @@ if test "$enable_threads" != no; then
# Check for Posix thread support
if test -z "$cp_threads" && \
( test -z "$enable_threads" || test "$enable_threads" = Posix ); then
- AC_MSG_CHECKING([for Posix threads])
- AC_LINK_IFELSE(
+ AC_CACHE_CHECK([for Posix threads], [cp_cv_sys_pthread],
+ [AC_LINK_IFELSE(
[AC_LANG_SOURCE([#include <pthread.h>
int main(int argc, char **argv) {
@@ -115,23 +125,27 @@ int main(int argc, char **argv) {
pthread_mutex_init(&mutex, NULL);
return 0;
}
-])], [AC_MSG_RESULT([yes])
-cp_threads=Posix], AC_MSG_RESULT([no]))
+])], [cp_cv_sys_pthread=yes], [cp_cv_sys_pthread=no])])
+ if test "$cp_cv_sys_pthread" = yes; then
+ cp_threads=Posix
+ fi
fi
# Check for Windows thread suppport
if test -z "$cp_threads" && \
( test -z "$enable_threads" || test "$enable_threads" = Windows ); then
- AC_MSG_CHECKING([for Windows threads])
- AC_LINK_IFELSE(
+ AC_CACHE_CHECK([for Windows threads], [cp_cv_sys_wthread],
+ [AC_LINK_IFELSE(
[AC_LANG_SOURCE([#include <windows.h>
int main(int argc, char **argv) {
CreateMutex(NULL, FALSE, NULL);
return 0;
}
-])], [AC_MSG_RESULT([yes])
-cp_threads=Windows], AC_MSG_RESULT([no]))
+])], [cp_cv_sys_wthread=yes], [cp_cv_sys_wthread=no])])
+ if test "$cp_cv_sys_wthread" = yes; then
+ cp_threads=Windows
+ fi
fi
# Check if we got the desired thread support
@@ -166,13 +180,13 @@ dlmechanism=none
if test "$with_dlopen" != no && test "$with_libltdl" != yes; then
AC_CHECK_HEADER([dlfcn.h],
AC_CHECK_LIB([dl], [dlopen],
- [LIBS_LIBCPLUFF="-ldl $LIBS_LIBCPLUFF"; dlmechanism=dlopen],
- AC_CHECK_LIB([c], [dlopen], [dlmechanism=dlopen])))
+ [LIBS_DL="-ldl $LIBS_DL"; dlmechanism=dlopen],
+ AC_CHECK_LIB([c], [dlopen], [dlmechanism=dlopen])))
fi
if test "$dlmechanism" = none && test "$with_libltdl" != no && test "$with_dlopen" != yes; then
AC_CHECK_HEADER([ltdl.h],
AC_CHECK_LIB([ltdl], [lt_dlopen],
- [LIBS_LIBCPLUFF="-lltdl $LIBS_LIBCPLUFF"; dlmechanism=libltdl]))
+ [LIBS_DL="-lltdl $LIBS_DL"; dlmechanism=libltdl]))
fi
case "$dlmechanism" in
dlopen)
@@ -185,6 +199,8 @@ case "$dlmechanism" in
AC_MSG_ERROR([Either the Posix dlopen facility or GNU Libtool libltdl is required])
;;
esac
+LIBS_LIBCPLUFF="$LIBS_DL $LIBS_LIBCPLUFF"
+LIBS_TESTSUITE="$LIBS_DL $LIBS_TESTSUITE"
# Check for Expat XML parsing library
# -----------------------------------
@@ -216,6 +232,19 @@ LIBS_OTHER="\$(top_builddir)/libcpluff/libcpluff.la $LIBS_OTHER"
# ------------------------------
AC_CHECK_FUNCS([stat lstat])
+# Check for isatty and fileno functions
+# -------------------------------------
+AC_MSG_CHECKING([for isatty and fileno])
+AC_LINK_IFELSE(
+[AC_LANG_SOURCE([#include <unistd.h>
+#include <stdio.h>
+
+int main(int argc, char *argv[]) {
+ return isatty(fileno(stdin));
+}
+])], [AC_MSG_RESULT([yes])
+AC_DEFINE([HAVE_ISATTY_FILENO],[],[Define to use isatty and fileno])], AC_MSG_RESULT([no]))
+
# Debugging support
# -----------------
AC_ARG_ENABLE([debug],
@@ -228,6 +257,7 @@ AC_ARG_ENABLE([gcc-warnings],
[enable default set of GCC compiler warnings]))
if test "$enable_gcc_warnings" = yes; then
CFLAGS="$CFLAGS -Wall -pedantic -std=gnu99"
+ CXXFLAGS="$CXXFLAGS -Wall -pedantic -std=c++0x"
fi
# File name separator character
@@ -310,6 +340,7 @@ AC_MSG_NOTICE([ CFLAGS='$CFLAGS'])
AC_MSG_NOTICE([ LDFLAGS='$LDFLAGS'])
AC_MSG_NOTICE([ LIBS='$LIBS'])
AC_MSG_NOTICE([ LIBS_LIBCPLUFF='$LIBS_LIBCPLUFF'])
+AC_MSG_NOTICE([ LIBS_TESTSUITE='$LIBS_TESTSUITE'])
AC_MSG_NOTICE([ LIBS_OTHER='$LIBS_OTHER'])
AC_MSG_NOTICE([ LIB_READLINE='$LIB_READLINE'])
AC_MSG_NOTICE([ LTLIBINTL='$LTLIBINTL'])
diff --git a/lib/cpluff/console/cmdinput_basic.c b/lib/cpluff/console/cmdinput_basic.c
index ee8b76b52b..71977fedd0 100644
--- a/lib/cpluff/console/cmdinput_basic.c
+++ b/lib/cpluff/console/cmdinput_basic.c
@@ -26,6 +26,9 @@
#include <stdio.h>
#include <string.h>
#include "console.h"
+#if defined(HAVE_ISATTY_FILENO)
+#include <unistd.h>
+#endif
#define CMDLINE_SIZE 256
@@ -51,6 +54,14 @@ CP_HIDDEN char *cmdline_input(const char *prompt) {
success = 1;
}
} while (!success);
+
+#if defined(HAVE_ISATTY_FILENO)
+ /* Echo input if not tty input */
+ if (!isatty(fileno(stdin))) {
+ fputs(cmdline, stdout);
+ }
+#endif
+
i = strlen(cmdline);
if (i > 0 && cmdline[i - 1] == '\n') {
cmdline[i - 1] = '\0';
diff --git a/lib/cpluff/console/cmdinput_readline.c b/lib/cpluff/console/cmdinput_readline.c
index b9b1594f3a..e383c8faba 100644
--- a/lib/cpluff/console/cmdinput_readline.c
+++ b/lib/cpluff/console/cmdinput_readline.c
@@ -25,7 +25,6 @@
#include <stdio.h>
#include <stdlib.h>
-#include <string.h>
#include <ctype.h>
#include <readline/readline.h>
#include <readline/history.h>
diff --git a/lib/cpluff/doc/.htaccess b/lib/cpluff/doc/.htaccess
new file mode 100644
index 0000000000..82d4d99531
--- /dev/null
+++ b/lib/cpluff/doc/.htaccess
@@ -0,0 +1,12 @@
+Options +MultiViews
+DirectoryIndex index
+AddType text/plain;charset=US-ASCII .asc
+AddType text/plain;charset=US-ASCII .gpg
+AddType text/html;charset=UTF-8 .html
+AddType text/css .css
+AddType image/vnd.microsoft.icon .ico
+AddLanguage en .en
+AddLanguage fi .fi
+AddLanguage sv .sv
+LanguagePriority en fi sv
+ForceLanguagePriority Fallback
diff --git a/lib/cpluff/doc/download.en.html b/lib/cpluff/doc/download.en.html
new file mode 100644
index 0000000000..2d862c775b
--- /dev/null
+++ b/lib/cpluff/doc/download.en.html
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <meta name="keywords" content="C-Pluff,download"/>
+ <meta name="identifier" content="http://www.c-pluff.org/download.en.html"/>
+ <title>Download C-Pluff</title>
+ <link rel="Stylesheet" type="text/css" href="cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>Download C-Pluff</h1>
+
+ <ul class="menu">
+ <li><a href="/">C-Pluff</a></li>
+ <li><a href="copyright.en.html">License</a></li>
+ <li><a href="reference/c-api/index.html">Documentation</a></li>
+ <li><a href="http://www.c-pluff.org/lists">Mailing lists</a></li>
+ <li>Download</li>
+ <li><a href="http://www.c-pluff.org/repository">Repository</a></li>
+ </ul>
+
+ <h2>Source code distribution</h2>
+ <p>
+ You can download the source code distribution here. It is currently
+ known to compile on Linux with GCC and MinGW (for Windows
+ cross-compilation).
+ </p>
+ <ul class="downloads">
+ <li><a href="downloads/cpluff-0.1.3.tar.gz">cpluff-0.1.3.tar.gz</a> (736 KiB, Apr 6 2007, <a href="downloads/cpluff-0.1.3.tar.gz.asc">PGP signature</a>)</li>
+ <li><a href="downloads/cpluff-0.1.2.tar.gz">cpluff-0.1.2.tar.gz</a> (720 KiB, Mar 28 2007, <a href="downloads/cpluff-0.1.2.tar.gz.asc">PGP signature</a>)</li>
+ <li><a href="downloads/cpluff-0.1.1.tar.gz">cpluff-0.1.1.tar.gz</a> (680 KiB, Mar 18 2007, <a href="downloads/cpluff-0.1.1.tar.gz.asc">PGP signature</a>)</li>
+ <li><a href="downloads/cpluff-0.1.0.tar.gz">cpluff-0.1.0.tar.gz</a> (600 KiB, Mar 8 2007, <a href="downloads/cpluff-0.1.0.tar.gz.asc">PGP signature</a>)</li>
+ </ul>
+ <p>
+ <a href="downloads/ChangeLog">The change log</a> and
+ <a href="downloads/Roadmap">the roadmap</a> are available separately.
+ </p>
+
+ <h2>Precompiled binaries</h2>
+ <p>
+ Here are the binary distributions currently available. If you would
+ like to have precompiled binaries for some other platform, you can ask
+ for it on the users mailing list and we will see if that can be arranged.
+ </p>
+ <ul>
+ <li><a href="#debian">Debian GNU/Linux (i386)</a></li>
+ <li><a href="#debian-mingw">MinGW cross-compilation on Debian GNU/Linux</a></li>
+ <li><a href="#windows">Microsoft Windows (i386)</a></li>
+ </ul>
+
+ <h3 id="debian">Debian GNU/Linux</h3>
+ <p>
+ Precompiled binaries are currently available for the i386 architecture.
+ C-Pluff is divided into three separate binary packages and the
+ debianized source package:
+ </p>
+ <dl>
+
+ <dt>cpluff</dt>
+ <dd>the debianized source package</dd>
+
+ <dt>libcpluff0</dt>
+ <dd>the runtime library and locale data</dd>
+
+ <dt>cpluff-loader</dt>
+ <dd>C-Pluff Loader, a generic plug-in loader</dd>
+
+ <dt>libcpluff0-dev</dt>
+ <dd>the development library, header files, documentation, example
+ source code and C-Pluff Console</dd>
+
+ </dl>
+ <p>
+ To be able to install the packages, add the following source
+ specification into /etc/apt/sources.list.
+ </p>
+ <pre class="example">
+deb http://www.c-pluff.org/downloads/debian stable cpluff
+deb-src http://www.c-pluff.org/downloads/debian stable cpluff</pre>
+ <p>
+ You can replace "stable" with "testing", "sarge" or "etch". Currently
+ there is only one set of binaries which can be used with any of the
+ listed Debian releases (not tested with unstable or experimental).
+ The second line is needed only if you want to download the debianized
+ source package.
+ </p>
+ <p>
+ Then run "aptitude update" as root and install selected packages using
+ "aptitude install &lt;package&gt;" (or the interactive user interface).
+ The source package is downloaded by running "apt-get source cpluff".
+ </p>
+ <p>
+ APT checks signatures since Debian GNU/Linux 4.0 (Etch).
+ The C-Pluff distribution has been signed with
+ <a href="http://www.jlehtinen.net/gpg_johannes_lehtinen.asc">my
+ PGP key</a>.
+ If you verify the key and choose to trust me as a software
+ provider (yeah, right ;), you can install the key as a
+ trusted APT key by downloading it and using the command
+ "apt-key add gpg_johannes_lehtinen.asc".
+ </p>
+
+ <h3 id="debian-mingw">MinGW cross-compilation on Debian GNU/Linux</h3>
+ <p>
+ Precompiled binaries are available also for MinGW cross-compilation
+ environment on Debian GNU/Linux. Binaries (and sources) for third
+ party dependencies are also provided. These can be used on Debian
+ GNU/Linux to cross-compile C-Pluff based applications for Windows.
+ The Windows binary distribution (see below) is based on these binaries.
+ </p>
+ <dl>
+
+ <dt>cpluff-mingw</dt>
+ <dd>C-Pluff runtime library, binaries and other material</dd>
+
+ <dt>cpluff-examples-mingw</dt>
+ <dd>C-Pluff example application binaries</dd>
+
+ <dt>expat-mingw</dt>
+ <dd>Expat XML parser library runtime library and headers</dd>
+
+ <dt>libltdl-mingw</dt>
+ <dd>GNU Libtool libltdl runtime library and headers</dd>
+
+ <dt>gettext-runtime-mingw</dt>
+ <dd>GNU Gettext runtime binaries and headers</dd>
+
+ </dl>
+ <p>
+ To be able to install the packages, add the following source
+ specification into /etc/apt/sources.list. Notice, although these packages
+ are placed in the i386 section, they are actually architecture
+ independent as they target the host platform, i586-mingw32msvc.
+ </p>
+ <pre class="example">
+deb http://www.c-pluff.org/downloads/debian stable cpluff 3rdparty
+deb-src http://www.c-pluff.org/downloads/debian stable cpluff 3rdparty</pre>
+
+ <h3 id="windows">Microsoft Windows</h3>
+ <p>
+ These precompiled binaries are for Microsoft Windows. Download one or
+ more zip files and extract them to the same location. The following
+ describes the ZIP file naming conventions.
+ </p>
+ <dl>
+
+ <dt>cpluff-VERSION.zip</dt>
+ <dd>C-Pluff runtime library, binaries and other material together
+ with third party binary dependencies (this is a union of the following
+ two packages, so you only need this one or the next two packages)</dd>
+
+ <dt>cpluff-VERSION-only.zip</dt>
+ <dd>C-Pluff runtime library, binaries and other material</dd>
+
+ <dt>cpluff-VERSION-deps.zip</dt>
+ <dd>third party binary dependencies</dd>
+
+ <dt>cpluff-VERSION-examples.zip</dt>
+ <dd>C-Pluff example application binaries</dd>
+
+ </dl>
+ <p>
+ Download selected packages here.
+ </p>
+ <ul class="downloads">
+ <li>C-Pluff 0.1.3 (Apr 6 2007)
+ <ul>
+ <li><a href="downloads/windows/cpluff-0.1.3.zip">cpluff-0.1.3.zip</a> (1768 KiB, <a href="downloads/windows/cpluff-0.1.3.zip.asc">PGP signature</a>)</li>
+ <li><a href="downloads/windows/cpluff-0.1.3-only.zip">cpluff-0.1.3-only.zip</a> (700 KiB, <a href="downloads/windows/cpluff-0.1.3-only.zip.asc">PGP signature</a>)</li>
+ <li><a href="downloads/windows/cpluff-0.1.3-deps.zip">cpluff-0.1.3-deps.zip</a> (1076 KiB, <a href="downloads/windows/cpluff-0.1.3-deps.zip.asc">PGP signature</a>)</li>
+ <li><a href="downloads/windows/cpluff-0.1.3-examples.zip">cpluff-0.1.3-examples.zip</a> (336 KiB, <a href="downloads/windows/cpluff-0.1.3-examples.zip.asc">PGP signature</a>)</li>
+ </ul>
+ </li>
+ </ul>
+
+ <ul class="menu">
+ <li><a href="/">C-Pluff</a></li>
+ <li><a href="copyright.en.html">License</a></li>
+ <li><a href="reference/c-api/index.html">Documentation</a></li>
+ <li><a href="http://www.c-pluff.org/lists">Mailing lists</a></li>
+ <li>Download</li>
+ <li><a href="http://www.c-pluff.org/repository">Repository</a></li>
+ </ul>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/listconfirm/alreadyon.en.php b/lib/cpluff/doc/listconfirm/alreadyon.en.php
new file mode 100644
index 0000000000..3b1ea5147d
--- /dev/null
+++ b/lib/cpluff/doc/listconfirm/alreadyon.en.php
@@ -0,0 +1,36 @@
+<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <title>Already subscribed</title>
+ <link rel="Stylesheet" type="text/css" href="../cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>Already subscribed</h1>
+
+ <p>
+ Your e-mail address <?php echo htmlspecialchars($_REQUEST['address']); ?>
+ is already subscribed to the mailing list. If you have any problems
+ with C-Pluff mailing lists, please contact the mailing list administrator
+ at <a href="mailto:listmaster@c-pluff.org">listmaster@c-pluff.org</a>.
+ </p>
+ <p>
+ Return to
+ <a href="../lists.en">the C-Pluff mailing list page</a>.
+ </p>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/listconfirm/confirm.en.php b/lib/cpluff/doc/listconfirm/confirm.en.php
new file mode 100644
index 0000000000..d0879e5609
--- /dev/null
+++ b/lib/cpluff/doc/listconfirm/confirm.en.php
@@ -0,0 +1,38 @@
+<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <title>Confirm subscription</title>
+ <link rel="Stylesheet" type="text/css" href="../cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>Confirm subscription</h1>
+
+ <p>
+ Your subscription request has been processed successfully but your
+ mailing list subscription has not yet been activated. To complete your
+ subscription you have to visit the link included in the verification
+ e-mail that has just been sent to your e-mail address
+ <?php echo htmlspecialchars($_REQUEST['address']); ?>. It might take
+ some time for the e-mail to arrive into your inbox.
+ </p>
+ <p>
+ Return to
+ <a href="../lists.en">the C-Pluff mailing list page</a>.
+ </p>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/listconfirm/invalid.en.php b/lib/cpluff/doc/listconfirm/invalid.en.php
new file mode 100644
index 0000000000..2c96d99db0
--- /dev/null
+++ b/lib/cpluff/doc/listconfirm/invalid.en.php
@@ -0,0 +1,39 @@
+<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <title>Invalid e-mail address</title>
+ <link rel="Stylesheet" type="text/css" href="../cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>Invalid e-mail address</h1>
+
+ <p>
+ The e-mail address you specified,
+ <?php echo htmlspecialchars($_REQUEST['address']); ?>,
+ is invalid. Please check that you specified
+ a correct address and try again. If you have any problems
+ with C-Pluff mailing lists, you may contact the mailing list
+ administrator at
+ <a href="mailto:listmaster@c-pluff.org">listmaster@c-pluff.org</a>.
+ </p>
+ <p>
+ Return to
+ <a href="../lists.en">the C-Pluff mailing list page</a>.
+ </p>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/listconfirm/noton.en.php b/lib/cpluff/doc/listconfirm/noton.en.php
new file mode 100644
index 0000000000..836dca1d1e
--- /dev/null
+++ b/lib/cpluff/doc/listconfirm/noton.en.php
@@ -0,0 +1,38 @@
+<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <title>Not subscribed</title>
+ <link rel="Stylesheet" type="text/css" href="../cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>Not subscribed</h1>
+
+ <p>
+ Your e-mail address <?php echo htmlspecialchars($_REQUEST['address']); ?>
+ is not subscribed to the mailing list. Please check that you specified
+ a correct address and try again. If you have any problems
+ with C-Pluff mailing lists, you may contact the mailing list
+ administrator at
+ <a href="mailto:listmaster@c-pluff.org">listmaster@c-pluff.org</a>.
+ </p>
+ <p>
+ Return to
+ <a href="../lists.en">the C-Pluff mailing list page</a>.
+ </p>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/listconfirm/subscribed-announcement.en.php b/lib/cpluff/doc/listconfirm/subscribed-announcement.en.php
new file mode 100644
index 0000000000..8be148d6cb
--- /dev/null
+++ b/lib/cpluff/doc/listconfirm/subscribed-announcement.en.php
@@ -0,0 +1,39 @@
+<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <title>Subscription completed</title>
+ <link rel="Stylesheet" type="text/css" href="../cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>Subscription completed</h1>
+
+ <p>
+ Welcome to the C-Pluff announcement mailing list!
+ You have successfully subscribed to the list and forthcoming
+ announcements will be delivered to your
+ e-mail address <?php echo htmlspecialchars($_REQUEST['address']); ?>.
+ </p>
+ <p>
+ You can unsubscribe from this mailing list at any time by visiting
+ <a href="../lists.en">the C-Pluff mailing list page</a>.
+ </p>
+ <p>
+ Now you may return to <a href="../index.en">the main C-Pluff page</a>.
+ </p>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/listconfirm/unsubscribed-announcement.en.php b/lib/cpluff/doc/listconfirm/unsubscribed-announcement.en.php
new file mode 100644
index 0000000000..5ac3d6eb77
--- /dev/null
+++ b/lib/cpluff/doc/listconfirm/unsubscribed-announcement.en.php
@@ -0,0 +1,36 @@
+<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <title>Unsubscription completed</title>
+ <link rel="Stylesheet" type="text/css" href="../cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>Unsubscription completed</h1>
+
+ <p>
+ You have successfully unsubscribed from the C-Pluff announcement mailing
+ list. Your e-mail address
+ <?php echo htmlspecialchars($_REQUEST['address']); ?>
+ has been removed from the mailing list.
+ </p>
+ <p>
+ Now you may return to <a href="../index.en">the main C-Pluff page</a>
+ or to <a href="../lists.en">the C-Pluff mailing list page</a>.
+ </p>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/lists.en.html b/lib/cpluff/doc/lists.en.html
new file mode 100644
index 0000000000..d793dd1820
--- /dev/null
+++ b/lib/cpluff/doc/lists.en.html
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <meta name="keywords" content="C-Pluff,mailing list"/>
+ <meta name="identifier" content="http://www.c-pluff.org/lists.en.html"/>
+ <title>C-Pluff mailing lists</title>
+ <link rel="Stylesheet" type="text/css" href="cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>C-Pluff mailing lists</h1>
+
+ <ul class="menu">
+ <li><a href="/">C-Pluff</a></li>
+ <li><a href="copyright.en.html">License</a></li>
+ <li><a href="reference/c-api/index.html">Documentation</a></li>
+ <li>Mailing lists</li>
+ <li><a href="http://www.c-pluff.org/download">Download</a></li>
+ <li><a href="http://www.c-pluff.org/repository">Repository</a></li>
+ </ul>
+
+ <p>
+ <em>The C-Pluff announcement list</em> is a
+ one-way mailing list for announcing new C-Pluff releases and features.
+ If you want to be always up-to-date, it is a good idea to subscribe to
+ the announcement list.
+ </p>
+ <p>
+ <em>The C-Pluff users list</em> is for discussion about the usage of
+ C-Pluff and for reporting problems. It is the right place for support
+ requests and discussion about how to use C-Pluff to create extensible
+ applications.
+ </p>
+ <p>
+ <em>The C-Pluff developers list</em> is for discussion about C-Pluff
+ development. It is the right place for posting patches, discussing new
+ framework features and informing other developers about internal changes.
+ If you are interested in participating C-Pluff development, join the
+ developers list.
+ </p>
+
+ <h2>Manage subscriptions</h2>
+
+ <p>
+ All subscriptions are verified by sending you an e-mail containing a link
+ you must visit to confirm the subscription. Discussion lists allow
+ unmoderated postings from list members only. Non-member postings
+ are moderated. List archives are restricted to members to prevent
+ bots from harvesting e-mail addresses. If you have any problems with
+ C-Pluff mailing lists, please contact the mailing list administrator at
+ <a href="mailto:listmaster@c-pluff.org">listmaster@c-pluff.org</a>.
+ </p>
+
+ <h3>C-Pluff announcement list</h3>
+
+ <form method="post" action="http://scripts.dreamhost.com/add_list.cgi">
+ <p>
+ <input type="hidden" name="list" value="announcement" />
+ <input type="hidden" name="domain" value="c-pluff.org" />
+ <input type="hidden" name="url" value="http://www.c-pluff.org/listconfirm/subscribed-announcement.en" />
+ <input type="hidden" name="unsuburl" value="http://www.c-pluff.org/listconfirm/unsubscribed-announcement.en" />
+ <input type="hidden" name="alreadyonurl" value="http://www.c-pluff.org/listconfirm/alreadyon.en" />
+ <input type="hidden" name="notonurl" value="http://www.c-pluff.org/listconfirm/noton.en" />
+ <input type="hidden" name="invalidurl" value="http://www.c-pluff.org/listconfirm/invalid.en" />
+ <input type="hidden" name="emailconfirmurl" value="http://www.c-pluff.org/listconfirm/confirm.en" />
+ <input type="hidden" name="emailit" value="1" />
+ Your e-mail address:<br />
+ <input type="text" name="email" size="32" /><br />
+ <input type="submit" name="submit" value="Subscribe" />
+ <input type="submit" name="unsub" value="Unsubscribe" />
+ </p>
+ </form>
+
+ <h3>C-Pluff users list</h3>
+
+ <p>
+ You can manage your subscription and access list archive at
+ <a href="http://lists.c-pluff.org/listinfo.cgi/users-c-pluff.org">users mailing list info page</a>.
+ </p>
+
+ <h3>C-Pluff developers list</h3>
+
+ <p>
+ You can manage your subscription and access list archive at
+ <a href="http://lists.c-pluff.org/listinfo.cgi/developers-c-pluff.org">developers mailing list info page</a>.
+ </p>
+
+ <ul class="menu">
+ <li><a href="/">C-Pluff</a></li>
+ <li><a href="copyright.en.html">License</a></li>
+ <li><a href="reference/c-api/index.html">Documentation</a></li>
+ <li>Mailing lists</li>
+ <li><a href="http://www.c-pluff.org/download">Download</a></li>
+ <li><a href="http://www.c-pluff.org/repository">Repository</a></li>
+ </ul>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/reference/c-api/annotated.html b/lib/cpluff/doc/reference/c-api/annotated.html
deleted file mode 100644
index 1f89dd40f7..0000000000
--- a/lib/cpluff/doc/reference/c-api/annotated.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Data Structures</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<h1>C-Pluff C API Data Structures</h1>Here are the data structures with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a></td><td class="indexvalue">A configuration element contains configuration information for an extension </td></tr>
- <tr><td class="indexkey"><a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a></td><td class="indexvalue">Extension point structure captures information about an extension point </td></tr>
- <tr><td class="indexkey"><a class="el" href="structcp__extension__t.html">cp_extension_t</a></td><td class="indexvalue">Extension structure captures information about an extension </td></tr>
- <tr><td class="indexkey"><a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a></td><td class="indexvalue">Information about plug-in import </td></tr>
- <tr><td class="indexkey"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a></td><td class="indexvalue">Plug-in information structure captures information about a plug-in </td></tr>
- <tr><td class="indexkey"><a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a></td><td class="indexvalue">Container for plug-in runtime information </td></tr>
-</table>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/architecture.html b/lib/cpluff/doc/reference/c-api/architecture.html
deleted file mode 100644
index f895a89529..0000000000
--- a/lib/cpluff/doc/reference/c-api/architecture.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Plug-in architecture</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1><a class="anchor" name="architecture">Plug-in architecture</a></h1><h2><a class="anchor" name="architectureOverview">
-Overview</a></h2>
-The plug-in architecture supported by C-Pluff is presented in the following figure. There is a thin main program controlling the plug-in framework. The main program is responsible for initializing and setting up the plug-in environment. Most of the application logic is contained in plug-ins which are independent components and can be developed and distributed separately. Plug-ins integrate with each other by providing extension points and extensions. An extension point is a point into which other plug-ins can attach extensions. An extension can be just information, expressed in XML format, or the plug-in may also provide program logic as part of the plug-in runtime library. The framework provides services for accessing extensions and for managing plug-in dependencies.<p>
-<div align="center">
-<img src="architecture.png" alt="architecture.png">
-<p><strong>C-Pluff plug-in architecture</strong></p></div>
- <h2><a class="anchor" name="architectureExtensions">
-Extensions</a></h2>
-The idea behind extension points and extensions is that the extensibility is not limited only to few fixed plug-in types supported by the core application. Although the core plug-ins typically define the extension points for the core application logic, it is possible for any plug-in to specify additional extension points.<p>
-For example, let us assume that we are developing an extensible text editor. One extension point defined by core editor plug-in could be auto-completion extension point. A plug-in providing basic Java source code support could provide an extension for auto-completing Java code. Now, while this extension could do basic auto-completion of plain Java code, it is customary that Java source code also includes embedded documentation, such as JavaDoc comments and tags, or annotations, such as XDoclet tags, as part of doc comments. Instead of trying to support all known tags and their semantics, the plug-in providing basic Java support could define another extension point for additional plug-ins that know how to perform auto-completion of different kind of tags in doc comments. This way the extensibility of the application is not limited to the extension points defined by the core application but the plug-ins can incrementally increase the extensibility of the application. <hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/architecture.png b/lib/cpluff/doc/reference/c-api/architecture.png
deleted file mode 100644
index fa7cf75b29..0000000000
--- a/lib/cpluff/doc/reference/c-api/architecture.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/cMainProgram.html b/lib/cpluff/doc/reference/c-api/cMainProgram.html
deleted file mode 100644
index 0e59dd3585..0000000000
--- a/lib/cpluff/doc/reference/c-api/cMainProgram.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Main program</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1><a class="anchor" name="cMainProgram">Main program</a></h1><h2><a class="anchor" name="cMainProgramOverview">
-Overview</a></h2>
-The main program is the part of executable that is located outside the plug-in framework. The main program is responsible for setting up the plug-in framework and for loading the desired set of <a class="el" href="plugin.html">plug-ins</a>. The main program should preferably be very thin, a mere plug-in loader, because it can not fully participate in plug-in interaction. C-Pluff distribution provides a plug-in loader, cpluff-loader, which can be used as a generic main program for arbitrary plug-in collections.<h2><a class="anchor" name="cMainProgramResponsibilities">
-Responsibilities</a></h2>
-The main program has several responsibilities:<p>
-<ul>
-<li><a class="el" href="cMainProgram.html#cMainProgramInitFramework">initializing the plug-in framework</a></li><li><a class="el" href="cMainProgram.html#cMainProgramCreateContext">creating a plug-in context</a></li><li><a class="el" href="cMainProgram.html#cMainProgramLoad">loading plug-ins</a></li><li><a class="el" href="cMainProgram.html#cMainProgramExec">controlling plug-in execution</a></li><li><a class="el" href="cMainProgram.html#cMainProgramChange">changing plug-in configuration</a> (opt.)</li><li><a class="el" href="cMainProgram.html#cMainProgramDestroyFramework">destroying the plug-in framework</a></li></ul>
-<h3><a class="anchor" name="cMainProgramInitFramework">
-Initializing the plug-in framework</a></h3>
-Plug-in framework, or the C-Pluff library, must be initialized before its services can be used. Initialization is not a thread-safe operation and should generally be done by the main program before any additional plug-in framework accessing threads are started. Initialization is done by calling <a class="el" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cp_init</a>. Additionally, the main program can use <a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a> to register a function that is called when a fatal error occurs. A fatal error is one that prevents the framework from continuing operation. For example, errors in operating system locking operations and a NULL pointer being passed as an argument which is expected to have a non-NULL value are fatal erors.<p>
-Here is an example of possible initialization code.<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;locale.h&gt;</span>
-<span class="preprocessor"> #include &lt;<a class="code" href="cpluff_8h.html">cpluff.h</a>&gt;</span>
-
- <span class="keywordtype">void</span> handle_fatal_error(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg) {
-
- <span class="comment">// ... log error, flush logs, send bug report, etc. ...</span>
-
- fprintf(stderr, <span class="stringliteral">"A fatal error occurred: %s\n"</span>, msg);
- abort();
- }
-
- <span class="keywordtype">void</span> initialize(<span class="keywordtype">void</span>) {
- <a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> status;
-
- setlocale(LC_ALL, <span class="stringliteral">""</span>);
- <a class="code" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a>(handle_fatal_error);
- status = <a class="code" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cp_init</a>();
- <span class="keywordflow">if</span> (status != <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a>) {
- <span class="comment">// ... handle initialization failure ...</span>
- }
- }
-</pre></div><h3><a class="anchor" name="cMainProgramCreateContext">
-Creating a plug-in context</a></h3>
-A plug-in context represents the co-operation environment of a set of plug-ins from the perspective of a particular participating plug-in or the perspective of the main program. From main program perspective, a plug-in context is a container for a set of plug-ins. A plug-in can interact with other plug-ins in the same container.<p>
-An extensible application can have more than one plug-in container but usually one container should suffice. Due to the nature of C programs, plug-ins deployed to different containers are not very well insulated from each other. For example, global variables provided by a plug-in in one container are visible to all plug-ins in all containers. Also, by placing all plug-ins in the same container they can more efficiently share common base components which themselves might provide extensibility.<p>
-A main program creates a plug-in context, to be used as a container for plugins, using <a class="el" href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62">cp_create_context</a>.<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="cpluff_8h.html">cpluff.h</a>&gt;</span>
-
- <a class="code" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx;
-
- <span class="keywordtype">void</span> create_context(<span class="keywordtype">void</span>) {
- <a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> status;
-
- ctx = <a class="code" href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62">cp_create_context</a>(&amp;status);
- <span class="keywordflow">if</span> (ctx == NULL) {
- <span class="comment">// ... handle initialization failure ...</span>
- }
- }
-</pre></div><h3><a class="anchor" name="cMainProgramLoad">
-Loading plug-ins</a></h3>
-An extensible application is made of plug-ins that can be added and removed dynamically. The plug-ins are loaded by the main program using the services provided by the framework. The framework provides couple of alternative ways of loading plug-ins.<p>
-As a lowest level operation, the main program can load individual plug-ins from known locations using <a class="el" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cp_load_plugin_descriptor</a> and <a class="el" href="group__cFuncsPlugin.html#gc862fd9be2bad2e0dfaafa6216ad34d4">cp_install_plugin</a>. Here is example code that loads a set of plug-ins from file system locations listed in a file.<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;stdio.h&gt;</span>
-<span class="preprocessor"> #include &lt;<a class="code" href="cpluff_8h.html">cpluff.h</a>&gt;</span>
-
- <span class="keyword">extern</span> <a class="code" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx;
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> pluginListFile[] = <span class="stringliteral">"/etc/example/plugins.list"</span>;
-
- <span class="keywordtype">void</span> load_plugins(<span class="keywordtype">void</span>) {
- <span class="keywordtype">char</span> plugindir[128];
- FILE *lf;
-
- <span class="comment">// Open plug-in list file</span>
- lf = fopen(pluginListFile, <span class="stringliteral">"r"</span>);
- <span class="keywordflow">if</span> (lf == NULL) {
- <span class="comment">// ... handle loading failure ...</span>
- }
-
- <span class="comment">// Load each listed plug-in</span>
- <span class="keywordflow">while</span> (fgets(plugindir, 128, lf) != NULL) {
- <a class="code" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *plugininfo;
- <a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> status;
- <span class="keywordtype">int</span> i;
-
- <span class="comment">// Remove possible trailing newline from plug-in location</span>
- <span class="keywordflow">for</span> (i = 0; plugindir[i + 1] != <span class="charliteral">'\0'</span>; i++);
- <span class="keywordflow">if</span> (plugindir[i] == <span class="charliteral">'\n'</span>) {
- plugindir[i] = <span class="charliteral">'\0'</span>;
- }
-
- <span class="comment">// Load plug-in descriptor</span>
- plugininfo = <a class="code" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cp_load_plugin_descriptor</a>(ctx, plugindir, &amp;status);
- <span class="keywordflow">if</span> (pinfo == NULL) {
- <span class="comment">// ... handle loading failure ...</span>
- }
-
- <span class="comment">// Install plug-in descriptor</span>
- status = <a class="code" href="group__cFuncsPlugin.html#gc862fd9be2bad2e0dfaafa6216ad34d4">cp_install_plugin</a>(ctx, plugininfo);
- <span class="keywordflow">if</span> (status != <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a>) {
- <span class="comment">// ... handle loading failure ...</span>
- }
-
- <span class="comment">// Release plug-in descriptor information</span>
- <a class="code" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cp_release_info</a>(ctx, plugininfo);
- }
-
- <span class="comment">// Close plug-in list file</span>
- fclose(lf);
- }
-</pre></div><p>
-Alternatively, the main program can register and load plug-in collections. A plug-in collection is a file system directory which includes individual plug-ins in subdirectories, one plug-in in each subdirectory. Plug-in collections can be registered with a plug-in context using <a class="el" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cp_register_pcollection</a>. Plug-ins of the collection can then be scanned and loaded using <a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a>. Here is example code loading plug-ins from a plug-in collection.<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="cpluff_8h.html">cpluff.h</a>&gt;</span>
-
- <span class="keyword">extern</span> <a class="code" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx;
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> pluginCollectionDir[] = <span class="stringliteral">"/etc/example/plugins"</span>;
-
- <span class="keywordtype">void</span> load_plugins(<span class="keywordtype">void</span>) {
- <a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> status;
-
- status = <a class="code" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cp_register_pcollection</a>(ctx, pluginCollectionDir);
- <span class="keywordflow">if</span> (status != <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a>) {
- <span class="comment">// ... handle loading failure ...</span>
- }
- status = <a class="code" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a>(ctx, 0);
- <span class="keywordflow">if</span> (status != <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a>) {
- <span class="comment">// ... handle loading failure ...</span>
- <span class="comment">// (notice that some plug-ins might have been loaded)</span>
- }
- }
-</pre></div><h3><a class="anchor" name="cMainProgramExec">
-Controlling plug-in execution</a></h3>
-The main program controls plug-in execution by starting and stopping plug-ins and by executing run functions registered by plug-ins. Additionally, the main program can pass startup arguments to plug-ins.<p>
-When plug-ins are installed they are not yet activated and their runtime library is not even loaded at that point. The main program typically activates plug-ins by starting a main plug-in responsible for user interface or core application logic. This plug-in then implicitly causes other plug-ins to be activated via dependencies and by dynamically resolving symbols provided by other plug-ins. Plug-ins recursively activate each other until all initially needed plug-ins have been started. Some plug-ins might be activated at a later time when their functionality is needed, for example due to user action.<p>
-If a plug-in needs to perform background operations, that is operations executed outside the invocation of plug-in provided interface functions, then it can either start a new thread or it can register a run function. A run function is a function that is typically executed as part of the main loop by the main program.<p>
-The following example code shows how a main program might initialize plug-in startup arguments using <a class="el" href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4">cp_set_context_args</a>, start the core plug-in using <a class="el" href="group__cFuncsPlugin.html#g2456b7740351c2530376ffb3a5ab7d92">cp_start_plugin</a> and then execute plug-in run functions using <a class="el" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cp_run_plugins</a>.<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include &lt;<a class="code" href="cpluff_8h.html">cpluff.h</a>&gt;</span>
-
- <span class="keyword">extern</span> <a class="code" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx;
- <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> corePluginId[] = <span class="stringliteral">"org.example.core"</span>;
-
- <span class="keywordtype">void</span> run_plugins(<span class="keywordtype">char</span> *argv[]) {
- <a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> status;
-
- <span class="comment">// Set plug-in startup arguments</span>
- <a class="code" href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4">cp_set_context_args</a>(ctx, argv);
-
- <span class="comment">// Start the core plug-in, possibly activating other plug-ins as well</span>
- status = <a class="code" href="group__cFuncsPlugin.html#g2456b7740351c2530376ffb3a5ab7d92">cp_start_plugin</a>(ctx, corePluginId);
- <span class="keywordflow">if</span> (status != <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a>) {
- <span class="comment">// ... handle startup failure ...</span>
- }
-
- <span class="comment">// Execute plug-ins until there is no more work to be done</span>
- <a class="code" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cp_run_plugins</a>(ctx);
- }
-
- <span class="keywordtype">int</span> main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {
- <span class="comment">// ... do initialization and load plug-ins ...</span>
-
- run_plugins(argv);
-
- <span class="comment">// ... do destruction ...</span>
- }
-</pre></div><p>
-Alternatively, if the main program has some operations it must perform as part of the main loop, the call to <a class="el" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cp_run_plugins</a> can be replaced by code using <a class="el" href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929">cp_run_plugins_step</a> like in the following example.<p>
-<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> mainloop(<span class="keywordtype">void</span>) {
- <span class="keywordtype">int</span> finished = 0;
-
- <span class="keywordflow">while</span> (!finished) {
- <span class="comment">// ... do main program specific operations ...</span>
-
- finished = !<a class="code" href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929">cp_run_plugins_step</a>(ctx);
- }
- }
-</pre></div><h3><a class="anchor" name="cMainProgramChange">
-Changing plug-in configuration</a></h3>
-C-Pluff has been designed to allow dynamic changes to the plug-in configuration, that is plug-ins being added or removed without shutting down the application or the framework. It is the responsibility of the main program to manage such changes if the application is to support dynamic configuration changes.<p>
-Adding plug-ins is straightforward because there is no need to consider dependencies of active plug-ins. For example, if one uses plug-in collections as introduced above then new plug-ins can be deployed under the plug-in collection directory while the application is running and the main program can load them incrementally by calling <a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a> again. This call might be activated by some user interface element, for example a plug-in manager component which just downloaded and installed new plug-ins as requested by the user. The flags <a class="el" href="group__cScanFlags.html#gb5996fbc57c7ec3bb538bc80a3ebfc40">CP_SP_STOP_ALL_ON_INSTALL</a> and <a class="el" href="group__cScanFlags.html#g7ca04507561932ae293e81c3636768b7">CP_SP_RESTART_ACTIVE</a> orred together can be used to cause all active plug-ins to be restarted if they do not otherwise notice the extensions provided by new plug-ins.<p>
-Upgrading plug-ins is almost as straightforward because the C-Pluff framework manages plug-in dependencies (assuming the plug-ins have declared their dependencies properly). The new version of a plug-in can be deployed under the plug-in collection directory in a new subdirectory parallel to the old version while the application is running. The main program can then call <a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a> with <a class="el" href="group__cScanFlags.html#g1d4b72334d60f1401e6616da54e4d6f1">CP_SP_UPGRADE</a> and <a class="el" href="group__cScanFlags.html#g7ca04507561932ae293e81c3636768b7">CP_SP_RESTART_ACTIVE</a> orred together. This will stop the old version of the upgraded plug-in (implicitly stopping all plug-ins that depend on it), unload the plug-in from the framework, install the new version of the plug-in and finally restart plug-ins that were active before the operation. The old version of the plug-in can now be removed from the plug-in collection. Again, <a class="el" href="group__cScanFlags.html#g72cdcd1181d60fd3caf5d0e0dd59c33c">CP_SP_STOP_ALL_ON_UPGRADE</a> can be added to restart all active plug-ins.<p>
-Deleting plug-ins must be done by first stopping and unloading the plug-in to be deleted using <a class="el" href="group__cFuncsPlugin.html#g2249552dc67bb7893f81babee4a27454">cp_uninstall_plugin</a>. The the plug-in can be removed from the plug-in collection.<h3><a class="anchor" name="cMainProgramDestroyFramework">
-Destroying the plug-in framework</a></h3>
-The plug-in framework can be destroyed and all resources released by calling <a class="el" href="group__cFuncsInit.html#g8dfbe51a3b7f23368a4ddf0d9987180e">cp_destroy</a> as many times as <a class="el" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cp_init</a> has been called. This is not a thread-safe operation and should generally be done by the main program just before application exits. The destroy function stops and unloads all plug-ins and destroys all plug-in contexts before destroying the core framework.<p>
-Individual plug-in contexts can be destroyed by calling <a class="el" href="group__cFuncsContext.html#g754ff895992fab0aae81a09c727e5868">cp_destroy_context</a>. The destroy function stops and unloads all plug-ins before destroying the context itself. <hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/cpluff_8h-source.html b/lib/cpluff/doc/reference/c-api/cpluff_8h-source.html
deleted file mode 100644
index 8bf2c28911..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluff_8h-source.html
+++ /dev/null
@@ -1,371 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cpluff.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<h1>cpluff.h</h1><a href="cpluff_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*-------------------------------------------------------------------------</span>
-<a name="l00002"></a>00002 <span class="comment"> * C-Pluff, a plug-in framework for C</span>
-<a name="l00003"></a>00003 <span class="comment"> * Copyright 2007 Johannes Lehtinen</span>
-<a name="l00004"></a>00004 <span class="comment"> * </span>
-<a name="l00005"></a>00005 <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</span>
-<a name="l00006"></a>00006 <span class="comment"> * copy of this software and associated documentation files (the "Software"),</span>
-<a name="l00007"></a>00007 <span class="comment"> * to deal in the Software without restriction, including without limitation</span>
-<a name="l00008"></a>00008 <span class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</span>
-<a name="l00009"></a>00009 <span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</span>
-<a name="l00010"></a>00010 <span class="comment"> * Software is furnished to do so, subject to the following conditions:</span>
-<a name="l00011"></a>00011 <span class="comment"> *</span>
-<a name="l00012"></a>00012 <span class="comment"> * The above copyright notice and this permission notice shall be included</span>
-<a name="l00013"></a>00013 <span class="comment"> * in all copies or substantial portions of the Software.</span>
-<a name="l00014"></a>00014 <span class="comment"> *</span>
-<a name="l00015"></a>00015 <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS</span>
-<a name="l00016"></a>00016 <span class="comment"> * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span>
-<a name="l00017"></a>00017 <span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.</span>
-<a name="l00018"></a>00018 <span class="comment"> * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY</span>
-<a name="l00019"></a>00019 <span class="comment"> * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,</span>
-<a name="l00020"></a>00020 <span class="comment"> * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE</span>
-<a name="l00021"></a>00021 <span class="comment"> * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span>
-<a name="l00022"></a>00022 <span class="comment"> *-----------------------------------------------------------------------*/</span>
-<a name="l00023"></a>00023
-<a name="l00033"></a>00033 <span class="preprocessor">#ifndef CPLUFF_H_</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define CPLUFF_H_</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span>
-<a name="l00041"></a>00041 <span class="preprocessor">#include &lt;<a class="code" href="cpluffdef_8h.html">cpluffdef.h</a>&gt;</span>
-<a name="l00042"></a>00042
-<a name="l00043"></a>00043 <span class="preprocessor">#ifdef __cplusplus</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
-<a name="l00045"></a>00045 <span class="preprocessor">#endif </span><span class="comment">/*__cplusplus*/</span>
-<a name="l00046"></a>00046
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="comment">/* ------------------------------------------------------------------------</span>
-<a name="l00049"></a>00049 <span class="comment"> * Defines</span>
-<a name="l00050"></a>00050 <span class="comment"> * ----------------------------------------------------------------------*/</span>
-<a name="l00051"></a>00051
-<a name="l00060"></a>00060 <span class="preprocessor">#ifndef CP_C_API</span>
-<a name="l00061"></a><a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define CP_C_API CP_IMPORT</span>
-<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00063"></a>00063 <span class="preprocessor"></span>
-<a name="l00064"></a>00064
-<a name="l00073"></a>00073
-<a name="l00078"></a><a class="code" href="group__cScanFlags.html#g1d4b72334d60f1401e6616da54e4d6f1">00078</a> <span class="preprocessor">#define CP_SP_UPGRADE 0x01</span>
-<a name="l00079"></a>00079 <span class="preprocessor"></span>
-<a name="l00084"></a><a class="code" href="group__cScanFlags.html#g72cdcd1181d60fd3caf5d0e0dd59c33c">00084</a> <span class="preprocessor">#define CP_SP_STOP_ALL_ON_UPGRADE 0x02</span>
-<a name="l00085"></a>00085 <span class="preprocessor"></span>
-<a name="l00091"></a><a class="code" href="group__cScanFlags.html#gb5996fbc57c7ec3bb538bc80a3ebfc40">00091</a> <span class="preprocessor">#define CP_SP_STOP_ALL_ON_INSTALL 0x04</span>
-<a name="l00092"></a>00092 <span class="preprocessor"></span>
-<a name="l00097"></a><a class="code" href="group__cScanFlags.html#g7ca04507561932ae293e81c3636768b7">00097</a> <span class="preprocessor">#define CP_SP_RESTART_ACTIVE 0x08</span>
-<a name="l00098"></a>00098 <span class="preprocessor"></span>
-<a name="l00102"></a>00102 <span class="comment">/* ------------------------------------------------------------------------</span>
-<a name="l00103"></a>00103 <span class="comment"> * Data types</span>
-<a name="l00104"></a>00104 <span class="comment"> * ----------------------------------------------------------------------*/</span>
-<a name="l00105"></a>00105
-<a name="l00122"></a>00122 <span class="comment">/* Enumerations */</span>
-<a name="l00123"></a>00123
-<a name="l00133"></a><a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">00133</a> <span class="keyword">enum</span> <a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> {
-<a name="l00134"></a>00134
-<a name="l00139"></a>00139 <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> = 0,
-<a name="l00140"></a>00140
-<a name="l00142"></a>00142 <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950">CP_ERR_RESOURCE</a>,
-<a name="l00143"></a>00143
-<a name="l00145"></a>00145 <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e">CP_ERR_UNKNOWN</a>,
-<a name="l00146"></a>00146
-<a name="l00148"></a>00148 <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da2993572d373d8cc61f9655c10fbeefa5">CP_ERR_IO</a>,
-<a name="l00149"></a>00149
-<a name="l00151"></a>00151 <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dadc486f602f89493e882cde6a364de0b7">CP_ERR_MALFORMED</a>,
-<a name="l00152"></a>00152
-<a name="l00154"></a>00154 <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dab07cfdc96a5dbc3a3e359bae2534c9d2">CP_ERR_CONFLICT</a>,
-<a name="l00155"></a>00155
-<a name="l00157"></a>00157 <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da068a07ac79fdc33dc0c47d14c37005f6">CP_ERR_DEPENDENCY</a>,
-<a name="l00158"></a>00158
-<a name="l00160"></a>00160 <a class="code" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dae9eb8fc6b508a70eae974760d8be07aa">CP_ERR_RUNTIME</a>
-<a name="l00161"></a>00161
-<a name="l00162"></a>00162 };
-<a name="l00163"></a>00163
-<a name="l00175"></a><a class="code" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">00175</a> <span class="keyword">enum</span> <a class="code" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> {
-<a name="l00176"></a>00176
-<a name="l00181"></a>00181 <a class="code" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325290eacd4f02fb7d65eaf68f7251a99689">CP_PLUGIN_UNINSTALLED</a>,
-<a name="l00182"></a>00182
-<a name="l00190"></a>00190 <a class="code" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32521c91e4bef84a1d924456fb268a1d848b">CP_PLUGIN_INSTALLED</a>,
-<a name="l00191"></a>00191
-<a name="l00202"></a>00202 <a class="code" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325275596c790e344583d117d3c6bb4252bd">CP_PLUGIN_RESOLVED</a>,
-<a name="l00203"></a>00203
-<a name="l00213"></a>00213 <a class="code" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32522c6ca0c8d90c3acb01e336ce1711540c">CP_PLUGIN_STARTING</a>,
-<a name="l00214"></a>00214
-<a name="l00224"></a>00224 <a class="code" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32525aafd09bec81bb2bedfd7bfc8643051c">CP_PLUGIN_STOPPING</a>,
-<a name="l00225"></a>00225
-<a name="l00230"></a>00230 <a class="code" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b3252953ad85aee24006f4a5079bfca73eb9f">CP_PLUGIN_ACTIVE</a>
-<a name="l00231"></a>00231
-<a name="l00232"></a>00232 };
-<a name="l00233"></a>00233
-<a name="l00241"></a><a class="code" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">00241</a> <span class="keyword">enum</span> <a class="code" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> {
-<a name="l00242"></a>00242
-<a name="l00244"></a>00244 <a class="code" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb22e3ccb1789e1f0ea3b35e1682fe8af8">CP_LOG_DEBUG</a>,
-<a name="l00245"></a>00245
-<a name="l00247"></a>00247 <a class="code" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebcdb069d62e546b005ae6a81e6cdb0333">CP_LOG_INFO</a>,
-<a name="l00248"></a>00248
-<a name="l00250"></a>00250 <a class="code" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb26a8a8c987042689e5018e481d235ee0">CP_LOG_WARNING</a>,
-<a name="l00251"></a>00251
-<a name="l00253"></a>00253 <a class="code" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebd99d2bd1dbae181f9a41e90e6bf8d14e">CP_LOG_ERROR</a>
-<a name="l00254"></a>00254
-<a name="l00255"></a>00255 };
-<a name="l00256"></a>00256
-<a name="l00260"></a>00260 <span class="comment">/* Typedefs */</span>
-<a name="l00261"></a>00261
-<a name="l00268"></a>00268
-<a name="l00281"></a><a class="code" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">00281</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> cp_context_t;
-<a name="l00282"></a>00282
-<a name="l00291"></a>00291
-<a name="l00293"></a><a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">00293</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> <a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a>;
-<a name="l00294"></a>00294
-<a name="l00296"></a><a class="code" href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018">00296</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcp__plugin__import__t.html">cp_plugin_import_t</a> <a class="code" href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018">cp_plugin_import_t</a>;
-<a name="l00297"></a>00297
-<a name="l00299"></a><a class="code" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">00299</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcp__ext__point__t.html">cp_ext_point_t</a> <a class="code" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">cp_ext_point_t</a>;
-<a name="l00300"></a>00300
-<a name="l00302"></a><a class="code" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">00302</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcp__extension__t.html">cp_extension_t</a> <a class="code" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">cp_extension_t</a>;
-<a name="l00303"></a>00303
-<a name="l00305"></a><a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">00305</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> <a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a>;
-<a name="l00306"></a>00306
-<a name="l00308"></a><a class="code" href="group__cTypedefsShorthand.html#gca5d98d242f7c005f04b00bf77d1882e">00308</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a> <a class="code" href="group__cTypedefsShorthand.html#gca5d98d242f7c005f04b00bf77d1882e">cp_plugin_runtime_t</a>;
-<a name="l00309"></a>00309
-<a name="l00311"></a><a class="code" href="group__cTypedefsShorthand.html#g53b128f964c24169c758a0c60248d602">00311</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> <a class="code" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>;
-<a name="l00312"></a>00312
-<a name="l00314"></a><a class="code" href="group__cTypedefsShorthand.html#g026780097ccf13e9896f2d4759aa642e">00314</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> <a class="code" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a>;
-<a name="l00315"></a>00315
-<a name="l00317"></a><a class="code" href="group__cTypedefsShorthand.html#gfa3a21d1af3332cab04867d6f1b0b076">00317</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> <a class="code" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a>;
-<a name="l00318"></a>00318
-<a name="l00327"></a>00327
-<a name="l00344"></a><a class="code" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">00344</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span> *plugin_id, cp_plugin_state_t old_state, cp_plugin_state_t new_state, <span class="keywordtype">void</span> *user_data);
-<a name="l00345"></a>00345
-<a name="l00358"></a><a class="code" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">00358</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a>)(cp_log_severity_t severity, <span class="keyword">const</span> <span class="keywordtype">char</span> *msg, <span class="keyword">const</span> <span class="keywordtype">char</span> *apid, <span class="keywordtype">void</span> *user_data);
-<a name="l00359"></a>00359
-<a name="l00369"></a><a class="code" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">00369</a> <span class="keyword">typedef</span> void (*<a class="code" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span> *msg);
-<a name="l00370"></a>00370
-<a name="l00381"></a><a class="code" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">00381</a> <span class="keyword">typedef</span> int (*<a class="code" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a>)(<span class="keywordtype">void</span> *plugin_data);
-<a name="l00382"></a>00382
-<a name="l00386"></a>00386 <span class="comment">/* Data structures */</span>
-<a name="l00387"></a>00387
-<a name="l00396"></a><a class="code" href="structcp__plugin__info__t.html">00396</a> <span class="keyword">struct </span><a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a> {
-<a name="l00397"></a>00397
-<a name="l00405"></a><a class="code" href="structcp__plugin__info__t.html#f5351a0143adaf16c64b881aee01d893">00405</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a>;
-<a name="l00406"></a>00406
-<a name="l00413"></a><a class="code" href="structcp__plugin__info__t.html#5ac083a645d964373f022d03df4849c8">00413</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#5ac083a645d964373f022d03df4849c8">name</a>;
-<a name="l00414"></a>00414
-<a name="l00420"></a><a class="code" href="structcp__plugin__info__t.html#56abfaab87c46691c1ef3ad0df23e864">00420</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#56abfaab87c46691c1ef3ad0df23e864">version</a>;
-<a name="l00421"></a>00421
-<a name="l00429"></a><a class="code" href="structcp__plugin__info__t.html#8bf76789248b4737d6a9a1175ceadca5">00429</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#8bf76789248b4737d6a9a1175ceadca5">provider_name</a>;
-<a name="l00430"></a>00430
-<a name="l00438"></a><a class="code" href="structcp__plugin__info__t.html#bfb5abdafe1c5db02dcd2922b32be4e6">00438</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#bfb5abdafe1c5db02dcd2922b32be4e6">plugin_path</a>;
-<a name="l00439"></a>00439
-<a name="l00451"></a><a class="code" href="structcp__plugin__info__t.html#80147b4cbaeac68ad7a02dfe9c732e43">00451</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#80147b4cbaeac68ad7a02dfe9c732e43">abi_bw_compatibility</a>;
-<a name="l00452"></a>00452
-<a name="l00465"></a><a class="code" href="structcp__plugin__info__t.html#a0db42bb2a075c5804c0aeecfab567d8">00465</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#a0db42bb2a075c5804c0aeecfab567d8">api_bw_compatibility</a>;
-<a name="l00466"></a>00466
-<a name="l00475"></a><a class="code" href="structcp__plugin__info__t.html#8b1942a723f6a68c9afad9e52b7e78d1">00475</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#8b1942a723f6a68c9afad9e52b7e78d1">req_cpluff_version</a>;
-<a name="l00476"></a>00476
-<a name="l00478"></a><a class="code" href="structcp__plugin__info__t.html#bca19d2e4af3752ceb056d638321b894">00478</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcp__plugin__info__t.html#bca19d2e4af3752ceb056d638321b894">num_imports</a>;
-<a name="l00479"></a>00479
-<a name="l00484"></a><a class="code" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">00484</a> <a class="code" href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018">cp_plugin_import_t</a> *<a class="code" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">imports</a>;
-<a name="l00485"></a>00485
-<a name="l00493"></a><a class="code" href="structcp__plugin__info__t.html#e466145debd47625f99bbc780e8950ed">00493</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#e466145debd47625f99bbc780e8950ed">runtime_lib_name</a>;
-<a name="l00494"></a>00494
-<a name="l00501"></a><a class="code" href="structcp__plugin__info__t.html#3291d0de7ca4bbe510950be556641856">00501</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__info__t.html#3291d0de7ca4bbe510950be556641856">runtime_funcs_symbol</a>;
-<a name="l00502"></a>00502
-<a name="l00504"></a><a class="code" href="structcp__plugin__info__t.html#845440eb771d52a4b271bfbd48fcb7ec">00504</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcp__plugin__info__t.html#845440eb771d52a4b271bfbd48fcb7ec">num_ext_points</a>;
-<a name="l00505"></a>00505
-<a name="l00511"></a><a class="code" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">00511</a> <a class="code" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">cp_ext_point_t</a> *<a class="code" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">ext_points</a>;
-<a name="l00512"></a>00512
-<a name="l00514"></a><a class="code" href="structcp__plugin__info__t.html#5774f2b85864891690291909ecbbf819">00514</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcp__plugin__info__t.html#5774f2b85864891690291909ecbbf819">num_extensions</a>;
-<a name="l00515"></a>00515
-<a name="l00521"></a><a class="code" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">00521</a> <a class="code" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">cp_extension_t</a> *<a class="code" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">extensions</a>;
-<a name="l00522"></a>00522
-<a name="l00523"></a>00523 };
-<a name="l00524"></a>00524
-<a name="l00530"></a><a class="code" href="structcp__plugin__import__t.html">00530</a> <span class="keyword">struct </span><a class="code" href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018">cp_plugin_import_t</a> {
-<a name="l00531"></a>00531
-<a name="l00536"></a><a class="code" href="structcp__plugin__import__t.html#29da905aeb4da90dae48b2aa19f5cc62">00536</a> <span class="keywordtype">char</span> *plugin_id;
-<a name="l00537"></a>00537
-<a name="l00546"></a><a class="code" href="structcp__plugin__import__t.html#56abfaab87c46691c1ef3ad0df23e864">00546</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__plugin__import__t.html#56abfaab87c46691c1ef3ad0df23e864">version</a>;
-<a name="l00547"></a>00547
-<a name="l00557"></a><a class="code" href="structcp__plugin__import__t.html#69b1249c974e922ecdd066c43dc91f88">00557</a> <span class="keywordtype">int</span> <a class="code" href="structcp__plugin__import__t.html#69b1249c974e922ecdd066c43dc91f88">optional</a>;
-<a name="l00558"></a>00558 };
-<a name="l00559"></a>00559
-<a name="l00566"></a><a class="code" href="structcp__ext__point__t.html">00566</a> <span class="keyword">struct </span><a class="code" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">cp_ext_point_t</a> {
-<a name="l00567"></a>00567
-<a name="l00573"></a><a class="code" href="structcp__ext__point__t.html#e498b24942e6fdd73ce6c22505549680">00573</a> <a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a> *<a class="code" href="structcp__ext__point__t.html#e498b24942e6fdd73ce6c22505549680">plugin</a>;
-<a name="l00574"></a>00574
-<a name="l00580"></a>00580 <span class="keywordtype">char</span> *local_id;
-<a name="l00581"></a>00581
-<a name="l00587"></a><a class="code" href="structcp__ext__point__t.html#f5351a0143adaf16c64b881aee01d893">00587</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__ext__point__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a>;
-<a name="l00588"></a>00588
-<a name="l00595"></a><a class="code" href="structcp__ext__point__t.html#5ac083a645d964373f022d03df4849c8">00595</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__ext__point__t.html#5ac083a645d964373f022d03df4849c8">name</a>;
-<a name="l00596"></a>00596
-<a name="l00603"></a><a class="code" href="structcp__ext__point__t.html#2370171ff78694fa0871fd845ab3ad6f">00603</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__ext__point__t.html#2370171ff78694fa0871fd845ab3ad6f">schema_path</a>;
-<a name="l00604"></a>00604 };
-<a name="l00605"></a>00605
-<a name="l00611"></a><a class="code" href="structcp__extension__t.html">00611</a> <span class="keyword">struct </span><a class="code" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">cp_extension_t</a> {
-<a name="l00612"></a>00612
-<a name="l00618"></a><a class="code" href="structcp__extension__t.html#e498b24942e6fdd73ce6c22505549680">00618</a> <a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a> *<a class="code" href="structcp__extension__t.html#e498b24942e6fdd73ce6c22505549680">plugin</a>;
-<a name="l00619"></a>00619
-<a name="l00625"></a><a class="code" href="structcp__extension__t.html#9fe304775bea17eeba3c3fd734d1e4bc">00625</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__extension__t.html#9fe304775bea17eeba3c3fd734d1e4bc">ext_point_id</a>;
-<a name="l00626"></a>00626
-<a name="l00632"></a><a class="code" href="structcp__extension__t.html#eb234b64f623fd6c2bcbbc98bacb99ce">00632</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__extension__t.html#eb234b64f623fd6c2bcbbc98bacb99ce">local_id</a>;
-<a name="l00633"></a>00633
-<a name="l00639"></a><a class="code" href="structcp__extension__t.html#f5351a0143adaf16c64b881aee01d893">00639</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__extension__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a>;
-<a name="l00640"></a>00640
-<a name="l00647"></a><a class="code" href="structcp__extension__t.html#5ac083a645d964373f022d03df4849c8">00647</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__extension__t.html#5ac083a645d964373f022d03df4849c8">name</a>;
-<a name="l00648"></a>00648
-<a name="l00655"></a><a class="code" href="structcp__extension__t.html#a745fad14a2300fd48e55c33f580f91b">00655</a> <a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a> *<a class="code" href="structcp__extension__t.html#a745fad14a2300fd48e55c33f580f91b">configuration</a>;
-<a name="l00656"></a>00656 };
-<a name="l00657"></a>00657
-<a name="l00667"></a><a class="code" href="structcp__cfg__element__t.html">00667</a> <span class="keyword">struct </span><a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a> {
-<a name="l00668"></a>00668
-<a name="l00673"></a><a class="code" href="structcp__cfg__element__t.html#5ac083a645d964373f022d03df4849c8">00673</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__cfg__element__t.html#5ac083a645d964373f022d03df4849c8">name</a>;
-<a name="l00674"></a>00674
-<a name="l00676"></a><a class="code" href="structcp__cfg__element__t.html#b6eced8675261543cd28efea6c7a0fa4">00676</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcp__cfg__element__t.html#b6eced8675261543cd28efea6c7a0fa4">num_atts</a>;
-<a name="l00677"></a>00677
-<a name="l00682"></a><a class="code" href="structcp__cfg__element__t.html#719b3d0c1369478044ce59dc2f207c21">00682</a> <span class="keywordtype">char</span> **<a class="code" href="structcp__cfg__element__t.html#719b3d0c1369478044ce59dc2f207c21">atts</a>;
-<a name="l00683"></a>00683
-<a name="l00689"></a><a class="code" href="structcp__cfg__element__t.html#4e9aec275e566b978a3ccb4e043d8c61">00689</a> <span class="keywordtype">char</span> *<a class="code" href="structcp__cfg__element__t.html#4e9aec275e566b978a3ccb4e043d8c61">value</a>;
-<a name="l00690"></a>00690
-<a name="l00692"></a><a class="code" href="structcp__cfg__element__t.html#8c99879f94f30ed01e0b76847ab11237">00692</a> <a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a> *<a class="code" href="structcp__cfg__element__t.html#8c99879f94f30ed01e0b76847ab11237">parent</a>;
-<a name="l00693"></a>00693
-<a name="l00695"></a><a class="code" href="structcp__cfg__element__t.html#589d64202487f78e3cc30dd2e04c5201">00695</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcp__cfg__element__t.html#589d64202487f78e3cc30dd2e04c5201">index</a>;
-<a name="l00696"></a>00696
-<a name="l00698"></a><a class="code" href="structcp__cfg__element__t.html#b7c9e81d106b95f54ff71b9096ba5dc6">00698</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structcp__cfg__element__t.html#b7c9e81d106b95f54ff71b9096ba5dc6">num_children</a>;
-<a name="l00699"></a>00699
-<a name="l00704"></a><a class="code" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">00704</a> <a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a> *<a class="code" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">children</a>;
-<a name="l00705"></a>00705 };
-<a name="l00706"></a>00706
-<a name="l00734"></a><a class="code" href="structcp__plugin__runtime__t.html">00734</a> <span class="keyword">struct </span><a class="code" href="group__cTypedefsShorthand.html#gca5d98d242f7c005f04b00bf77d1882e">cp_plugin_runtime_t</a> {
-<a name="l00735"></a>00735
-<a name="l00753"></a>00753 <span class="keywordtype">void</span> *(*create)(cp_context_t *ctx);
-<a name="l00754"></a>00754
-<a name="l00775"></a>00775 int (*<a class="code" href="structcp__plugin__runtime__t.html#5a6c64e5d2467d67cf4dd2498639b490">start</a>)(<span class="keywordtype">void</span> *data);
-<a name="l00776"></a>00776
-<a name="l00800"></a>00800 void (*<a class="code" href="structcp__plugin__runtime__t.html#ede7dc51a6d9f47d0e21445dc952d5d4">stop</a>)(<span class="keywordtype">void</span> *data);
-<a name="l00801"></a>00801
-<a name="l00814"></a>00814 void (*<a class="code" href="structcp__plugin__runtime__t.html#cc37619ea5a3ff4e39e53b9ce0e7ed4f">destroy</a>)(<span class="keywordtype">void</span> *data);
-<a name="l00815"></a>00815
-<a name="l00816"></a>00816 };
-<a name="l00817"></a>00817
-<a name="l00821"></a>00821 <span class="comment">/* ------------------------------------------------------------------------</span>
-<a name="l00822"></a>00822 <span class="comment"> * Function declarations</span>
-<a name="l00823"></a>00823 <span class="comment"> * ----------------------------------------------------------------------*/</span>
-<a name="l00824"></a>00824
-<a name="l00844"></a>00844
-<a name="l00851"></a>00851 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="group__cFuncsFrameworkInfo.html#g5783cc2485fb87c487b524c2d0fcd702">cp_get_version</a>(<span class="keywordtype">void</span>) <a class="code" href="group__cDefinesGCCAttributes.html#g97e63f6bd1007545853c6ab4d0271e43">CP_GCC_PURE</a>;
-<a name="l00852"></a>00852
-<a name="l00860"></a>00860 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> const <span class="keywordtype">char</span> *<a class="code" href="group__cFuncsFrameworkInfo.html#gd44dbf4f97f511f9f4df3f9fdbe6e865">cp_get_host_type</a>(<span class="keywordtype">void</span>) CP_GCC_PURE;
-<a name="l00861"></a>00861
-<a name="l00874"></a>00874
-<a name="l00885"></a>00885 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a>(<a class="code" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a> error_handler);
-<a name="l00886"></a>00886
-<a name="l00902"></a>00902 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cp_init</a>(<span class="keywordtype">void</span>);
-<a name="l00903"></a>00903
-<a name="l00914"></a>00914 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsInit.html#g8dfbe51a3b7f23368a4ddf0d9987180e">cp_destroy</a>(<span class="keywordtype">void</span>);
-<a name="l00915"></a>00915
-<a name="l00933"></a>00933
-<a name="l00947"></a>00947 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_context_t * <a class="code" href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62">cp_create_context</a>(cp_status_t *status);
-<a name="l00948"></a>00948
-<a name="l00956"></a>00956 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsContext.html#g754ff895992fab0aae81a09c727e5868">cp_destroy_context</a>(cp_context_t *ctx) <a class="code" href="group__cDefinesGCCAttributes.html#gca94f5f75abdc0d1c78572d95305c800">CP_GCC_NONNULL</a>(1);
-<a name="l00957"></a>00957
-<a name="l00970"></a>00970 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cp_register_pcollection</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *dir) CP_GCC_NONNULL(1, 2);
-<a name="l00971"></a>00971
-<a name="l00981"></a>00981 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsContext.html#g59817fdae1aeb28dbc7d3dcfc5568c15">cp_unregister_pcollection</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *dir) CP_GCC_NONNULL(1, 2);
-<a name="l00982"></a>00982
-<a name="l00990"></a>00990 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsContext.html#g0473208ccfde69e0c57ec1f2b4789781">cp_unregister_pcollections</a>(cp_context_t *ctx) CP_GCC_NONNULL(1);
-<a name="l00991"></a>00991
-<a name="l01004"></a>01004
-<a name="l01020"></a>01020 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff">cp_register_logger</a>(cp_context_t *ctx, <a class="code" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> logger, <span class="keywordtype">void</span> *user_data, cp_log_severity_t min_severity) CP_GCC_NONNULL(1, 2);
-<a name="l01021"></a>01021
-<a name="l01028"></a>01028 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsLogging.html#g206e88cf84739ff2a0ee6e6925ca5ed8">cp_unregister_logger</a>(cp_context_t *ctx, <a class="code" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> logger) CP_GCC_NONNULL(1, 2);
-<a name="l01029"></a>01029
-<a name="l01037"></a>01037 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsLogging.html#g6227362eb74ed67ad53ec20e40b9b7bf">cp_log</a>(cp_context_t *ctx, cp_log_severity_t severity, const <span class="keywordtype">char</span> *msg) CP_GCC_NONNULL(1, 3);
-<a name="l01038"></a>01038
-<a name="l01046"></a>01046 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">int</span> <a class="code" href="group__cFuncsLogging.html#g16486c754d76d388e0f4c205668c7187">cp_is_logged</a>(cp_context_t *ctx, cp_log_severity_t severity) CP_GCC_NONNULL(1);
-<a name="l01047"></a>01047
-<a name="l01059"></a>01059
-<a name="l01076"></a>01076 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a> * <a class="code" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cp_load_plugin_descriptor</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *path, cp_status_t *status) CP_GCC_NONNULL(1, 2);
-<a name="l01077"></a>01077
-<a name="l01094"></a>01094 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsPlugin.html#gc862fd9be2bad2e0dfaafa6216ad34d4">cp_install_plugin</a>(cp_context_t *ctx, <a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a> *pi) CP_GCC_NONNULL(1, 2);
-<a name="l01095"></a>01095
-<a name="l01119"></a>01119 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a>(cp_context_t *ctx, <span class="keywordtype">int</span> flags) CP_GCC_NONNULL(1);
-<a name="l01120"></a>01120
-<a name="l01133"></a>01133 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsPlugin.html#g2456b7740351c2530376ffb3a5ab7d92">cp_start_plugin</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *<span class="keywordtype">id</span>) CP_GCC_NONNULL(1, 2);
-<a name="l01134"></a>01134
-<a name="l01147"></a>01147 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsPlugin.html#g7bdc861d480c6c9addafbb0f481323fa">cp_stop_plugin</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *<span class="keywordtype">id</span>) CP_GCC_NONNULL(1, 2);
-<a name="l01148"></a>01148
-<a name="l01154"></a>01154 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsPlugin.html#g4dec7d61518adfa01da3f2892eaea20a">cp_stop_plugins</a>(cp_context_t *ctx) CP_GCC_NONNULL(1);
-<a name="l01155"></a>01155
-<a name="l01164"></a>01164 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsPlugin.html#g2249552dc67bb7893f81babee4a27454">cp_uninstall_plugin</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *<span class="keywordtype">id</span>) CP_GCC_NONNULL(1, 2);
-<a name="l01165"></a>01165
-<a name="l01172"></a>01172 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsPlugin.html#g01a607d9ae7f9fdb7e91a1845b0e5e99">cp_uninstall_plugins</a>(cp_context_t *ctx) CP_GCC_NONNULL(1);
-<a name="l01173"></a>01173
-<a name="l01186"></a>01186
-<a name="l01200"></a>01200 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a> * <a class="code" href="group__cFuncsPluginInfo.html#g4aba19886c68b2a3c1508c3b66110c12">cp_get_plugin_info</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *<span class="keywordtype">id</span>, cp_status_t *status) CP_GCC_NONNULL(1);
-<a name="l01201"></a>01201
-<a name="l01214"></a>01214 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <a class="code" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a> ** <a class="code" href="group__cFuncsPluginInfo.html#g015373cf40c08ea4a346a1bac5656fb1">cp_get_plugins_info</a>(cp_context_t *ctx, cp_status_t *status, <span class="keywordtype">int</span> *num) CP_GCC_NONNULL(1);
-<a name="l01215"></a>01215
-<a name="l01228"></a>01228 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <a class="code" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">cp_ext_point_t</a> ** <a class="code" href="group__cFuncsPluginInfo.html#g5fb5797d8d84e03275070666dc60a02d">cp_get_ext_points_info</a>(cp_context_t *ctx, cp_status_t *status, <span class="keywordtype">int</span> *num) CP_GCC_NONNULL(1);
-<a name="l01229"></a>01229
-<a name="l01243"></a>01243 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <a class="code" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">cp_extension_t</a> ** <a class="code" href="group__cFuncsPluginInfo.html#gc4321531959bb053be7698139b0ae168">cp_get_extensions_info</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *extpt_id, cp_status_t *status, <span class="keywordtype">int</span> *num) CP_GCC_NONNULL(1);
-<a name="l01244"></a>01244
-<a name="l01255"></a>01255 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cp_release_info</a>(cp_context_t *ctx, <span class="keywordtype">void</span> *info) CP_GCC_NONNULL(1, 2);
-<a name="l01256"></a>01256
-<a name="l01265"></a>01265 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_plugin_state_t <a class="code" href="group__cFuncsPluginInfo.html#g926489fc366d412cd272ec4bfefe22e5">cp_get_plugin_state</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *<span class="keywordtype">id</span>) CP_GCC_NONNULL(1, 2);
-<a name="l01266"></a>01266
-<a name="l01280"></a>01280 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cp_register_plistener</a>(cp_context_t *ctx, <a class="code" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> listener, <span class="keywordtype">void</span> *user_data) CP_GCC_NONNULL(1, 2);
-<a name="l01281"></a>01281
-<a name="l01289"></a>01289 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e">cp_unregister_plistener</a>(cp_context_t *ctx, <a class="code" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> listener) CP_GCC_NONNULL(1, 2);
-<a name="l01290"></a>01290
-<a name="l01304"></a>01304 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a> * <a class="code" href="group__cFuncsPluginInfo.html#g9868077c72df950607e2698153d593d1">cp_lookup_cfg_element</a>(<a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a> *base, const <span class="keywordtype">char</span> *path) CP_GCC_PURE CP_GCC_NONNULL(1, 2);
-<a name="l01305"></a>01305
-<a name="l01322"></a>01322 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">char</span> * <a class="code" href="group__cFuncsPluginInfo.html#g13f5121ab21951d59d3c6b985ed6adcd">cp_lookup_cfg_value</a>(<a class="code" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a> *base, const <span class="keywordtype">char</span> *path) CP_GCC_PURE CP_GCC_NONNULL(1, 2);
-<a name="l01323"></a>01323
-<a name="l01351"></a>01351
-<a name="l01365"></a>01365 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cp_run_function</a>(cp_context_t *ctx, <a class="code" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a> runfunc) CP_GCC_NONNULL(1, 2);
-<a name="l01366"></a>01366
-<a name="l01376"></a>01376 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cp_run_plugins</a>(cp_context_t *ctx) CP_GCC_NONNULL(1);
-<a name="l01377"></a>01377
-<a name="l01389"></a>01389 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">int</span> <a class="code" href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929">cp_run_plugins_step</a>(cp_context_t *ctx) CP_GCC_NONNULL(1);
-<a name="l01390"></a>01390
-<a name="l01405"></a>01405 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4">cp_set_context_args</a>(cp_context_t *ctx, <span class="keywordtype">char</span> **argv) CP_GCC_NONNULL(1, 2);
-<a name="l01406"></a>01406
-<a name="l01418"></a>01418 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">char</span> **<a class="code" href="group__cFuncsPluginExec.html#g08929433446b28f8fce8b8beae0e742a">cp_get_context_args</a>(cp_context_t *ctx, <span class="keywordtype">int</span> *argc) CP_GCC_NONNULL(1);
-<a name="l01419"></a>01419
-<a name="l01432"></a>01432
-<a name="l01445"></a>01445 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> cp_status_t <a class="code" href="group__cFuncsSymbols.html#g9d128b52c0ffe2d4215026fe59f9abeb">cp_define_symbol</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *name, <span class="keywordtype">void</span> *ptr) CP_GCC_NONNULL(1, 2, 3);
-<a name="l01446"></a>01446
-<a name="l01477"></a>01477 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> *<a class="code" href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7">cp_resolve_symbol</a>(cp_context_t *ctx, const <span class="keywordtype">char</span> *<span class="keywordtype">id</span>, const <span class="keywordtype">char</span> *name, cp_status_t *status) CP_GCC_NONNULL(1, 2, 3);
-<a name="l01478"></a>01478
-<a name="l01488"></a>01488 <a class="code" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a> <span class="keywordtype">void</span> <a class="code" href="group__cFuncsSymbols.html#g150629125a61ac9fa4e2095b0d9c7e57">cp_release_symbol</a>(cp_context_t *ctx, const <span class="keywordtype">void</span> *ptr) CP_GCC_NONNULL(1, 2);
-<a name="l01489"></a>01489
-<a name="l01493"></a>01493 <span class="preprocessor">#ifdef __cplusplus</span>
-<a name="l01494"></a>01494 <span class="preprocessor"></span>}
-<a name="l01495"></a>01495 <span class="preprocessor">#endif </span><span class="comment">/*__cplusplus*/</span>
-<a name="l01496"></a>01496
-<a name="l01497"></a>01497 <span class="preprocessor">#endif </span><span class="comment">/*CPLUFF_H_*/</span>
-</pre></div><hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/cpluff_8h.html b/lib/cpluff/doc/reference/c-api/cpluff_8h.html
deleted file mode 100644
index b6bfb35f6c..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluff_8h.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cpluff.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<h1>cpluff.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-C-Pluff C API header file.
-<p>
-The elements declared here constitute the C-Pluff C API. To use the API include this file and link the main program and plug-in runtime libraries with the C-Pluff C library. In addition to local declarations, this file also includes <a class="el" href="cpluffdef_8h.html">cpluffdef.h</a> header file for defines common to C and C++ API.
-<p>
-
-<p>
-Include dependency graph for cpluff.h:<p><center><img src="cpluff_8h__incl.png" border="0" usemap="#cpluff.h_map" alt=""></center>
-<map name="cpluff.h_map">
-<area href="cpluffdef_8h.html" shape="rect" coords="125,6,219,30" alt="">
-</map>
-
-<p>
-<a href="cpluff_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plug-in information structure captures information about a plug-in. <a href="structcp__plugin__info__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Information about plug-in import. <a href="structcp__plugin__import__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension point structure captures information about an extension point. <a href="structcp__ext__point__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__extension__t.html">cp_extension_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension structure captures information about an extension. <a href="structcp__extension__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A configuration element contains configuration information for an extension. <a href="structcp__cfg__element__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Container for plug-in runtime information. <a href="structcp__plugin__runtime__t.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Marks a symbol declaration to be part of the C-Pluff C API. <a href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html#g1d4b72334d60f1401e6616da54e4d6f1">CP_SP_UPGRADE</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flag enables upgrades of installed plug-ins by unloading the old version and installing the new version. <a href="group__cScanFlags.html#g1d4b72334d60f1401e6616da54e4d6f1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html#g72cdcd1181d60fd3caf5d0e0dd59c33c">CP_SP_STOP_ALL_ON_UPGRADE</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flag causes all plug-ins to be stopped before any plug-ins are to be upgraded. <a href="group__cScanFlags.html#g72cdcd1181d60fd3caf5d0e0dd59c33c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html#gb5996fbc57c7ec3bb538bc80a3ebfc40">CP_SP_STOP_ALL_ON_INSTALL</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flag causes all plug-ins to be stopped before any plugins are to be installed (also if new version is to be installed as part of an upgrade). <a href="group__cScanFlags.html#gb5996fbc57c7ec3bb538bc80a3ebfc40"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html#g7ca04507561932ae293e81c3636768b7">CP_SP_RESTART_ACTIVE</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setting this flag causes the currently active plug-ins to be restarted after all changes to the plug-ins have been made (if they were stopped). <a href="group__cScanFlags.html#g7ca04507561932ae293e81c3636768b7"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A plug-in context represents the co-operation environment of a set of plug-ins from the perspective of a particular participating plug-in or the perspective of the main program. <a href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> structure. <a href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018">cp_plugin_import_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a> structure. <a href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">cp_ext_point_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a> structure. <a href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__extension__t.html">cp_extension_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">cp_extension_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__extension__t.html">cp_extension_t</a> structure. <a href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> structure. <a href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#gca5d98d242f7c005f04b00bf77d1882e">cp_plugin_runtime_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a> structure. <a href="group__cTypedefsShorthand.html#gca5d98d242f7c005f04b00bf77d1882e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#g53b128f964c24169c758a0c60248d602">cp_status_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for cp_status_t enumeration. <a href="group__cTypedefsShorthand.html#g53b128f964c24169c758a0c60248d602"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#g026780097ccf13e9896f2d4759aa642e">cp_plugin_state_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for cp_plugin_state_t enumeration. <a href="group__cTypedefsShorthand.html#g026780097ccf13e9896f2d4759aa642e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#gfa3a21d1af3332cab04867d6f1b0b076">cp_log_severity_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for cp_log_severity_t enumeration. <a href="group__cTypedefsShorthand.html#gfa3a21d1af3332cab04867d6f1b0b076"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> (const char *plugin_id, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> old_state, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> new_state, void *user_data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A listener function called synchronously after a plugin state change. <a href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> (<a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity, const char *msg, const char *apid, void *user_data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A logger function called to log selected plug-in framework messages. <a href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a> (const char *msg)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fatal error handler for handling unrecoverable errors. <a href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a> (void *plugin_data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A run function registered by a plug-in to perform work. <a href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> = 0,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950">CP_ERR_RESOURCE</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e">CP_ERR_UNKNOWN</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da2993572d373d8cc61f9655c10fbeefa5">CP_ERR_IO</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dadc486f602f89493e882cde6a364de0b7">CP_ERR_MALFORMED</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dab07cfdc96a5dbc3a3e359bae2534c9d2">CP_ERR_CONFLICT</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da068a07ac79fdc33dc0c47d14c37005f6">CP_ERR_DEPENDENCY</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dae9eb8fc6b508a70eae974760d8be07aa">CP_ERR_RUNTIME</a>
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An enumeration of status codes returned by API functions. <a href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325290eacd4f02fb7d65eaf68f7251a99689">CP_PLUGIN_UNINSTALLED</a>,
-<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32521c91e4bef84a1d924456fb268a1d848b">CP_PLUGIN_INSTALLED</a>,
-<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325275596c790e344583d117d3c6bb4252bd">CP_PLUGIN_RESOLVED</a>,
-<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32522c6ca0c8d90c3acb01e336ce1711540c">CP_PLUGIN_STARTING</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32525aafd09bec81bb2bedfd7bfc8643051c">CP_PLUGIN_STOPPING</a>,
-<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b3252953ad85aee24006f4a5079bfca73eb9f">CP_PLUGIN_ACTIVE</a>
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An enumeration of possible plug-in states. <a href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> { <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb22e3ccb1789e1f0ea3b35e1682fe8af8">CP_LOG_DEBUG</a>,
-<a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebcdb069d62e546b005ae6a81e6cdb0333">CP_LOG_INFO</a>,
-<a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb26a8a8c987042689e5018e481d235ee0">CP_LOG_WARNING</a>,
-<a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebd99d2bd1dbae181f9a41e90e6bf8d14e">CP_LOG_ERROR</a>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An enumeration of possible message severities for framework logging. <a href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsFrameworkInfo.html#g5783cc2485fb87c487b524c2d0fcd702">cp_get_version</a> (void)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the release version string of the linked in C-Pluff implementation. <a href="group__cFuncsFrameworkInfo.html#g5783cc2485fb87c487b524c2d0fcd702"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsFrameworkInfo.html#gd44dbf4f97f511f9f4df3f9fdbe6e865">cp_get_host_type</a> (void)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the canonical host type associated with the linked in C-Pluff implementation. <a href="group__cFuncsFrameworkInfo.html#gd44dbf4f97f511f9f4df3f9fdbe6e865"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a> (<a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a> error_handler)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the fatal error handler called on non-recoverable errors. <a href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cp_init</a> (void)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the plug-in framework. <a href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsInit.html#g8dfbe51a3b7f23368a4ddf0d9987180e">cp_destroy</a> (void)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the plug-in framework and releases the resources used by it. <a href="group__cFuncsInit.html#g8dfbe51a3b7f23368a4ddf0d9987180e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62">cp_create_context</a> (<a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new plug-in context which can be used as a container for plug-ins. <a href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g754ff895992fab0aae81a09c727e5868">cp_destroy_context</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the specified plug-in context and releases the associated resources. <a href="group__cFuncsContext.html#g754ff895992fab0aae81a09c727e5868"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cp_register_pcollection</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *dir)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a plug-in collection with a plug-in context. <a href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g59817fdae1aeb28dbc7d3dcfc5568c15">cp_unregister_pcollection</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *dir)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregisters a previously registered plug-in collection from a plug-in context. <a href="group__cFuncsContext.html#g59817fdae1aeb28dbc7d3dcfc5568c15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g0473208ccfde69e0c57ec1f2b4789781">cp_unregister_pcollections</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregisters all plug-in collections from a plug-in context. <a href="group__cFuncsContext.html#g0473208ccfde69e0c57ec1f2b4789781"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff">cp_register_logger</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> logger, void *user_data, <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> min_severity)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a logger with a plug-in context or updates the settings of a registered logger. <a href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html#g206e88cf84739ff2a0ee6e6925ca5ed8">cp_unregister_logger</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> logger)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a logger registration. <a href="group__cFuncsLogging.html#g206e88cf84739ff2a0ee6e6925ca5ed8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html#g6227362eb74ed67ad53ec20e40b9b7bf">cp_log</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity, const char *msg)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emits a new log message. <a href="group__cFuncsLogging.html#g6227362eb74ed67ad53ec20e40b9b7bf"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html#g16486c754d76d388e0f4c205668c7187">cp_is_logged</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether a message of the specified severity would get logged. <a href="group__cFuncsLogging.html#g16486c754d76d388e0f4c205668c7187"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cp_load_plugin_descriptor</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *path, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads a plug-in descriptor from the specified plug-in installation path and returns information about the plug-in. <a href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#gc862fd9be2bad2e0dfaafa6216ad34d4">cp_install_plugin</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *pi)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Installs the plug-in described by the specified plug-in information structure to the specified plug-in context. <a href="group__cFuncsPlugin.html#gc862fd9be2bad2e0dfaafa6216ad34d4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, int flags)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scans for plug-ins in the registered plug-in directories, installing new plug-ins and upgrading installed plug-ins. <a href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g2456b7740351c2530376ffb3a5ab7d92">cp_start_plugin</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starts a plug-in. <a href="group__cFuncsPlugin.html#g2456b7740351c2530376ffb3a5ab7d92"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g7bdc861d480c6c9addafbb0f481323fa">cp_stop_plugin</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stops a plug-in. <a href="group__cFuncsPlugin.html#g7bdc861d480c6c9addafbb0f481323fa"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g4dec7d61518adfa01da3f2892eaea20a">cp_stop_plugins</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stops all active plug-ins. <a href="group__cFuncsPlugin.html#g4dec7d61518adfa01da3f2892eaea20a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g2249552dc67bb7893f81babee4a27454">cp_uninstall_plugin</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uninstalls the specified plug-in. <a href="group__cFuncsPlugin.html#g2249552dc67bb7893f81babee4a27454"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g01a607d9ae7f9fdb7e91a1845b0e5e99">cp_uninstall_plugins</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uninstalls all plug-ins. <a href="group__cFuncsPlugin.html#g01a607d9ae7f9fdb7e91a1845b0e5e99"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g4aba19886c68b2a3c1508c3b66110c12">cp_get_plugin_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns static information about the specified plug-in. <a href="group__cFuncsPluginInfo.html#g4aba19886c68b2a3c1508c3b66110c12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g015373cf40c08ea4a346a1bac5656fb1">cp_get_plugins_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status, int *num)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns static information about the installed plug-ins. <a href="group__cFuncsPluginInfo.html#g015373cf40c08ea4a346a1bac5656fb1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g5fb5797d8d84e03275070666dc60a02d">cp_get_ext_points_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status, int *num)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns static information about the currently installed extension points. <a href="group__cFuncsPluginInfo.html#g5fb5797d8d84e03275070666dc60a02d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__extension__t.html">cp_extension_t</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#gc4321531959bb053be7698139b0ae168">cp_get_extensions_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *extpt_id, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status, int *num)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns static information about the currently installed extension points. <a href="group__cFuncsPluginInfo.html#gc4321531959bb053be7698139b0ae168"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cp_release_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, void *info)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Releases a previously obtained reference counted information object. <a href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g926489fc366d412cd272ec4bfefe22e5">cp_get_plugin_state</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current state of the specified plug-in. <a href="group__cFuncsPluginInfo.html#g926489fc366d412cd272ec4bfefe22e5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cp_register_plistener</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> listener, void *user_data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a plug-in listener with a plug-in context. <a href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e">cp_unregister_plistener</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> listener)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a plug-in listener from a plug-in context. <a href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g9868077c72df950607e2698153d593d1">cp_lookup_cfg_element</a> (<a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *base, const char *path)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses a configuration element tree and returns the specified element. <a href="group__cFuncsPluginInfo.html#g9868077c72df950607e2698153d593d1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g13f5121ab21951d59d3c6b985ed6adcd">cp_lookup_cfg_value</a> (<a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *base, const char *path)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses a configuration element tree and returns the value of the specified element or attribute. <a href="group__cFuncsPluginInfo.html#g13f5121ab21951d59d3c6b985ed6adcd"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cp_run_function</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a> runfunc)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a new run function. <a href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cp_run_plugins</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs the started plug-ins as long as there is something to run. <a href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929">cp_run_plugins_step</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs one registered run function. <a href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4">cp_set_context_args</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, char **argv)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets startup arguments for the specified plug-in context. <a href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g08929433446b28f8fce8b8beae0e742a">cp_get_context_args</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, int *argc)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the startup arguments associated with the specified plug-in context. <a href="group__cFuncsPluginExec.html#g08929433446b28f8fce8b8beae0e742a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsSymbols.html#g9d128b52c0ffe2d4215026fe59f9abeb">cp_define_symbol</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *name, void *ptr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines a context specific symbol. <a href="group__cFuncsSymbols.html#g9d128b52c0ffe2d4215026fe59f9abeb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7">cp_resolve_symbol</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id, const char *name, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resolves a symbol provided by the specified plug-in. <a href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsSymbols.html#g150629125a61ac9fa4e2095b0d9c7e57">cp_release_symbol</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const void *ptr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Releases a previously obtained symbol. <a href="group__cFuncsSymbols.html#g150629125a61ac9fa4e2095b0d9c7e57"></a><br></td></tr>
-</table>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.map b/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.map
deleted file mode 100644
index 4bee628e49..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $cpluffdef_8h.html 125,6 219,30
diff --git a/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.md5 b/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.md5
deleted file mode 100644
index 24eee11730..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-04e67764e8c4d7feea7212175ba9155c \ No newline at end of file
diff --git a/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.png b/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.png
deleted file mode 100644
index 53cd9ed97c..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluff_8h__incl.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/cpluffdef_8h-source.html b/lib/cpluff/doc/reference/c-api/cpluffdef_8h-source.html
deleted file mode 100644
index 4366326894..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluffdef_8h-source.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cpluffdef.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<h1>cpluffdef.h</h1><a href="cpluffdef_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*-------------------------------------------------------------------------</span>
-<a name="l00002"></a>00002 <span class="comment"> * C-Pluff, a plug-in framework for C</span>
-<a name="l00003"></a>00003 <span class="comment"> * Copyright 2007 Johannes Lehtinen</span>
-<a name="l00004"></a>00004 <span class="comment"> * </span>
-<a name="l00005"></a>00005 <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a</span>
-<a name="l00006"></a>00006 <span class="comment"> * copy of this software and associated documentation files (the "Software"),</span>
-<a name="l00007"></a>00007 <span class="comment"> * to deal in the Software without restriction, including without limitation</span>
-<a name="l00008"></a>00008 <span class="comment"> * the rights to use, copy, modify, merge, publish, distribute, sublicense,</span>
-<a name="l00009"></a>00009 <span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the</span>
-<a name="l00010"></a>00010 <span class="comment"> * Software is furnished to do so, subject to the following conditions:</span>
-<a name="l00011"></a>00011 <span class="comment"> *</span>
-<a name="l00012"></a>00012 <span class="comment"> * The above copyright notice and this permission notice shall be included</span>
-<a name="l00013"></a>00013 <span class="comment"> * in all copies or substantial portions of the Software.</span>
-<a name="l00014"></a>00014 <span class="comment"> *</span>
-<a name="l00015"></a>00015 <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS</span>
-<a name="l00016"></a>00016 <span class="comment"> * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span>
-<a name="l00017"></a>00017 <span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.</span>
-<a name="l00018"></a>00018 <span class="comment"> * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY</span>
-<a name="l00019"></a>00019 <span class="comment"> * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,</span>
-<a name="l00020"></a>00020 <span class="comment"> * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE</span>
-<a name="l00021"></a>00021 <span class="comment"> * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span>
-<a name="l00022"></a>00022 <span class="comment"> *-----------------------------------------------------------------------*/</span>
-<a name="l00023"></a>00023
-<a name="l00030"></a>00030 <span class="preprocessor">#ifndef CPLUFFDEF_H_</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#define CPLUFFDEF_H_</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span>
-<a name="l00033"></a>00033
-<a name="l00034"></a>00034 <span class="comment">/* ------------------------------------------------------------------------</span>
-<a name="l00035"></a>00035 <span class="comment"> * Version information</span>
-<a name="l00036"></a>00036 <span class="comment"> * ----------------------------------------------------------------------*/</span>
-<a name="l00037"></a>00037
-<a name="l00047"></a>00047
-<a name="l00053"></a><a class="code" href="group__versionInfo.html#gec8f38d724eaff6c28e96f355e0a6a85">00053</a> <span class="preprocessor">#define CP_VERSION "0.1.3"</span>
-<a name="l00054"></a>00054 <span class="preprocessor"></span>
-<a name="l00059"></a><a class="code" href="group__versionInfo.html#gc02132b57a51a1c26ff6fb11dc046c04">00059</a> <span class="preprocessor">#define CP_VERSION_MAJOR 0</span>
-<a name="l00060"></a>00060 <span class="preprocessor"></span>
-<a name="l00065"></a><a class="code" href="group__versionInfo.html#g015d989acd6a013e84ea8696953172a8">00065</a> <span class="preprocessor">#define CP_VERSION_MINOR 1</span>
-<a name="l00066"></a>00066 <span class="preprocessor"></span>
-<a name="l00070"></a>00070 <span class="comment">/* ------------------------------------------------------------------------</span>
-<a name="l00071"></a>00071 <span class="comment"> * Symbol visibility</span>
-<a name="l00072"></a>00072 <span class="comment"> * ----------------------------------------------------------------------*/</span>
-<a name="l00073"></a>00073
-<a name="l00102"></a>00102
-<a name="l00137"></a>00137 <span class="preprocessor">#if defined(_WIN32)</span>
-<a name="l00138"></a>00138 <span class="preprocessor"></span><span class="preprocessor"># define CP_EXPORT __declspec(dllexport)</span>
-<a name="l00139"></a>00139 <span class="preprocessor"></span><span class="preprocessor"># define CP_IMPORT extern __declspec(dllimport)</span>
-<a name="l00140"></a>00140 <span class="preprocessor"></span><span class="preprocessor"># define CP_HIDDEN</span>
-<a name="l00141"></a>00141 <span class="preprocessor"></span><span class="preprocessor">#elif defined(__GNUC__) &amp;&amp; (__GNUC__ &gt; 3 || (__GNUC__ == 3 &amp;&amp; __GNUC_MINOR__ &gt;= 3))</span>
-<a name="l00142"></a>00142 <span class="preprocessor"></span><span class="preprocessor"># define CP_EXPORT</span>
-<a name="l00143"></a>00143 <span class="preprocessor"></span><span class="preprocessor"># define CP_IMPORT extern</span>
-<a name="l00144"></a>00144 <span class="preprocessor"></span><span class="preprocessor"># define CP_HIDDEN __attribute__ ((visibility ("hidden")))</span>
-<a name="l00145"></a>00145 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00146"></a><a class="code" href="group__symbolVisibility.html#ga2e3768d73167e12c2330e4b96bcbd70">00146</a> <span class="preprocessor"></span><span class="preprocessor"># define CP_EXPORT</span>
-<a name="l00147"></a><a class="code" href="group__symbolVisibility.html#gb44eb8224723b45a1c909177bdd7bc32">00147</a> <span class="preprocessor"></span><span class="preprocessor"># define CP_IMPORT extern</span>
-<a name="l00148"></a><a class="code" href="group__symbolVisibility.html#gf58571664980e1a0d2b0bee413296492">00148</a> <span class="preprocessor"></span><span class="preprocessor"># define CP_HIDDEN</span>
-<a name="l00149"></a>00149 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00150"></a>00150 <span class="preprocessor"></span>
-<a name="l00154"></a>00154 <span class="comment">/* ------------------------------------------------------------------------</span>
-<a name="l00155"></a>00155 <span class="comment"> * GCC attributes</span>
-<a name="l00156"></a>00156 <span class="comment"> * ----------------------------------------------------------------------*/</span>
-<a name="l00157"></a>00157
-<a name="l00168"></a>00168
-<a name="l00187"></a>00187 <span class="preprocessor">#if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt;= 96)</span>
-<a name="l00188"></a>00188 <span class="preprocessor"></span><span class="preprocessor">#define CP_GCC_PURE __attribute__((pure))</span>
-<a name="l00189"></a>00189 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00190"></a><a class="code" href="group__cDefinesGCCAttributes.html#g97e63f6bd1007545853c6ab4d0271e43">00190</a> <span class="preprocessor"></span><span class="preprocessor">#define CP_GCC_PURE</span>
-<a name="l00191"></a>00191 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00192"></a>00192 <span class="preprocessor"></span><span class="preprocessor">#if __GNUC__ &gt; 3 || (__GNUC__ == 3 &amp;&amp; __GNUC_MINOR__ &gt;= 3)</span>
-<a name="l00193"></a>00193 <span class="preprocessor"></span><span class="preprocessor">#define CP_GCC_NONNULL(...) __attribute__((nonnull (__VA_ARGS__)))</span>
-<a name="l00194"></a>00194 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00195"></a><a class="code" href="group__cDefinesGCCAttributes.html#gca94f5f75abdc0d1c78572d95305c800">00195</a> <span class="preprocessor"></span><span class="preprocessor">#define CP_GCC_NONNULL(...)</span>
-<a name="l00196"></a>00196 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00197"></a>00197 <span class="preprocessor"></span>
-<a name="l00200"></a>00200 <span class="preprocessor">#endif </span><span class="comment">/*CPLUFFDEF_H_*/</span>
-</pre></div><hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/cpluffdef_8h.html b/lib/cpluff/doc/reference/c-api/cpluffdef_8h.html
deleted file mode 100644
index 9d26fa883d..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluffdef_8h.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cpluffdef.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<h1>cpluffdef.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Common defines shared by C-Pluff C and C++ APIs.
-<p>
-This file is automatically included by the top level C and C++ API header files. There should be no need to include it explicitly.
-<p>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="cpluffdef_8h__dep__incl.png" border="0" usemap="#cpluffdef.hdep_map" alt=""></center>
-<map name="cpluffdef.hdep_map">
-<area href="cpluff_8h.html" shape="rect" coords="147,6,219,30" alt="">
-</map>
-
-<p>
-<a href="cpluffdef_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__versionInfo.html#gec8f38d724eaff6c28e96f355e0a6a85">CP_VERSION</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The C-Pluff release version string. <a href="group__versionInfo.html#gec8f38d724eaff6c28e96f355e0a6a85"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__versionInfo.html#gc02132b57a51a1c26ff6fb11dc046c04">CP_VERSION_MAJOR</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The major version number component of the release version. <a href="group__versionInfo.html#gc02132b57a51a1c26ff6fb11dc046c04"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__versionInfo.html#g015d989acd6a013e84ea8696953172a8">CP_VERSION_MINOR</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The minor version number component of the release version. <a href="group__versionInfo.html#g015d989acd6a013e84ea8696953172a8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__symbolVisibility.html#ga2e3768d73167e12c2330e4b96bcbd70">CP_EXPORT</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a symbol to be exported for inter-module usage. <a href="group__symbolVisibility.html#ga2e3768d73167e12c2330e4b96bcbd70"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__symbolVisibility.html#gb44eb8224723b45a1c909177bdd7bc32">CP_IMPORT</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a symbol to be imported from another module. <a href="group__symbolVisibility.html#gb44eb8224723b45a1c909177bdd7bc32"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__symbolVisibility.html#gf58571664980e1a0d2b0bee413296492">CP_HIDDEN</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a symbol hidden from other modules. <a href="group__symbolVisibility.html#gf58571664980e1a0d2b0bee413296492"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html#g97e63f6bd1007545853c6ab4d0271e43">CP_GCC_PURE</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a function as pure function having no side effects. <a href="group__cDefinesGCCAttributes.html#g97e63f6bd1007545853c6ab4d0271e43"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html#gca94f5f75abdc0d1c78572d95305c800">CP_GCC_NONNULL</a>(...)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specifies that some pointer arguments to a function should have non-NULL values. <a href="group__cDefinesGCCAttributes.html#gca94f5f75abdc0d1c78572d95305c800"></a><br></td></tr>
-</table>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.map b/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.map
deleted file mode 100644
index 59268dafc7..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $cpluff_8h.html 147,6 219,30
diff --git a/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.md5 b/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.md5
deleted file mode 100644
index 8990b32302..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-488c91cb6b7500f359b44534cf06d2ab \ No newline at end of file
diff --git a/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.png b/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.png
deleted file mode 100644
index 1c89835701..0000000000
--- a/lib/cpluff/doc/reference/c-api/cpluffdef_8h__dep__incl.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/doxygen.css b/lib/cpluff/doc/reference/c-api/doxygen.css
deleted file mode 100644
index 19941d4625..0000000000
--- a/lib/cpluff/doc/reference/c-api/doxygen.css
+++ /dev/null
@@ -1,360 +0,0 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
- font-family: Geneva, Arial, Helvetica, sans-serif;
-}
-BODY,TD {
- font-size: 90%;
-}
-H1 {
- text-align: center;
- font-size: 160%;
-}
-H2 {
- font-size: 120%;
-}
-H3 {
- font-size: 100%;
-}
-CAPTION { font-weight: bold }
-DIV.qindex {
- width: 100%;
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
-}
-DIV.nav {
- width: 100%;
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
-}
-DIV.navtab {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-TD.navtab {
- font-size: 70%;
-}
-A.qindex {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D;
-}
-A.qindex:visited {
- text-decoration: none;
- font-weight: bold;
- color: #1A419D
-}
-A.qindex:hover {
- text-decoration: none;
- background-color: #ddddff;
-}
-A.qindexHL {
- text-decoration: none;
- font-weight: bold;
- background-color: #6666cc;
- color: #ffffff;
- border: 1px double #9295C2;
-}
-A.qindexHL:hover {
- text-decoration: none;
- background-color: #6666cc;
- color: #ffffff;
-}
-A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
-A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
-A.codeRef:link { font-weight: normal; color: #0000FF}
-A.codeRef:visited { font-weight: normal; color: #0000FF}
-A:hover { text-decoration: none; background-color: #f2f2ff }
-DL.el { margin-left: -1cm }
-.fragment {
- font-family: monospace, fixed;
- font-size: 95%;
-}
-PRE.fragment {
- border: 1px solid #CCCCCC;
- background-color: #f5f5f5;
- margin-top: 4px;
- margin-bottom: 4px;
- margin-left: 2px;
- margin-right: 8px;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-
-DIV.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
-}
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
-BODY {
- background: white;
- color: black;
- margin-right: 20px;
- margin-left: 20px;
-}
-TD.indexkey {
- background-color: #e8eef2;
- font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TD.indexvalue {
- background-color: #e8eef2;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TR.memlist {
- background-color: #f0f0f0;
-}
-P.formulaDsp { text-align: center; }
-IMG.formulaDsp { }
-IMG.formulaInl { vertical-align: middle; }
-SPAN.keyword { color: #008000 }
-SPAN.keywordtype { color: #604020 }
-SPAN.keywordflow { color: #e08000 }
-SPAN.comment { color: #800000 }
-SPAN.preprocessor { color: #806020 }
-SPAN.stringliteral { color: #002080 }
-SPAN.charliteral { color: #008080 }
-.mdescLeft {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
-}
-.mdescRight {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
-}
-.memItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplParams {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- color: #606060;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.search { color: #003399;
- font-weight: bold;
-}
-FORM.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-INPUT.search { font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-TD.tiny { font-size: 75%;
-}
-a {
- color: #1A41A8;
-}
-a:visited {
- color: #2A3798;
-}
-.dirtab { padding: 4px;
- border-collapse: collapse;
- border: 1px solid #84b0c7;
-}
-TH.dirtab { background: #e8eef2;
- font-weight: bold;
-}
-HR { height: 1px;
- border: none;
- border-top: 1px solid black;
-}
-
-/* Style for detailed member documentation */
-.memtemplate {
- font-size: 80%;
- color: #606060;
- font-weight: normal;
-}
-.memnav {
- background-color: #e8eef2;
- border: 1px solid #84b0c7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-.memitem {
- padding: 4px;
- background-color: #eef3f5;
- border-width: 1px;
- border-style: solid;
- border-color: #dedeee;
- -moz-border-radius: 8px 8px 8px 8px;
-}
-.memname {
- white-space: nowrap;
- font-weight: bold;
-}
-.memdoc{
- padding-left: 10px;
-}
-.memproto {
- background-color: #d5e1e8;
- width: 100%;
- border-width: 1px;
- border-style: solid;
- border-color: #84b0c7;
- font-weight: bold;
- -moz-border-radius: 8px 8px 8px 8px;
-}
-.paramkey {
- text-align: right;
-}
-.paramtype {
- white-space: nowrap;
-}
-.paramname {
- color: #602020;
- font-style: italic;
- white-space: nowrap;
-}
-/* End Styling for detailed member documentation */
-
-/* for the tree view */
-.ftvtree {
- font-family: sans-serif;
- margin:0.5em;
-}
-.directory { font-size: 9pt; font-weight: bold; }
-.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
-.directory > h3 { margin-top: 0; }
-.directory p { margin: 0px; white-space: nowrap; }
-.directory div { display: none; margin: 0px; }
-.directory img { vertical-align: -30%; }
-P.footer { font-size: smaller; text-align: center; }
-P.generated-by { font-size: smaller; font-style: italic; text-align: right; }
diff --git a/lib/cpluff/doc/reference/c-api/doxygen.png b/lib/cpluff/doc/reference/c-api/doxygen.png
deleted file mode 100644
index f0a274bbaf..0000000000
--- a/lib/cpluff/doc/reference/c-api/doxygen.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/files.html b/lib/cpluff/doc/reference/c-api/files.html
deleted file mode 100644
index 8866d86ed0..0000000000
--- a/lib/cpluff/doc/reference/c-api/files.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: File Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li id="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<h1>C-Pluff C API File List</h1>Here is a list of all documented files with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="cpluff_8h.html">cpluff.h</a> <a href="cpluff_8h-source.html">[code]</a></td><td class="indexvalue">C-Pluff C API header file </td></tr>
- <tr><td class="indexkey"><a class="el" href="cpluffdef_8h.html">cpluffdef.h</a> <a href="cpluffdef_8h-source.html">[code]</a></td><td class="indexvalue">Common defines shared by C-Pluff C and C++ APIs </td></tr>
-</table>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/functions.html b/lib/cpluff/doc/reference/c-api/functions.html
deleted file mode 100644
index 7c05490642..0000000000
--- a/lib/cpluff/doc/reference/c-api/functions.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Data Fields</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li id="current"><a href="functions.html"><span>All</span></a></li>
- <li><a href="functions_vars.html"><span>Variables</span></a></li>
- </ul>
-</div>
-<div class="tabs">
- <ul>
- <li><a href="#index_a"><span>a</span></a></li>
- <li><a href="#index_c"><span>c</span></a></li>
- <li><a href="#index_d"><span>d</span></a></li>
- <li><a href="#index_e"><span>e</span></a></li>
- <li><a href="#index_i"><span>i</span></a></li>
- <li><a href="#index_l"><span>l</span></a></li>
- <li><a href="#index_n"><span>n</span></a></li>
- <li><a href="#index_o"><span>o</span></a></li>
- <li><a href="#index_p"><span>p</span></a></li>
- <li><a href="#index_r"><span>r</span></a></li>
- <li><a href="#index_s"><span>s</span></a></li>
- <li><a href="#index_v"><span>v</span></a></li>
- </ul>
-</div>
-
-<p>
-Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>abi_bw_compatibility
-: <a class="el" href="structcp__plugin__info__t.html#80147b4cbaeac68ad7a02dfe9c732e43">cp_plugin_info_t</a>
-<li>api_bw_compatibility
-: <a class="el" href="structcp__plugin__info__t.html#a0db42bb2a075c5804c0aeecfab567d8">cp_plugin_info_t</a>
-<li>atts
-: <a class="el" href="structcp__cfg__element__t.html#719b3d0c1369478044ce59dc2f207c21">cp_cfg_element_t</a>
-</ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>children
-: <a class="el" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">cp_cfg_element_t</a>
-<li>configuration
-: <a class="el" href="structcp__extension__t.html#a745fad14a2300fd48e55c33f580f91b">cp_extension_t</a>
-<li>create
-: <a class="el" href="structcp__plugin__runtime__t.html#f193bb8481e4b6aeab275fa5908a9af9">cp_plugin_runtime_t</a>
-</ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>destroy
-: <a class="el" href="structcp__plugin__runtime__t.html#cc37619ea5a3ff4e39e53b9ce0e7ed4f">cp_plugin_runtime_t</a>
-</ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>ext_point_id
-: <a class="el" href="structcp__extension__t.html#9fe304775bea17eeba3c3fd734d1e4bc">cp_extension_t</a>
-<li>ext_points
-: <a class="el" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">cp_plugin_info_t</a>
-<li>extensions
-: <a class="el" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">cp_plugin_info_t</a>
-</ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>identifier
-: <a class="el" href="structcp__plugin__info__t.html#f5351a0143adaf16c64b881aee01d893">cp_plugin_info_t</a>
-, <a class="el" href="structcp__extension__t.html#f5351a0143adaf16c64b881aee01d893">cp_extension_t</a>
-, <a class="el" href="structcp__ext__point__t.html#f5351a0143adaf16c64b881aee01d893">cp_ext_point_t</a>
-<li>imports
-: <a class="el" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">cp_plugin_info_t</a>
-<li>index
-: <a class="el" href="structcp__cfg__element__t.html#589d64202487f78e3cc30dd2e04c5201">cp_cfg_element_t</a>
-</ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>local_id
-: <a class="el" href="structcp__extension__t.html#eb234b64f623fd6c2bcbbc98bacb99ce">cp_extension_t</a>
-</ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>name
-: <a class="el" href="structcp__plugin__info__t.html#5ac083a645d964373f022d03df4849c8">cp_plugin_info_t</a>
-, <a class="el" href="structcp__ext__point__t.html#5ac083a645d964373f022d03df4849c8">cp_ext_point_t</a>
-, <a class="el" href="structcp__extension__t.html#5ac083a645d964373f022d03df4849c8">cp_extension_t</a>
-, <a class="el" href="structcp__cfg__element__t.html#5ac083a645d964373f022d03df4849c8">cp_cfg_element_t</a>
-<li>num_atts
-: <a class="el" href="structcp__cfg__element__t.html#b6eced8675261543cd28efea6c7a0fa4">cp_cfg_element_t</a>
-<li>num_children
-: <a class="el" href="structcp__cfg__element__t.html#b7c9e81d106b95f54ff71b9096ba5dc6">cp_cfg_element_t</a>
-<li>num_ext_points
-: <a class="el" href="structcp__plugin__info__t.html#845440eb771d52a4b271bfbd48fcb7ec">cp_plugin_info_t</a>
-<li>num_extensions
-: <a class="el" href="structcp__plugin__info__t.html#5774f2b85864891690291909ecbbf819">cp_plugin_info_t</a>
-<li>num_imports
-: <a class="el" href="structcp__plugin__info__t.html#bca19d2e4af3752ceb056d638321b894">cp_plugin_info_t</a>
-</ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>optional
-: <a class="el" href="structcp__plugin__import__t.html#69b1249c974e922ecdd066c43dc91f88">cp_plugin_import_t</a>
-</ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>parent
-: <a class="el" href="structcp__cfg__element__t.html#8c99879f94f30ed01e0b76847ab11237">cp_cfg_element_t</a>
-<li>plugin
-: <a class="el" href="structcp__extension__t.html#e498b24942e6fdd73ce6c22505549680">cp_extension_t</a>
-, <a class="el" href="structcp__ext__point__t.html#e498b24942e6fdd73ce6c22505549680">cp_ext_point_t</a>
-<li>plugin_id
-: <a class="el" href="structcp__plugin__import__t.html#29da905aeb4da90dae48b2aa19f5cc62">cp_plugin_import_t</a>
-<li>plugin_path
-: <a class="el" href="structcp__plugin__info__t.html#bfb5abdafe1c5db02dcd2922b32be4e6">cp_plugin_info_t</a>
-<li>provider_name
-: <a class="el" href="structcp__plugin__info__t.html#8bf76789248b4737d6a9a1175ceadca5">cp_plugin_info_t</a>
-</ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>req_cpluff_version
-: <a class="el" href="structcp__plugin__info__t.html#8b1942a723f6a68c9afad9e52b7e78d1">cp_plugin_info_t</a>
-<li>runtime_funcs_symbol
-: <a class="el" href="structcp__plugin__info__t.html#3291d0de7ca4bbe510950be556641856">cp_plugin_info_t</a>
-<li>runtime_lib_name
-: <a class="el" href="structcp__plugin__info__t.html#e466145debd47625f99bbc780e8950ed">cp_plugin_info_t</a>
-</ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>schema_path
-: <a class="el" href="structcp__ext__point__t.html#2370171ff78694fa0871fd845ab3ad6f">cp_ext_point_t</a>
-<li>start
-: <a class="el" href="structcp__plugin__runtime__t.html#5a6c64e5d2467d67cf4dd2498639b490">cp_plugin_runtime_t</a>
-<li>stop
-: <a class="el" href="structcp__plugin__runtime__t.html#ede7dc51a6d9f47d0e21445dc952d5d4">cp_plugin_runtime_t</a>
-</ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>value
-: <a class="el" href="structcp__cfg__element__t.html#4e9aec275e566b978a3ccb4e043d8c61">cp_cfg_element_t</a>
-<li>version
-: <a class="el" href="structcp__plugin__info__t.html#56abfaab87c46691c1ef3ad0df23e864">cp_plugin_info_t</a>
-, <a class="el" href="structcp__plugin__import__t.html#56abfaab87c46691c1ef3ad0df23e864">cp_plugin_import_t</a>
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/functions_vars.html b/lib/cpluff/doc/reference/c-api/functions_vars.html
deleted file mode 100644
index 139601988e..0000000000
--- a/lib/cpluff/doc/reference/c-api/functions_vars.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Data Fields - Variables</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="functions.html"><span>All</span></a></li>
- <li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
- </ul>
-</div>
-<div class="tabs">
- <ul>
- <li><a href="#index_a"><span>a</span></a></li>
- <li><a href="#index_c"><span>c</span></a></li>
- <li><a href="#index_d"><span>d</span></a></li>
- <li><a href="#index_e"><span>e</span></a></li>
- <li><a href="#index_i"><span>i</span></a></li>
- <li><a href="#index_l"><span>l</span></a></li>
- <li><a href="#index_n"><span>n</span></a></li>
- <li><a href="#index_o"><span>o</span></a></li>
- <li><a href="#index_p"><span>p</span></a></li>
- <li><a href="#index_r"><span>r</span></a></li>
- <li><a href="#index_s"><span>s</span></a></li>
- <li><a href="#index_v"><span>v</span></a></li>
- </ul>
-</div>
-
-<p>
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>abi_bw_compatibility
-: <a class="el" href="structcp__plugin__info__t.html#80147b4cbaeac68ad7a02dfe9c732e43">cp_plugin_info_t</a>
-<li>api_bw_compatibility
-: <a class="el" href="structcp__plugin__info__t.html#a0db42bb2a075c5804c0aeecfab567d8">cp_plugin_info_t</a>
-<li>atts
-: <a class="el" href="structcp__cfg__element__t.html#719b3d0c1369478044ce59dc2f207c21">cp_cfg_element_t</a>
-</ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>children
-: <a class="el" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">cp_cfg_element_t</a>
-<li>configuration
-: <a class="el" href="structcp__extension__t.html#a745fad14a2300fd48e55c33f580f91b">cp_extension_t</a>
-<li>create
-: <a class="el" href="structcp__plugin__runtime__t.html#f193bb8481e4b6aeab275fa5908a9af9">cp_plugin_runtime_t</a>
-</ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>destroy
-: <a class="el" href="structcp__plugin__runtime__t.html#cc37619ea5a3ff4e39e53b9ce0e7ed4f">cp_plugin_runtime_t</a>
-</ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>ext_point_id
-: <a class="el" href="structcp__extension__t.html#9fe304775bea17eeba3c3fd734d1e4bc">cp_extension_t</a>
-<li>ext_points
-: <a class="el" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">cp_plugin_info_t</a>
-<li>extensions
-: <a class="el" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">cp_plugin_info_t</a>
-</ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>identifier
-: <a class="el" href="structcp__plugin__info__t.html#f5351a0143adaf16c64b881aee01d893">cp_plugin_info_t</a>
-, <a class="el" href="structcp__extension__t.html#f5351a0143adaf16c64b881aee01d893">cp_extension_t</a>
-, <a class="el" href="structcp__ext__point__t.html#f5351a0143adaf16c64b881aee01d893">cp_ext_point_t</a>
-<li>imports
-: <a class="el" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">cp_plugin_info_t</a>
-<li>index
-: <a class="el" href="structcp__cfg__element__t.html#589d64202487f78e3cc30dd2e04c5201">cp_cfg_element_t</a>
-</ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>local_id
-: <a class="el" href="structcp__extension__t.html#eb234b64f623fd6c2bcbbc98bacb99ce">cp_extension_t</a>
-</ul>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>name
-: <a class="el" href="structcp__plugin__info__t.html#5ac083a645d964373f022d03df4849c8">cp_plugin_info_t</a>
-, <a class="el" href="structcp__ext__point__t.html#5ac083a645d964373f022d03df4849c8">cp_ext_point_t</a>
-, <a class="el" href="structcp__extension__t.html#5ac083a645d964373f022d03df4849c8">cp_extension_t</a>
-, <a class="el" href="structcp__cfg__element__t.html#5ac083a645d964373f022d03df4849c8">cp_cfg_element_t</a>
-<li>num_atts
-: <a class="el" href="structcp__cfg__element__t.html#b6eced8675261543cd28efea6c7a0fa4">cp_cfg_element_t</a>
-<li>num_children
-: <a class="el" href="structcp__cfg__element__t.html#b7c9e81d106b95f54ff71b9096ba5dc6">cp_cfg_element_t</a>
-<li>num_ext_points
-: <a class="el" href="structcp__plugin__info__t.html#845440eb771d52a4b271bfbd48fcb7ec">cp_plugin_info_t</a>
-<li>num_extensions
-: <a class="el" href="structcp__plugin__info__t.html#5774f2b85864891690291909ecbbf819">cp_plugin_info_t</a>
-<li>num_imports
-: <a class="el" href="structcp__plugin__info__t.html#bca19d2e4af3752ceb056d638321b894">cp_plugin_info_t</a>
-</ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>optional
-: <a class="el" href="structcp__plugin__import__t.html#69b1249c974e922ecdd066c43dc91f88">cp_plugin_import_t</a>
-</ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>parent
-: <a class="el" href="structcp__cfg__element__t.html#8c99879f94f30ed01e0b76847ab11237">cp_cfg_element_t</a>
-<li>plugin
-: <a class="el" href="structcp__extension__t.html#e498b24942e6fdd73ce6c22505549680">cp_extension_t</a>
-, <a class="el" href="structcp__ext__point__t.html#e498b24942e6fdd73ce6c22505549680">cp_ext_point_t</a>
-<li>plugin_id
-: <a class="el" href="structcp__plugin__import__t.html#29da905aeb4da90dae48b2aa19f5cc62">cp_plugin_import_t</a>
-<li>plugin_path
-: <a class="el" href="structcp__plugin__info__t.html#bfb5abdafe1c5db02dcd2922b32be4e6">cp_plugin_info_t</a>
-<li>provider_name
-: <a class="el" href="structcp__plugin__info__t.html#8bf76789248b4737d6a9a1175ceadca5">cp_plugin_info_t</a>
-</ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>req_cpluff_version
-: <a class="el" href="structcp__plugin__info__t.html#8b1942a723f6a68c9afad9e52b7e78d1">cp_plugin_info_t</a>
-<li>runtime_funcs_symbol
-: <a class="el" href="structcp__plugin__info__t.html#3291d0de7ca4bbe510950be556641856">cp_plugin_info_t</a>
-<li>runtime_lib_name
-: <a class="el" href="structcp__plugin__info__t.html#e466145debd47625f99bbc780e8950ed">cp_plugin_info_t</a>
-</ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>schema_path
-: <a class="el" href="structcp__ext__point__t.html#2370171ff78694fa0871fd845ab3ad6f">cp_ext_point_t</a>
-<li>start
-: <a class="el" href="structcp__plugin__runtime__t.html#5a6c64e5d2467d67cf4dd2498639b490">cp_plugin_runtime_t</a>
-<li>stop
-: <a class="el" href="structcp__plugin__runtime__t.html#ede7dc51a6d9f47d0e21445dc952d5d4">cp_plugin_runtime_t</a>
-</ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>value
-: <a class="el" href="structcp__cfg__element__t.html#4e9aec275e566b978a3ccb4e043d8c61">cp_cfg_element_t</a>
-<li>version
-: <a class="el" href="structcp__plugin__info__t.html#56abfaab87c46691c1ef3ad0df23e864">cp_plugin_info_t</a>
-, <a class="el" href="structcp__plugin__import__t.html#56abfaab87c46691c1ef3ad0df23e864">cp_plugin_import_t</a>
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/globals.html b/lib/cpluff/doc/reference/c-api/globals.html
deleted file mode 100644
index b63d23b30a..0000000000
--- a/lib/cpluff/doc/reference/c-api/globals.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Data Fields</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li id="current"><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li id="current"><a href="globals.html"><span>All</span></a></li>
- <li><a href="globals_func.html"><span>Functions</span></a></li>
- <li><a href="globals_type.html"><span>Typedefs</span></a></li>
- <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
- </ul>
-</div>
-<div class="tabs">
- <ul>
- <li><a href="#index_c"><span>c</span></a></li>
- </ul>
-</div>
-
-<p>
-Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cp_cfg_element_t
-: <a class="el" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cpluff.h</a>
-<li>cp_context_t
-: <a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cpluff.h</a>
-<li>cp_create_context()
-: <a class="el" href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62">cpluff.h</a>
-<li>cp_define_symbol()
-: <a class="el" href="group__cFuncsSymbols.html#g9d128b52c0ffe2d4215026fe59f9abeb">cpluff.h</a>
-<li>cp_destroy()
-: <a class="el" href="group__cFuncsInit.html#g8dfbe51a3b7f23368a4ddf0d9987180e">cpluff.h</a>
-<li>cp_destroy_context()
-: <a class="el" href="group__cFuncsContext.html#g754ff895992fab0aae81a09c727e5868">cpluff.h</a>
-<li>CP_ERR_CONFLICT
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dab07cfdc96a5dbc3a3e359bae2534c9d2">cpluff.h</a>
-<li>CP_ERR_DEPENDENCY
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da068a07ac79fdc33dc0c47d14c37005f6">cpluff.h</a>
-<li>CP_ERR_IO
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da2993572d373d8cc61f9655c10fbeefa5">cpluff.h</a>
-<li>CP_ERR_MALFORMED
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dadc486f602f89493e882cde6a364de0b7">cpluff.h</a>
-<li>CP_ERR_RESOURCE
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950">cpluff.h</a>
-<li>CP_ERR_RUNTIME
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dae9eb8fc6b508a70eae974760d8be07aa">cpluff.h</a>
-<li>CP_ERR_UNKNOWN
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e">cpluff.h</a>
-<li>cp_ext_point_t
-: <a class="el" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">cpluff.h</a>
-<li>cp_extension_t
-: <a class="el" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">cpluff.h</a>
-<li>cp_fatal_error_func_t
-: <a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cpluff.h</a>
-<li>cp_get_context_args()
-: <a class="el" href="group__cFuncsPluginExec.html#g08929433446b28f8fce8b8beae0e742a">cpluff.h</a>
-<li>cp_get_ext_points_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#g5fb5797d8d84e03275070666dc60a02d">cpluff.h</a>
-<li>cp_get_extensions_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#gc4321531959bb053be7698139b0ae168">cpluff.h</a>
-<li>cp_get_host_type()
-: <a class="el" href="group__cFuncsFrameworkInfo.html#gd44dbf4f97f511f9f4df3f9fdbe6e865">cpluff.h</a>
-<li>cp_get_plugin_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#g4aba19886c68b2a3c1508c3b66110c12">cpluff.h</a>
-<li>cp_get_plugin_state()
-: <a class="el" href="group__cFuncsPluginInfo.html#g926489fc366d412cd272ec4bfefe22e5">cpluff.h</a>
-<li>cp_get_plugins_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#g015373cf40c08ea4a346a1bac5656fb1">cpluff.h</a>
-<li>cp_get_version()
-: <a class="el" href="group__cFuncsFrameworkInfo.html#g5783cc2485fb87c487b524c2d0fcd702">cpluff.h</a>
-<li>cp_init()
-: <a class="el" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cpluff.h</a>
-<li>cp_install_plugin()
-: <a class="el" href="group__cFuncsPlugin.html#gc862fd9be2bad2e0dfaafa6216ad34d4">cpluff.h</a>
-<li>cp_is_logged()
-: <a class="el" href="group__cFuncsLogging.html#g16486c754d76d388e0f4c205668c7187">cpluff.h</a>
-<li>cp_load_plugin_descriptor()
-: <a class="el" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cpluff.h</a>
-<li>cp_log()
-: <a class="el" href="group__cFuncsLogging.html#g6227362eb74ed67ad53ec20e40b9b7bf">cpluff.h</a>
-<li>CP_LOG_DEBUG
-: <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb22e3ccb1789e1f0ea3b35e1682fe8af8">cpluff.h</a>
-<li>CP_LOG_ERROR
-: <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebd99d2bd1dbae181f9a41e90e6bf8d14e">cpluff.h</a>
-<li>CP_LOG_INFO
-: <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebcdb069d62e546b005ae6a81e6cdb0333">cpluff.h</a>
-<li>cp_log_severity_t
-: <a class="el" href="group__cTypedefsShorthand.html#gfa3a21d1af3332cab04867d6f1b0b076">cpluff.h</a>
-<li>CP_LOG_WARNING
-: <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb26a8a8c987042689e5018e481d235ee0">cpluff.h</a>
-<li>cp_logger_func_t
-: <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cpluff.h</a>
-<li>cp_lookup_cfg_element()
-: <a class="el" href="group__cFuncsPluginInfo.html#g9868077c72df950607e2698153d593d1">cpluff.h</a>
-<li>cp_lookup_cfg_value()
-: <a class="el" href="group__cFuncsPluginInfo.html#g13f5121ab21951d59d3c6b985ed6adcd">cpluff.h</a>
-<li>CP_OK
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">cpluff.h</a>
-<li>CP_PLUGIN_ACTIVE
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b3252953ad85aee24006f4a5079bfca73eb9f">cpluff.h</a>
-<li>cp_plugin_import_t
-: <a class="el" href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018">cpluff.h</a>
-<li>cp_plugin_info_t
-: <a class="el" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cpluff.h</a>
-<li>CP_PLUGIN_INSTALLED
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32521c91e4bef84a1d924456fb268a1d848b">cpluff.h</a>
-<li>cp_plugin_listener_func_t
-: <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cpluff.h</a>
-<li>CP_PLUGIN_RESOLVED
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325275596c790e344583d117d3c6bb4252bd">cpluff.h</a>
-<li>cp_plugin_runtime_t
-: <a class="el" href="group__cTypedefsShorthand.html#gca5d98d242f7c005f04b00bf77d1882e">cpluff.h</a>
-<li>CP_PLUGIN_STARTING
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32522c6ca0c8d90c3acb01e336ce1711540c">cpluff.h</a>
-<li>cp_plugin_state_t
-: <a class="el" href="group__cTypedefsShorthand.html#g026780097ccf13e9896f2d4759aa642e">cpluff.h</a>
-<li>CP_PLUGIN_STOPPING
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32525aafd09bec81bb2bedfd7bfc8643051c">cpluff.h</a>
-<li>CP_PLUGIN_UNINSTALLED
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325290eacd4f02fb7d65eaf68f7251a99689">cpluff.h</a>
-<li>cp_register_logger()
-: <a class="el" href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff">cpluff.h</a>
-<li>cp_register_pcollection()
-: <a class="el" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cpluff.h</a>
-<li>cp_register_plistener()
-: <a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cpluff.h</a>
-<li>cp_release_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cpluff.h</a>
-<li>cp_release_symbol()
-: <a class="el" href="group__cFuncsSymbols.html#g150629125a61ac9fa4e2095b0d9c7e57">cpluff.h</a>
-<li>cp_resolve_symbol()
-: <a class="el" href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7">cpluff.h</a>
-<li>cp_run_func_t
-: <a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cpluff.h</a>
-<li>cp_run_function()
-: <a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cpluff.h</a>
-<li>cp_run_plugins()
-: <a class="el" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cpluff.h</a>
-<li>cp_run_plugins_step()
-: <a class="el" href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929">cpluff.h</a>
-<li>cp_scan_plugins()
-: <a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cpluff.h</a>
-<li>cp_set_context_args()
-: <a class="el" href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4">cpluff.h</a>
-<li>cp_set_fatal_error_handler()
-: <a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cpluff.h</a>
-<li>cp_start_plugin()
-: <a class="el" href="group__cFuncsPlugin.html#g2456b7740351c2530376ffb3a5ab7d92">cpluff.h</a>
-<li>cp_status_t
-: <a class="el" href="group__cTypedefsShorthand.html#g53b128f964c24169c758a0c60248d602">cpluff.h</a>
-<li>cp_stop_plugin()
-: <a class="el" href="group__cFuncsPlugin.html#g7bdc861d480c6c9addafbb0f481323fa">cpluff.h</a>
-<li>cp_stop_plugins()
-: <a class="el" href="group__cFuncsPlugin.html#g4dec7d61518adfa01da3f2892eaea20a">cpluff.h</a>
-<li>cp_uninstall_plugin()
-: <a class="el" href="group__cFuncsPlugin.html#g2249552dc67bb7893f81babee4a27454">cpluff.h</a>
-<li>cp_uninstall_plugins()
-: <a class="el" href="group__cFuncsPlugin.html#g01a607d9ae7f9fdb7e91a1845b0e5e99">cpluff.h</a>
-<li>cp_unregister_logger()
-: <a class="el" href="group__cFuncsLogging.html#g206e88cf84739ff2a0ee6e6925ca5ed8">cpluff.h</a>
-<li>cp_unregister_pcollection()
-: <a class="el" href="group__cFuncsContext.html#g59817fdae1aeb28dbc7d3dcfc5568c15">cpluff.h</a>
-<li>cp_unregister_pcollections()
-: <a class="el" href="group__cFuncsContext.html#g0473208ccfde69e0c57ec1f2b4789781">cpluff.h</a>
-<li>cp_unregister_plistener()
-: <a class="el" href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e">cpluff.h</a>
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/globals_eval.html b/lib/cpluff/doc/reference/c-api/globals_eval.html
deleted file mode 100644
index 1422549ec4..0000000000
--- a/lib/cpluff/doc/reference/c-api/globals_eval.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Data Fields</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li id="current"><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="globals.html"><span>All</span></a></li>
- <li><a href="globals_func.html"><span>Functions</span></a></li>
- <li><a href="globals_type.html"><span>Typedefs</span></a></li>
- <li id="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
- </ul>
-</div>
-&nbsp;
-<p>
-<ul>
-<li>CP_ERR_CONFLICT
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dab07cfdc96a5dbc3a3e359bae2534c9d2">cpluff.h</a>
-<li>CP_ERR_DEPENDENCY
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da068a07ac79fdc33dc0c47d14c37005f6">cpluff.h</a>
-<li>CP_ERR_IO
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da2993572d373d8cc61f9655c10fbeefa5">cpluff.h</a>
-<li>CP_ERR_MALFORMED
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dadc486f602f89493e882cde6a364de0b7">cpluff.h</a>
-<li>CP_ERR_RESOURCE
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950">cpluff.h</a>
-<li>CP_ERR_RUNTIME
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dae9eb8fc6b508a70eae974760d8be07aa">cpluff.h</a>
-<li>CP_ERR_UNKNOWN
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e">cpluff.h</a>
-<li>CP_LOG_DEBUG
-: <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb22e3ccb1789e1f0ea3b35e1682fe8af8">cpluff.h</a>
-<li>CP_LOG_ERROR
-: <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebd99d2bd1dbae181f9a41e90e6bf8d14e">cpluff.h</a>
-<li>CP_LOG_INFO
-: <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebcdb069d62e546b005ae6a81e6cdb0333">cpluff.h</a>
-<li>CP_LOG_WARNING
-: <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb26a8a8c987042689e5018e481d235ee0">cpluff.h</a>
-<li>CP_OK
-: <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">cpluff.h</a>
-<li>CP_PLUGIN_ACTIVE
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b3252953ad85aee24006f4a5079bfca73eb9f">cpluff.h</a>
-<li>CP_PLUGIN_INSTALLED
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32521c91e4bef84a1d924456fb268a1d848b">cpluff.h</a>
-<li>CP_PLUGIN_RESOLVED
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325275596c790e344583d117d3c6bb4252bd">cpluff.h</a>
-<li>CP_PLUGIN_STARTING
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32522c6ca0c8d90c3acb01e336ce1711540c">cpluff.h</a>
-<li>CP_PLUGIN_STOPPING
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32525aafd09bec81bb2bedfd7bfc8643051c">cpluff.h</a>
-<li>CP_PLUGIN_UNINSTALLED
-: <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325290eacd4f02fb7d65eaf68f7251a99689">cpluff.h</a>
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/globals_func.html b/lib/cpluff/doc/reference/c-api/globals_func.html
deleted file mode 100644
index be35cf26a8..0000000000
--- a/lib/cpluff/doc/reference/c-api/globals_func.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Data Fields</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li id="current"><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="globals.html"><span>All</span></a></li>
- <li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
- <li><a href="globals_type.html"><span>Typedefs</span></a></li>
- <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
- </ul>
-</div>
-<div class="tabs">
- <ul>
- <li><a href="#index_c"><span>c</span></a></li>
- </ul>
-</div>
-
-<p>
-&nbsp;
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cp_create_context()
-: <a class="el" href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62">cpluff.h</a>
-<li>cp_define_symbol()
-: <a class="el" href="group__cFuncsSymbols.html#g9d128b52c0ffe2d4215026fe59f9abeb">cpluff.h</a>
-<li>cp_destroy()
-: <a class="el" href="group__cFuncsInit.html#g8dfbe51a3b7f23368a4ddf0d9987180e">cpluff.h</a>
-<li>cp_destroy_context()
-: <a class="el" href="group__cFuncsContext.html#g754ff895992fab0aae81a09c727e5868">cpluff.h</a>
-<li>cp_get_context_args()
-: <a class="el" href="group__cFuncsPluginExec.html#g08929433446b28f8fce8b8beae0e742a">cpluff.h</a>
-<li>cp_get_ext_points_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#g5fb5797d8d84e03275070666dc60a02d">cpluff.h</a>
-<li>cp_get_extensions_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#gc4321531959bb053be7698139b0ae168">cpluff.h</a>
-<li>cp_get_host_type()
-: <a class="el" href="group__cFuncsFrameworkInfo.html#gd44dbf4f97f511f9f4df3f9fdbe6e865">cpluff.h</a>
-<li>cp_get_plugin_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#g4aba19886c68b2a3c1508c3b66110c12">cpluff.h</a>
-<li>cp_get_plugin_state()
-: <a class="el" href="group__cFuncsPluginInfo.html#g926489fc366d412cd272ec4bfefe22e5">cpluff.h</a>
-<li>cp_get_plugins_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#g015373cf40c08ea4a346a1bac5656fb1">cpluff.h</a>
-<li>cp_get_version()
-: <a class="el" href="group__cFuncsFrameworkInfo.html#g5783cc2485fb87c487b524c2d0fcd702">cpluff.h</a>
-<li>cp_init()
-: <a class="el" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cpluff.h</a>
-<li>cp_install_plugin()
-: <a class="el" href="group__cFuncsPlugin.html#gc862fd9be2bad2e0dfaafa6216ad34d4">cpluff.h</a>
-<li>cp_is_logged()
-: <a class="el" href="group__cFuncsLogging.html#g16486c754d76d388e0f4c205668c7187">cpluff.h</a>
-<li>cp_load_plugin_descriptor()
-: <a class="el" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cpluff.h</a>
-<li>cp_log()
-: <a class="el" href="group__cFuncsLogging.html#g6227362eb74ed67ad53ec20e40b9b7bf">cpluff.h</a>
-<li>cp_lookup_cfg_element()
-: <a class="el" href="group__cFuncsPluginInfo.html#g9868077c72df950607e2698153d593d1">cpluff.h</a>
-<li>cp_lookup_cfg_value()
-: <a class="el" href="group__cFuncsPluginInfo.html#g13f5121ab21951d59d3c6b985ed6adcd">cpluff.h</a>
-<li>cp_register_logger()
-: <a class="el" href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff">cpluff.h</a>
-<li>cp_register_pcollection()
-: <a class="el" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cpluff.h</a>
-<li>cp_register_plistener()
-: <a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cpluff.h</a>
-<li>cp_release_info()
-: <a class="el" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cpluff.h</a>
-<li>cp_release_symbol()
-: <a class="el" href="group__cFuncsSymbols.html#g150629125a61ac9fa4e2095b0d9c7e57">cpluff.h</a>
-<li>cp_resolve_symbol()
-: <a class="el" href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7">cpluff.h</a>
-<li>cp_run_function()
-: <a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cpluff.h</a>
-<li>cp_run_plugins()
-: <a class="el" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cpluff.h</a>
-<li>cp_run_plugins_step()
-: <a class="el" href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929">cpluff.h</a>
-<li>cp_scan_plugins()
-: <a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cpluff.h</a>
-<li>cp_set_context_args()
-: <a class="el" href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4">cpluff.h</a>
-<li>cp_set_fatal_error_handler()
-: <a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cpluff.h</a>
-<li>cp_start_plugin()
-: <a class="el" href="group__cFuncsPlugin.html#g2456b7740351c2530376ffb3a5ab7d92">cpluff.h</a>
-<li>cp_stop_plugin()
-: <a class="el" href="group__cFuncsPlugin.html#g7bdc861d480c6c9addafbb0f481323fa">cpluff.h</a>
-<li>cp_stop_plugins()
-: <a class="el" href="group__cFuncsPlugin.html#g4dec7d61518adfa01da3f2892eaea20a">cpluff.h</a>
-<li>cp_uninstall_plugin()
-: <a class="el" href="group__cFuncsPlugin.html#g2249552dc67bb7893f81babee4a27454">cpluff.h</a>
-<li>cp_uninstall_plugins()
-: <a class="el" href="group__cFuncsPlugin.html#g01a607d9ae7f9fdb7e91a1845b0e5e99">cpluff.h</a>
-<li>cp_unregister_logger()
-: <a class="el" href="group__cFuncsLogging.html#g206e88cf84739ff2a0ee6e6925ca5ed8">cpluff.h</a>
-<li>cp_unregister_pcollection()
-: <a class="el" href="group__cFuncsContext.html#g59817fdae1aeb28dbc7d3dcfc5568c15">cpluff.h</a>
-<li>cp_unregister_pcollections()
-: <a class="el" href="group__cFuncsContext.html#g0473208ccfde69e0c57ec1f2b4789781">cpluff.h</a>
-<li>cp_unregister_plistener()
-: <a class="el" href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e">cpluff.h</a>
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/globals_type.html b/lib/cpluff/doc/reference/c-api/globals_type.html
deleted file mode 100644
index a6fe9ddb9e..0000000000
--- a/lib/cpluff/doc/reference/c-api/globals_type.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Data Fields</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li id="current"><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="files.html"><span>File&nbsp;List</span></a></li>
- <li id="current"><a href="globals.html"><span>Globals</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="globals.html"><span>All</span></a></li>
- <li><a href="globals_func.html"><span>Functions</span></a></li>
- <li id="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
- <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
- </ul>
-</div>
-&nbsp;
-<p>
-<ul>
-<li>cp_cfg_element_t
-: <a class="el" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cpluff.h</a>
-<li>cp_context_t
-: <a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cpluff.h</a>
-<li>cp_ext_point_t
-: <a class="el" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">cpluff.h</a>
-<li>cp_extension_t
-: <a class="el" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">cpluff.h</a>
-<li>cp_fatal_error_func_t
-: <a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cpluff.h</a>
-<li>cp_log_severity_t
-: <a class="el" href="group__cTypedefsShorthand.html#gfa3a21d1af3332cab04867d6f1b0b076">cpluff.h</a>
-<li>cp_logger_func_t
-: <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cpluff.h</a>
-<li>cp_plugin_import_t
-: <a class="el" href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018">cpluff.h</a>
-<li>cp_plugin_info_t
-: <a class="el" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cpluff.h</a>
-<li>cp_plugin_listener_func_t
-: <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cpluff.h</a>
-<li>cp_plugin_runtime_t
-: <a class="el" href="group__cTypedefsShorthand.html#gca5d98d242f7c005f04b00bf77d1882e">cpluff.h</a>
-<li>cp_plugin_state_t
-: <a class="el" href="group__cTypedefsShorthand.html#g026780097ccf13e9896f2d4759aa642e">cpluff.h</a>
-<li>cp_run_func_t
-: <a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cpluff.h</a>
-<li>cp_status_t
-: <a class="el" href="group__cTypedefsShorthand.html#g53b128f964c24169c758a0c60248d602">cpluff.h</a>
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/graph_legend.dot b/lib/cpluff/doc/reference/c-api/graph_legend.dot
deleted file mode 100644
index ee8e8bc9fd..0000000000
--- a/lib/cpluff/doc/reference/c-api/graph_legend.dot
+++ /dev/null
@@ -1,23 +0,0 @@
-digraph G
-{
- bgcolor="transparent";
- edge [fontname="FreeSans.ttf",fontsize=10,labelfontname="FreeSans.ttf",labelfontsize=10];
- node [fontname="FreeSans.ttf",fontsize=10,shape=record];
- Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",fillcolor="grey75",style="filled" fontcolor="black"];
- Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
- Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classPublicBase.html"];
- Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
- Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="red",URL="$classTruncated.html"];
- Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="FreeSans.ttf"];
- Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classProtectedBase.html"];
- Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="FreeSans.ttf"];
- Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classPrivateBase.html"];
- Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
- Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="grey75"];
- Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="FreeSans.ttf"];
- Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classTempl.html"];
- Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="FreeSans.ttf"];
- Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classTempl.html"];
- Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="FreeSans.ttf"];
- Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="FreeSans.ttf",color="black",URL="$classUsed.html"];
-}
diff --git a/lib/cpluff/doc/reference/c-api/graph_legend.html b/lib/cpluff/doc/reference/c-api/graph_legend.html
deleted file mode 100644
index 94681d6679..0000000000
--- a/lib/cpluff/doc/reference/c-api/graph_legend.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Graph Legend</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p>
-Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
-<span class="keyword">class </span>Invisible { };
-<span class="comment"></span>
-<span class="comment">/*! Truncated class, inheritance relation is hidden */</span>
-<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };
-
-<span class="comment">/* Class not documented with doxygen comments */</span>
-<span class="keyword">class </span>Undocumented { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using public inheritance */</span>
-<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };
-<span class="comment"></span>
-<span class="comment">/*! A template class */</span>
-<span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using protected inheritance */</span>
-<span class="keyword">class </span>ProtectedBase { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using private inheritance */</span>
-<span class="keyword">class </span>PrivateBase { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is used by the Inherited class */</span>
-<span class="keyword">class </span>Used { };
-<span class="comment"></span>
-<span class="comment">/*! Super class that inherits a number of other classes */</span>
-<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,
- <span class="keyword">protected</span> ProtectedBase,
- <span class="keyword">private</span> PrivateBase,
- <span class="keyword">public</span> Undocumented
- <span class="keyword">public</span> Templ&lt;int&gt;
-{
- <span class="keyword">private</span>:
- Used *m_usedClass;
-};
-</pre></div> If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p>
-<center><div align="center">
-<img src="graph_legend.png" alt="graph_legend.png">
-</div>
-</center> <p>
-The boxes in the above graph have the following meaning: <ul>
-<li>
-A filled black box represents the struct or class for which the graph is generated. </li>
-<li>
-A box with a black border denotes a documented struct or class. </li>
-<li>
-A box with a grey border denotes an undocumented struct or class. </li>
-<li>
-A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
-</ul>
-The arrows have the following meaning: <ul>
-<li>
-A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
-<li>
-A dark green arrow is used for protected inheritance. </li>
-<li>
-A dark red arrow is used for private inheritance. </li>
-<li>
-A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
-<li>
-A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/graph_legend.png b/lib/cpluff/doc/reference/c-api/graph_legend.png
deleted file mode 100644
index db03000b3d..0000000000
--- a/lib/cpluff/doc/reference/c-api/graph_legend.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/group__cDefines.html b/lib/cpluff/doc/reference/c-api/group__cDefines.html
deleted file mode 100644
index 909596cdd7..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cDefines.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Defines</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Defines</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Preprocessor defines.
-<p>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__versionInfo.html">Version information</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">C-Pluff version information. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__symbolVisibility.html">Symbol visibility</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Macros for controlling inter-module symbol visibility and linkage. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html">GCC attributes</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These macros conditionally define GCC attributes for declarations. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html">Flags for plug-in scanning</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These constants can be orred together for the flags parameter of <a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a>. <br></td></tr>
-
-<p>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefines.html#g4a0b99de58335624b91476b9cf1c4404">CP_C_API</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Marks a symbol declaration to be part of the C-Pluff C API. <a href="#g4a0b99de58335624b91476b9cf1c4404"></a><br></td></tr>
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="g4a0b99de58335624b91476b9cf1c4404"></a><!-- doxytag: member="cpluff.h::CP_C_API" ref="g4a0b99de58335624b91476b9cf1c4404" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_C_API </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Marks a symbol declaration to be part of the C-Pluff C API.
-<p>
-This macro declares the symbol to be imported from the C-Pluff library.
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cDefinesGCCAttributes.html b/lib/cpluff/doc/reference/c-api/group__cDefinesGCCAttributes.html
deleted file mode 100644
index c5db977831..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cDefinesGCCAttributes.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: GCC attributes</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>GCC attributes<br>
-<small>
-[<a class="el" href="group__cDefines.html">Defines</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These macros conditionally define GCC attributes for declarations.
-<p>
-They are used in C-Pluff API declarations to enable better optimization and error checking when using GCC. In non-GCC platforms they have empty values.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html#g97e63f6bd1007545853c6ab4d0271e43">CP_GCC_PURE</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a function as pure function having no side effects. <a href="#g97e63f6bd1007545853c6ab4d0271e43"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cDefinesGCCAttributes.html#gca94f5f75abdc0d1c78572d95305c800">CP_GCC_NONNULL</a>(...)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specifies that some pointer arguments to a function should have non-NULL values. <a href="#gca94f5f75abdc0d1c78572d95305c800"></a><br></td></tr>
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="g97e63f6bd1007545853c6ab4d0271e43"></a><!-- doxytag: member="cpluffdef.h::CP_GCC_PURE" ref="g97e63f6bd1007545853c6ab4d0271e43" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_GCC_PURE </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Declares a function as pure function having no side effects.
-<p>
-This attribute is supported in GCC since version 2.96. Such functions can be subject to common subexpression elimination and loop optimization.
-</div>
-</div><p>
-<a class="anchor" name="gca94f5f75abdc0d1c78572d95305c800"></a><!-- doxytag: member="cpluffdef.h::CP_GCC_NONNULL" ref="gca94f5f75abdc0d1c78572d95305c800" args="(...)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_GCC_NONNULL </td>
- <td>(</td>
- <td class="paramtype"> <em>...</em>&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Specifies that some pointer arguments to a function should have non-NULL values.
-<p>
-Takes a variable length list of argument indexes as arguments. This attribute is supported in GCC since version 3.3. It can be used for enhanced error checking and some optimizations.
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cEnums.html b/lib/cpluff/doc/reference/c-api/group__cEnums.html
deleted file mode 100644
index 794ea2c37e..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cEnums.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Enumerations</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Enumerations</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Constant value enumerations.
-<p>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> = 0,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950">CP_ERR_RESOURCE</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e">CP_ERR_UNKNOWN</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da2993572d373d8cc61f9655c10fbeefa5">CP_ERR_IO</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dadc486f602f89493e882cde6a364de0b7">CP_ERR_MALFORMED</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dab07cfdc96a5dbc3a3e359bae2534c9d2">CP_ERR_CONFLICT</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da068a07ac79fdc33dc0c47d14c37005f6">CP_ERR_DEPENDENCY</a>,
-<a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dae9eb8fc6b508a70eae974760d8be07aa">CP_ERR_RUNTIME</a>
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An enumeration of status codes returned by API functions. <a href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> { <br>
-&nbsp;&nbsp;<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325290eacd4f02fb7d65eaf68f7251a99689">CP_PLUGIN_UNINSTALLED</a>,
-<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32521c91e4bef84a1d924456fb268a1d848b">CP_PLUGIN_INSTALLED</a>,
-<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325275596c790e344583d117d3c6bb4252bd">CP_PLUGIN_RESOLVED</a>,
-<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32522c6ca0c8d90c3acb01e336ce1711540c">CP_PLUGIN_STARTING</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b32525aafd09bec81bb2bedfd7bfc8643051c">CP_PLUGIN_STOPPING</a>,
-<a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b3252953ad85aee24006f4a5079bfca73eb9f">CP_PLUGIN_ACTIVE</a>
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An enumeration of possible plug-in states. <a href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> { <a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb22e3ccb1789e1f0ea3b35e1682fe8af8">CP_LOG_DEBUG</a>,
-<a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebcdb069d62e546b005ae6a81e6cdb0333">CP_LOG_INFO</a>,
-<a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aeb26a8a8c987042689e5018e481d235ee0">CP_LOG_WARNING</a>,
-<a class="el" href="group__cEnums.html#gg952725f83949f4eb486c390c4ff72aebd99d2bd1dbae181f9a41e90e6bf8d14e">CP_LOG_ERROR</a>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An enumeration of possible message severities for framework logging. <a href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">More...</a><br></td></tr>
-</table>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="gd6a8106d281ffa4b1f43fe8e3effc7da"></a><!-- doxytag: member="cpluff.h::cp_status_t" ref="gd6a8106d281ffa4b1f43fe8e3effc7da" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An enumeration of status codes returned by API functions.
-<p>
-Most of the interface functions return a status code. The returned status code either indicates successful completion of the operation or some specific kind of error. Some functions do not return a status code because they never fail. <dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a"></a><!-- doxytag: member="CP_OK" ref="ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a" args="" -->CP_OK</em>&nbsp;</td><td>
-Operation was performed successfully (equals to zero). </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950"></a><!-- doxytag: member="CP_ERR_RESOURCE" ref="ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950" args="" -->CP_ERR_RESOURCE</em>&nbsp;</td><td>
-Not enough memory or other operating system resources available. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e"></a><!-- doxytag: member="CP_ERR_UNKNOWN" ref="ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e" args="" -->CP_ERR_UNKNOWN</em>&nbsp;</td><td>
-The specified object is unknown to the framework. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd6a8106d281ffa4b1f43fe8e3effc7da2993572d373d8cc61f9655c10fbeefa5"></a><!-- doxytag: member="CP_ERR_IO" ref="ggd6a8106d281ffa4b1f43fe8e3effc7da2993572d373d8cc61f9655c10fbeefa5" args="" -->CP_ERR_IO</em>&nbsp;</td><td>
-An I/O error occurred. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd6a8106d281ffa4b1f43fe8e3effc7dadc486f602f89493e882cde6a364de0b7"></a><!-- doxytag: member="CP_ERR_MALFORMED" ref="ggd6a8106d281ffa4b1f43fe8e3effc7dadc486f602f89493e882cde6a364de0b7" args="" -->CP_ERR_MALFORMED</em>&nbsp;</td><td>
-Malformed plug-in descriptor was encountered when loading a plug-in. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd6a8106d281ffa4b1f43fe8e3effc7dab07cfdc96a5dbc3a3e359bae2534c9d2"></a><!-- doxytag: member="CP_ERR_CONFLICT" ref="ggd6a8106d281ffa4b1f43fe8e3effc7dab07cfdc96a5dbc3a3e359bae2534c9d2" args="" -->CP_ERR_CONFLICT</em>&nbsp;</td><td>
-Plug-in or symbol conflicts with another plug-in or symbol. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd6a8106d281ffa4b1f43fe8e3effc7da068a07ac79fdc33dc0c47d14c37005f6"></a><!-- doxytag: member="CP_ERR_DEPENDENCY" ref="ggd6a8106d281ffa4b1f43fe8e3effc7da068a07ac79fdc33dc0c47d14c37005f6" args="" -->CP_ERR_DEPENDENCY</em>&nbsp;</td><td>
-Plug-in dependencies could not be satisfied. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd6a8106d281ffa4b1f43fe8e3effc7dae9eb8fc6b508a70eae974760d8be07aa"></a><!-- doxytag: member="CP_ERR_RUNTIME" ref="ggd6a8106d281ffa4b1f43fe8e3effc7dae9eb8fc6b508a70eae974760d8be07aa" args="" -->CP_ERR_RUNTIME</em>&nbsp;</td><td>
-Plug-in runtime signaled an error. </td></tr>
-</table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="gd517a8088e2ed89fda71251d9c7b3252"></a><!-- doxytag: member="cpluff.h::cp_plugin_state_t" ref="gd517a8088e2ed89fda71251d9c7b3252" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An enumeration of possible plug-in states.
-<p>
-Plug-in states are controlled by <a class="el" href="group__cFuncsPlugin.html">plug-in management functions</a>. Plug-in states can be observed by <a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">registering</a> a <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">plug-in listener function</a> or by calling <a class="el" href="group__cFuncsPluginInfo.html#g926489fc366d412cd272ec4bfefe22e5">cp_get_plugin_state</a>.<p>
-<dl class="see" compact><dt><b>See also:</b></dt><dd>cp_plugin_listener_t <p>
-<a class="el" href="group__cFuncsPluginInfo.html#g926489fc366d412cd272ec4bfefe22e5">cp_get_plugin_state</a> </dd></dl>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="ggd517a8088e2ed89fda71251d9c7b325290eacd4f02fb7d65eaf68f7251a99689"></a><!-- doxytag: member="CP_PLUGIN_UNINSTALLED" ref="ggd517a8088e2ed89fda71251d9c7b325290eacd4f02fb7d65eaf68f7251a99689" args="" -->CP_PLUGIN_UNINSTALLED</em>&nbsp;</td><td>
-Plug-in is not installed.
-<p>
-No plug-in information has been loaded. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd517a8088e2ed89fda71251d9c7b32521c91e4bef84a1d924456fb268a1d848b"></a><!-- doxytag: member="CP_PLUGIN_INSTALLED" ref="ggd517a8088e2ed89fda71251d9c7b32521c91e4bef84a1d924456fb268a1d848b" args="" -->CP_PLUGIN_INSTALLED</em>&nbsp;</td><td>
-Plug-in is installed.
-<p>
-At this stage the plug-in information has been loaded but its dependencies to other plug-ins has not yet been resolved. The plug-in runtime has not been loaded yet. The extension points and extensions provided by the plug-in have been registered. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd517a8088e2ed89fda71251d9c7b325275596c790e344583d117d3c6bb4252bd"></a><!-- doxytag: member="CP_PLUGIN_RESOLVED" ref="ggd517a8088e2ed89fda71251d9c7b325275596c790e344583d117d3c6bb4252bd" args="" -->CP_PLUGIN_RESOLVED</em>&nbsp;</td><td>
-Plug-in dependencies have been resolved.
-<p>
-At this stage it has been verified that the dependencies of the plug-in are satisfied and the plug-in runtime has been loaded but it is not active (it has not been started or it has been stopped). Plug-in is resolved when a dependent plug-in is being resolved or before the plug-in is started. Plug-in is put back to installed stage if its dependencies are being uninstalled. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd517a8088e2ed89fda71251d9c7b32522c6ca0c8d90c3acb01e336ce1711540c"></a><!-- doxytag: member="CP_PLUGIN_STARTING" ref="ggd517a8088e2ed89fda71251d9c7b32522c6ca0c8d90c3acb01e336ce1711540c" args="" -->CP_PLUGIN_STARTING</em>&nbsp;</td><td>
-Plug-in is starting.
-<p>
-The plug-in has been resolved and the start function (if any) of the plug-in runtime is about to be called. A plug-in is started when explicitly requested by the main program or when a dependent plug-in is about to be started or when a dynamic symbol defined by the plug-in is being resolved. This state is omitted and the state changes directly from resolved to active if the plug-in runtime does not define a start function. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd517a8088e2ed89fda71251d9c7b32525aafd09bec81bb2bedfd7bfc8643051c"></a><!-- doxytag: member="CP_PLUGIN_STOPPING" ref="ggd517a8088e2ed89fda71251d9c7b32525aafd09bec81bb2bedfd7bfc8643051c" args="" -->CP_PLUGIN_STOPPING</em>&nbsp;</td><td>
-Plug-in is stopping.
-<p>
-The stop function (if any) of the plug-in runtime is about to be called. A plug-in is stopped if the start function fails or when stopping is explicitly requested by the main program or when its dependencies are being stopped. This state is omitted and the state changes directly from active to resolved if the plug-in runtime does not define a stop function. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="ggd517a8088e2ed89fda71251d9c7b3252953ad85aee24006f4a5079bfca73eb9f"></a><!-- doxytag: member="CP_PLUGIN_ACTIVE" ref="ggd517a8088e2ed89fda71251d9c7b3252953ad85aee24006f4a5079bfca73eb9f" args="" -->CP_PLUGIN_ACTIVE</em>&nbsp;</td><td>
-Plug-in has been successfully started and it has not yet been stopped. </td></tr>
-</table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g952725f83949f4eb486c390c4ff72aeb"></a><!-- doxytag: member="cpluff.h::cp_log_severity_t" ref="g952725f83949f4eb486c390c4ff72aeb" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">enum <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An enumeration of possible message severities for framework logging.
-<p>
-These constants are used when passing a log message to a <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">logger function</a> and when <a class="el" href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff">registering</a> a logger function. <dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="gg952725f83949f4eb486c390c4ff72aeb22e3ccb1789e1f0ea3b35e1682fe8af8"></a><!-- doxytag: member="CP_LOG_DEBUG" ref="gg952725f83949f4eb486c390c4ff72aeb22e3ccb1789e1f0ea3b35e1682fe8af8" args="" -->CP_LOG_DEBUG</em>&nbsp;</td><td>
-Used for detailed debug messages. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gg952725f83949f4eb486c390c4ff72aebcdb069d62e546b005ae6a81e6cdb0333"></a><!-- doxytag: member="CP_LOG_INFO" ref="gg952725f83949f4eb486c390c4ff72aebcdb069d62e546b005ae6a81e6cdb0333" args="" -->CP_LOG_INFO</em>&nbsp;</td><td>
-Used for informational messages such as plug-in state changes. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gg952725f83949f4eb486c390c4ff72aeb26a8a8c987042689e5018e481d235ee0"></a><!-- doxytag: member="CP_LOG_WARNING" ref="gg952725f83949f4eb486c390c4ff72aeb26a8a8c987042689e5018e481d235ee0" args="" -->CP_LOG_WARNING</em>&nbsp;</td><td>
-Used for messages warning about possible problems. </td></tr>
-<tr><td valign="top"><em><a class="anchor" name="gg952725f83949f4eb486c390c4ff72aebd99d2bd1dbae181f9a41e90e6bf8d14e"></a><!-- doxytag: member="CP_LOG_ERROR" ref="gg952725f83949f4eb486c390c4ff72aebd99d2bd1dbae181f9a41e90e6bf8d14e" args="" -->CP_LOG_ERROR</em>&nbsp;</td><td>
-Used for messages reporting errors. </td></tr>
-</table>
-</dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncs.html b/lib/cpluff/doc/reference/c-api/group__cFuncs.html
deleted file mode 100644
index 126f874435..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncs.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Functions</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Functions</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-C API functions.
-<p>
-The C-Pluff C API functions and any data exposed by them are generally thread-safe if the library has been compiled with multi-threading support. The <a class="el" href="group__cFuncsInit.html">framework initialization functions</a> are exceptions, they are not thread-safe.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsFrameworkInfo.html">Framework information</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These functions can be used to query runtime information about the linked in C-Pluff implementation. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsInit.html">Framework initialization</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These functions are used for framework initialization. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html">Plug-in context initialization</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These functions are used to manage plug-in contexts from the main program perspective. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html">Logging</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These functions can be used to receive and emit log messages related to a particular plug-in context. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html">Plug-in management</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These functions can be used to manage plug-ins. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html">Plug-in and extension information</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These functions can be used to query information about the installed plug-ins, extension points and extensions or to listen for plug-in state changes. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html">Plug-in execution</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These functions support a plug-in controlled execution model. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsSymbols.html">Dynamic symbols</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">These functions can be used to dynamically access symbols exported by the plug-ins. <br></td></tr>
-
-<p>
-</table>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncsContext.html b/lib/cpluff/doc/reference/c-api/group__cFuncsContext.html
deleted file mode 100644
index 7987c385f7..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncsContext.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Plug-in context initialization</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Plug-in context initialization<br>
-<small>
-[<a class="el" href="group__cFuncs.html">Functions</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These functions are used to manage plug-in contexts from the main program perspective.
-<p>
-They are not intended to be used by a plug-in runtime. From the main program perspective a plug-in context is a container for installed plug-ins. There can be several plug-in context instances if there are several independent sets of plug-ins. However, different plug-in contexts are not very isolated from each other in practice because the global symbols exported by a plug-in runtime in one context are visible to all plug-ins in all context instances.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62">cp_create_context</a> (<a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new plug-in context which can be used as a container for plug-ins. <a href="#g7d239c4fc07cf7d3095a20900444ad62"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g754ff895992fab0aae81a09c727e5868">cp_destroy_context</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the specified plug-in context and releases the associated resources. <a href="#g754ff895992fab0aae81a09c727e5868"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cp_register_pcollection</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *dir)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a plug-in collection with a plug-in context. <a href="#g998d8350e64a129101f9da687ff5713b"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g59817fdae1aeb28dbc7d3dcfc5568c15">cp_unregister_pcollection</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *dir)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregisters a previously registered plug-in collection from a plug-in context. <a href="#g59817fdae1aeb28dbc7d3dcfc5568c15"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsContext.html#g0473208ccfde69e0c57ec1f2b4789781">cp_unregister_pcollections</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregisters all plug-in collections from a plug-in context. <a href="#g0473208ccfde69e0c57ec1f2b4789781"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g7d239c4fc07cf7d3095a20900444ad62"></a><!-- doxytag: member="cpluff.h::cp_create_context" ref="g7d239c4fc07cf7d3095a20900444ad62" args="(cp_status_t *status)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a>* cp_create_context </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *&nbsp;</td>
- <td class="paramname"> <em>status</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Creates a new plug-in context which can be used as a container for plug-ins.
-<p>
-Plug-ins are loaded and installed into a specific context. The main program may have more than one plug-in context but the plug-ins that interact with each other should be placed in the same context. The resources associated with the context are released by calling <a class="el" href="group__cFuncsContext.html#g754ff895992fab0aae81a09c727e5868">cp_destroy_context</a> when the context is not needed anymore. Remaining contexts are automatically destroyed when the plug-in framework is destroyed.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>pointer to the location where status code is to be stored, or NULL </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the newly created plugin context, or NULL on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g754ff895992fab0aae81a09c727e5868"></a><!-- doxytag: member="cpluff.h::cp_destroy_context" ref="g754ff895992fab0aae81a09c727e5868" args="(cp_context_t *ctx)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_destroy_context </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destroys the specified plug-in context and releases the associated resources.
-<p>
-Stops and uninstalls all plug-ins in the context. The context must not be accessed after calling this function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the context to be destroyed </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g998d8350e64a129101f9da687ff5713b"></a><!-- doxytag: member="cpluff.h::cp_register_pcollection" ref="g998d8350e64a129101f9da687ff5713b" args="(cp_context_t *ctx, const char *dir)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_register_pcollection </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>dir</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Registers a plug-in collection with a plug-in context.
-<p>
-A plug-in collection is a directory that has plug-ins as its immediate subdirectories. The plug-in context will scan the directory when <a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a> is called. Returns <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> if the directory has already been registered. A plug-in collection can be unregistered using <a class="el" href="group__cFuncsContext.html#g59817fdae1aeb28dbc7d3dcfc5568c15">cp_unregister_pcollection</a> or <a class="el" href="group__cFuncsContext.html#g0473208ccfde69e0c57ec1f2b4789781">cp_unregister_pcollections</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>the directory </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950">CP_ERR_RESOURCE</a> if insufficient memory </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g59817fdae1aeb28dbc7d3dcfc5568c15"></a><!-- doxytag: member="cpluff.h::cp_unregister_pcollection" ref="g59817fdae1aeb28dbc7d3dcfc5568c15" args="(cp_context_t *ctx, const char *dir)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_unregister_pcollection </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>dir</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Unregisters a previously registered plug-in collection from a plug-in context.
-<p>
-Plug-ins already loaded from the collection are not affected. Does nothing if the directory has not been registered. Plug-in collections can be registered using <a class="el" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cp_register_pcollection</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>the previously registered directory </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g0473208ccfde69e0c57ec1f2b4789781"></a><!-- doxytag: member="cpluff.h::cp_unregister_pcollections" ref="g0473208ccfde69e0c57ec1f2b4789781" args="(cp_context_t *ctx)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_unregister_pcollections </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Unregisters all plug-in collections from a plug-in context.
-<p>
-Plug-ins already loaded are not affected. Plug-in collections can be registered using <a class="el" href="group__cFuncsContext.html#g998d8350e64a129101f9da687ff5713b">cp_register_pcollection</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncsFrameworkInfo.html b/lib/cpluff/doc/reference/c-api/group__cFuncsFrameworkInfo.html
deleted file mode 100644
index bc06d16604..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncsFrameworkInfo.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Framework information</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Framework information<br>
-<small>
-[<a class="el" href="group__cFuncs.html">Functions</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These functions can be used to query runtime information about the linked in C-Pluff implementation.
-<p>
-They may be used by the main program or by a plug-in runtime.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsFrameworkInfo.html#g5783cc2485fb87c487b524c2d0fcd702">cp_get_version</a> (void)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the release version string of the linked in C-Pluff implementation. <a href="#g5783cc2485fb87c487b524c2d0fcd702"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsFrameworkInfo.html#gd44dbf4f97f511f9f4df3f9fdbe6e865">cp_get_host_type</a> (void)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the canonical host type associated with the linked in C-Pluff implementation. <a href="#gd44dbf4f97f511f9f4df3f9fdbe6e865"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g5783cc2485fb87c487b524c2d0fcd702"></a><!-- doxytag: member="cpluff.h::cp_get_version" ref="g5783cc2485fb87c487b524c2d0fcd702" args="(void)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const char* cp_get_version </td>
- <td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the release version string of the linked in C-Pluff implementation.
-<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the C-Pluff release version string </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="gd44dbf4f97f511f9f4df3f9fdbe6e865"></a><!-- doxytag: member="cpluff.h::cp_get_host_type" ref="gd44dbf4f97f511f9f4df3f9fdbe6e865" args="(void)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">const char* cp_get_host_type </td>
- <td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the canonical host type associated with the linked in C-Pluff implementation.
-<p>
-A multi-platform installation manager could use this information to determine what plug-in versions to install.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the canonical host type </dd></dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncsInit.html b/lib/cpluff/doc/reference/c-api/group__cFuncsInit.html
deleted file mode 100644
index 830c5fdc91..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncsInit.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Framework initialization</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Framework initialization<br>
-<small>
-[<a class="el" href="group__cFuncs.html">Functions</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These functions are used for framework initialization.
-<p>
-They are intended to be used by the main program. These functions are not thread safe.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a> (<a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a> error_handler)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the fatal error handler called on non-recoverable errors. <a href="#gc794f61edbd896327fabddad2b3d2fd5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cp_init</a> (void)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the plug-in framework. <a href="#gc72ffd50777c3e898dae661c67b04ba9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsInit.html#g8dfbe51a3b7f23368a4ddf0d9987180e">cp_destroy</a> (void)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys the plug-in framework and releases the resources used by it. <a href="#g8dfbe51a3b7f23368a4ddf0d9987180e"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="gc794f61edbd896327fabddad2b3d2fd5"></a><!-- doxytag: member="cpluff.h::cp_set_fatal_error_handler" ref="gc794f61edbd896327fabddad2b3d2fd5" args="(cp_fatal_error_func_t error_handler)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_set_fatal_error_handler </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a>&nbsp;</td>
- <td class="paramname"> <em>error_handler</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets the fatal error handler called on non-recoverable errors.
-<p>
-The default error handler prints the error message out to standard error and aborts the program. If the user specified error handler returns then the framework will abort the program. Setting NULL error handler will restore the default handler. This function is not thread-safe and it should be called before initializing the framework to catch all fatal errors.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>error_handler</em>&nbsp;</td><td>the fatal error handler </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="gc72ffd50777c3e898dae661c67b04ba9"></a><!-- doxytag: member="cpluff.h::cp_init" ref="gc72ffd50777c3e898dae661c67b04ba9" args="(void)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_init </td>
- <td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Initializes the plug-in framework.
-<p>
-This function must be called by the main program before calling any other plug-in framework functions except <a class="el" href="group__cFuncsFrameworkInfo.html">framework information</a> functions and <a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a>. This function may be called several times but it is not thread-safe. Library resources should be released by calling <a class="el" href="group__cFuncsInit.html#g8dfbe51a3b7f23368a4ddf0d9987180e">cp_destroy</a> when the framework is not needed anymore.<p>
-Additionally, to enable localization support, the main program should set the current locale using<div class="fragment"><pre class="fragment"> setlocale(LC_ALL, <span class="stringliteral">""</span>)
-</pre></div> before calling this function.<p>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or error code on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g8dfbe51a3b7f23368a4ddf0d9987180e"></a><!-- doxytag: member="cpluff.h::cp_destroy" ref="g8dfbe51a3b7f23368a4ddf0d9987180e" args="(void)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_destroy </td>
- <td>(</td>
- <td class="paramtype">void&nbsp;</td>
- <td class="paramname"> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Destroys the plug-in framework and releases the resources used by it.
-<p>
-The plug-in framework is only destroyed after this function has been called as many times as <a class="el" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cp_init</a>. This function is not thread-safe. Plug-in framework functions other than <a class="el" href="group__cFuncsInit.html#gc72ffd50777c3e898dae661c67b04ba9">cp_init</a>, cp_get_framework_info and <a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a> must not be called after the plug-in framework has been destroyed. All contexts are destroyed and all data references returned by the framework become invalid.
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncsLogging.html b/lib/cpluff/doc/reference/c-api/group__cFuncsLogging.html
deleted file mode 100644
index 085fca8d32..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncsLogging.html
+++ /dev/null
@@ -1,222 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Logging</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Logging<br>
-<small>
-[<a class="el" href="group__cFuncs.html">Functions</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These functions can be used to receive and emit log messages related to a particular plug-in context.
-<p>
-They can be used by the main program or by a plug-in runtime.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff">cp_register_logger</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> logger, void *user_data, <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> min_severity)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a logger with a plug-in context or updates the settings of a registered logger. <a href="#g5f6962ee1b09d60d9b98d25adfd55cff"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html#g206e88cf84739ff2a0ee6e6925ca5ed8">cp_unregister_logger</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> logger)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a logger registration. <a href="#g206e88cf84739ff2a0ee6e6925ca5ed8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html#g6227362eb74ed67ad53ec20e40b9b7bf">cp_log</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity, const char *msg)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emits a new log message. <a href="#g6227362eb74ed67ad53ec20e40b9b7bf"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsLogging.html#g16486c754d76d388e0f4c205668c7187">cp_is_logged</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether a message of the specified severity would get logged. <a href="#g16486c754d76d388e0f4c205668c7187"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g5f6962ee1b09d60d9b98d25adfd55cff"></a><!-- doxytag: member="cpluff.h::cp_register_logger" ref="g5f6962ee1b09d60d9b98d25adfd55cff" args="(cp_context_t *ctx, cp_logger_func_t logger, void *user_data, cp_log_severity_t min_severity)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_register_logger </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a>&nbsp;</td>
- <td class="paramname"> <em>logger</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>user_data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a>&nbsp;</td>
- <td class="paramname"> <em>min_severity</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Registers a logger with a plug-in context or updates the settings of a registered logger.
-<p>
-The logger will receive selected log messages. If the specified logger is not yet known, a new logger registration is made, otherwise the settings for the existing logger are updated. The logger can be unregistered using <a class="el" href="group__cFuncsLogging.html#g206e88cf84739ff2a0ee6e6925ca5ed8">cp_unregister_logger</a> and it is automatically unregistered when the registering plug-in is stopped or when the context is destroyed.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context to log </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>logger</em>&nbsp;</td><td>the logger function to be called </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>the user data pointer passed to the logger </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>min_severity</em>&nbsp;</td><td>the minimum severity of messages passed to logger </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950">CP_ERR_RESOURCE</a> if insufficient memory </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g206e88cf84739ff2a0ee6e6925ca5ed8"></a><!-- doxytag: member="cpluff.h::cp_unregister_logger" ref="g206e88cf84739ff2a0ee6e6925ca5ed8" args="(cp_context_t *ctx, cp_logger_func_t logger)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_unregister_logger </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a>&nbsp;</td>
- <td class="paramname"> <em>logger</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Removes a logger registration.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>logger</em>&nbsp;</td><td>the logger function to be unregistered </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g6227362eb74ed67ad53ec20e40b9b7bf"></a><!-- doxytag: member="cpluff.h::cp_log" ref="g6227362eb74ed67ad53ec20e40b9b7bf" args="(cp_context_t *ctx, cp_log_severity_t severity, const char *msg)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_log </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a>&nbsp;</td>
- <td class="paramname"> <em>severity</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>msg</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Emits a new log message.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>severity</em>&nbsp;</td><td>the severity of the event </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>the log message (possibly localized) </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g16486c754d76d388e0f4c205668c7187"></a><!-- doxytag: member="cpluff.h::cp_is_logged" ref="g16486c754d76d388e0f4c205668c7187" args="(cp_context_t *ctx, cp_log_severity_t severity)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cp_is_logged </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a>&nbsp;</td>
- <td class="paramname"> <em>severity</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns whether a message of the specified severity would get logged.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>severity</em>&nbsp;</td><td>the target logging severity </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>whether a message of the specified severity would get logged </dd></dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncsPlugin.html b/lib/cpluff/doc/reference/c-api/group__cFuncsPlugin.html
deleted file mode 100644
index ecb62a077c..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncsPlugin.html
+++ /dev/null
@@ -1,360 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Plug-in management</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Plug-in management<br>
-<small>
-[<a class="el" href="group__cFuncs.html">Functions</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These functions can be used to manage plug-ins.
-<p>
-They are intended to be used by the main program.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cp_load_plugin_descriptor</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *path, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads a plug-in descriptor from the specified plug-in installation path and returns information about the plug-in. <a href="#gcb92588ad3b48dab5e9487698f6ef437"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#gc862fd9be2bad2e0dfaafa6216ad34d4">cp_install_plugin</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *pi)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Installs the plug-in described by the specified plug-in information structure to the specified plug-in context. <a href="#gc862fd9be2bad2e0dfaafa6216ad34d4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, int flags)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Scans for plug-ins in the registered plug-in directories, installing new plug-ins and upgrading installed plug-ins. <a href="#ga9603cd8d153b0ce192ac7b6e56779af"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g2456b7740351c2530376ffb3a5ab7d92">cp_start_plugin</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starts a plug-in. <a href="#g2456b7740351c2530376ffb3a5ab7d92"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g7bdc861d480c6c9addafbb0f481323fa">cp_stop_plugin</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stops a plug-in. <a href="#g7bdc861d480c6c9addafbb0f481323fa"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g4dec7d61518adfa01da3f2892eaea20a">cp_stop_plugins</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stops all active plug-ins. <a href="#g4dec7d61518adfa01da3f2892eaea20a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g2249552dc67bb7893f81babee4a27454">cp_uninstall_plugin</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uninstalls the specified plug-in. <a href="#g2249552dc67bb7893f81babee4a27454"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPlugin.html#g01a607d9ae7f9fdb7e91a1845b0e5e99">cp_uninstall_plugins</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uninstalls all plug-ins. <a href="#g01a607d9ae7f9fdb7e91a1845b0e5e99"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="gcb92588ad3b48dab5e9487698f6ef437"></a><!-- doxytag: member="cpluff.h::cp_load_plugin_descriptor" ref="gcb92588ad3b48dab5e9487698f6ef437" args="(cp_context_t *ctx, const char *path, cp_status_t *status)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a>* cp_load_plugin_descriptor </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>path</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *&nbsp;</td>
- <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Loads a plug-in descriptor from the specified plug-in installation path and returns information about the plug-in.
-<p>
-The plug-in descriptor is validated during loading. Possible loading errors are reported via the specified plug-in context. The plug-in is not installed to the context. If operation fails or the descriptor is invalid then NULL is returned. The caller must release the returned information by calling cp_release_plugin_info when it does not need the information anymore, typically after installing the plug-in. The returned plug-in information must not be modified.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>the installation path of the plug-in </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>a pointer to the location where status code is to be stored, or NULL </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to the information structure or NULL if error occurs </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="gc862fd9be2bad2e0dfaafa6216ad34d4"></a><!-- doxytag: member="cpluff.h::cp_install_plugin" ref="gc862fd9be2bad2e0dfaafa6216ad34d4" args="(cp_context_t *ctx, cp_plugin_info_t *pi)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_install_plugin </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *&nbsp;</td>
- <td class="paramname"> <em>pi</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Installs the plug-in described by the specified plug-in information structure to the specified plug-in context.
-<p>
-The plug-in information must have been loaded using <a class="el" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cp_load_plugin_descriptor</a> with the same plug-in context. The installation fails on <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dab07cfdc96a5dbc3a3e359bae2534c9d2">CP_ERR_CONFLICT</a> if the context already has an installed plug-in with the same plug-in identifier. Installation also fails if the plug-in tries to install an extension point which conflicts with an already installed extension point. The plug-in information must not be modified but it is safe to call cp_release_plugin_info after the plug-in has been installed.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>pi</em>&nbsp;</td><td>plug-in information structure </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or an error code on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="ga9603cd8d153b0ce192ac7b6e56779af"></a><!-- doxytag: member="cpluff.h::cp_scan_plugins" ref="ga9603cd8d153b0ce192ac7b6e56779af" args="(cp_context_t *ctx, int flags)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_scan_plugins </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int&nbsp;</td>
- <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Scans for plug-ins in the registered plug-in directories, installing new plug-ins and upgrading installed plug-ins.
-<p>
-This function can be used to initially load the plug-ins and to later rescan for new plug-ins.<p>
-When several versions of the same plug-in is available the most recent version will be installed. The upgrade behavior depends on the specified <a class="el" href="group__cScanFlags.html">flags</a>. If <a class="el" href="group__cScanFlags.html#g1d4b72334d60f1401e6616da54e4d6f1">CP_SP_UPGRADE</a> is set then upgrades to installed plug-ins are allowed. The old version is unloaded and the new version installed instead. If <a class="el" href="group__cScanFlags.html#g72cdcd1181d60fd3caf5d0e0dd59c33c">CP_SP_STOP_ALL_ON_UPGRADE</a> is set then all active plug-ins are stopped if any plug-ins are to be upgraded. If <a class="el" href="group__cScanFlags.html#gb5996fbc57c7ec3bb538bc80a3ebfc40">CP_SP_STOP_ALL_ON_INSTALL</a> is set then all active plug-ins are stopped if any plug-ins are to be installed or upgraded. Finally, if <a class="el" href="group__cScanFlags.html#g7ca04507561932ae293e81c3636768b7">CP_SP_RESTART_ACTIVE</a> is set all currently active plug-ins will be restarted after the changes (if they were stopped).<p>
-When removing plug-in files from the plug-in directories, the plug-ins to be removed must be first unloaded. Therefore this function does not check for removed plug-ins.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>the bitmask of flags </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or an error code on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g2456b7740351c2530376ffb3a5ab7d92"></a><!-- doxytag: member="cpluff.h::cp_start_plugin" ref="g2456b7740351c2530376ffb3a5ab7d92" args="(cp_context_t *ctx, const char *id)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_start_plugin </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Starts a plug-in.
-<p>
-Also starts any imported plug-ins. If the plug-in is already starting then this function blocks until the plug-in has started or failed to start. If the plug-in is already active then this function returns immediately. If the plug-in is stopping then this function blocks until the plug-in has stopped and then starts the plug-in.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>identifier of the plug-in to be started </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or an error code on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g7bdc861d480c6c9addafbb0f481323fa"></a><!-- doxytag: member="cpluff.h::cp_stop_plugin" ref="g7bdc861d480c6c9addafbb0f481323fa" args="(cp_context_t *ctx, const char *id)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_stop_plugin </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Stops a plug-in.
-<p>
-First stops any dependent plug-ins that are currently active. Then stops the specified plug-in. If the plug-in is already stopping then this function blocks until the plug-in has stopped. If the plug-in is already stopped then this function returns immediately. If the plug-in is starting then this function blocks until the plug-in has started (or failed to start) and then stops the plug-in.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>identifier of the plug-in to be stopped </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e">CP_ERR_UNKNOWN</a> if unknown plug-in </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g4dec7d61518adfa01da3f2892eaea20a"></a><!-- doxytag: member="cpluff.h::cp_stop_plugins" ref="g4dec7d61518adfa01da3f2892eaea20a" args="(cp_context_t *ctx)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_stop_plugins </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Stops all active plug-ins.
-<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g2249552dc67bb7893f81babee4a27454"></a><!-- doxytag: member="cpluff.h::cp_uninstall_plugin" ref="g2249552dc67bb7893f81babee4a27454" args="(cp_context_t *ctx, const char *id)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_uninstall_plugin </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Uninstalls the specified plug-in.
-<p>
-The plug-in is first stopped if it is active. Then uninstalls the plug-in and any dependent plug-ins.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>identifier of the plug-in to be unloaded </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da6418acb9f17c3a00ea350684bff9782e">CP_ERR_UNKNOWN</a> if unknown plug-in </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g01a607d9ae7f9fdb7e91a1845b0e5e99"></a><!-- doxytag: member="cpluff.h::cp_uninstall_plugins" ref="g01a607d9ae7f9fdb7e91a1845b0e5e99" args="(cp_context_t *ctx)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_uninstall_plugins </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Uninstalls all plug-ins.
-<p>
-All plug-ins are first stopped and then uninstalled.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncsPluginExec.html b/lib/cpluff/doc/reference/c-api/group__cFuncsPluginExec.html
deleted file mode 100644
index 69a148e397..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncsPluginExec.html
+++ /dev/null
@@ -1,228 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Plug-in execution</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Plug-in execution<br>
-<small>
-[<a class="el" href="group__cFuncs.html">Functions</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These functions support a plug-in controlled execution model.
-<p>
-Started plug-ins can use <a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cp_run_function</a> to register <a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">a run function</a> which is called when the main program calls <a class="el" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cp_run_plugins</a> or <a class="el" href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929">cp_run_plugins_step</a>. A run function should do a finite chunk of work and then return telling whether there is more work to be done. A run function is automatically unregistered when the plug-in is stopped. Run functions make it possible for plug-ins to control the flow of execution or they can be used as a coarse way of task switching if there is no multi-threading support.<p>
-The C-Pluff distribution includes a generic main program, cpluff-loader, which only acts as a plug-in loader. It loads and starts up the specified plug-ins, passing any additional startup arguments to them and then just calls run functions of the plug-ins. This makes it is possible to put all the application specific logic in plug-ins. Application does not necessarily need a main program of its own.<p>
-It is also safe, from framework perspective, to call these functions from multiple threads. Run functions may then be executed in parallel threads.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cp_run_function</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a> runfunc)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a new run function. <a href="#g357c45e87ff896e8541fe3758b19a035"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g4668727a5b1c9f0531f6d5dc77fa9f9f">cp_run_plugins</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs the started plug-ins as long as there is something to run. <a href="#g4668727a5b1c9f0531f6d5dc77fa9f9f"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g7e212bc93d6588fc09995f310548c929">cp_run_plugins_step</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Runs one registered run function. <a href="#g7e212bc93d6588fc09995f310548c929"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4">cp_set_context_args</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, char **argv)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets startup arguments for the specified plug-in context. <a href="#g9233fa8a46e408044030d2d767f1fda4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginExec.html#g08929433446b28f8fce8b8beae0e742a">cp_get_context_args</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, int *argc)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the startup arguments associated with the specified plug-in context. <a href="#g08929433446b28f8fce8b8beae0e742a"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g357c45e87ff896e8541fe3758b19a035"></a><!-- doxytag: member="cpluff.h::cp_run_function" ref="g357c45e87ff896e8541fe3758b19a035" args="(cp_context_t *ctx, cp_run_func_t runfunc)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_run_function </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a>&nbsp;</td>
- <td class="paramname"> <em>runfunc</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Registers a new run function.
-<p>
-The plug-in instance data pointer is given to the run function as a parameter. The run function must return zero if it has finished its work or non-zero if it should be called again later. The run function is unregistered when it returns zero. Plug-in framework functions stopping the registering plug-in must not be called from within a run function. This function does nothing if the specified run function is already registered for the calling plug-in instance.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context of the registering plug-in </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>runfunc</em>&nbsp;</td><td>the run function to be registered </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or an error code on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g4668727a5b1c9f0531f6d5dc77fa9f9f"></a><!-- doxytag: member="cpluff.h::cp_run_plugins" ref="g4668727a5b1c9f0531f6d5dc77fa9f9f" args="(cp_context_t *ctx)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_run_plugins </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Runs the started plug-ins as long as there is something to run.
-<p>
-This function calls repeatedly run functions registered by started plug-ins until there are no more active run functions. This function is normally called by a thin main proram, a loader, which loads plug-ins, starts some plug-ins and then passes control over to the started plug-ins.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context containing the plug-ins </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g7e212bc93d6588fc09995f310548c929"></a><!-- doxytag: member="cpluff.h::cp_run_plugins_step" ref="g7e212bc93d6588fc09995f310548c929" args="(cp_context_t *ctx)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int cp_run_plugins_step </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em> </td>
- <td>&nbsp;)&nbsp;</td>
- <td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Runs one registered run function.
-<p>
-This function calls one active run function registered by a started plug-in. When the run function returns this function also returns and passes control back to the main program. The return value can be used to determine whether there are any active run functions left. This function does nothing if there are no active registered run functions.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context containing the plug-ins </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>whether there are active run functions waiting to be run </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g9233fa8a46e408044030d2d767f1fda4"></a><!-- doxytag: member="cpluff.h::cp_set_context_args" ref="g9233fa8a46e408044030d2d767f1fda4" args="(cp_context_t *ctx, char **argv)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_set_context_args </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char **&nbsp;</td>
- <td class="paramname"> <em>argv</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Sets startup arguments for the specified plug-in context.
-<p>
-Like for usual C main functions, the first argument is expected to be the name of the program being executed or an empty string and the argument array should be terminated by NULL entry. If the main program is about to pass startup arguments to plug-ins it should call this function before starting any plug-ins in the context. The arguments are not copied and the caller is responsible for keeping the argument data available once the arguments have been set until the context is destroyed. Plug-ins can access the startup arguments using <a class="el" href="group__cFuncsPluginExec.html#g08929433446b28f8fce8b8beae0e742a">cp_get_context_args</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>a NULL-terminated array of arguments </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g08929433446b28f8fce8b8beae0e742a"></a><!-- doxytag: member="cpluff.h::cp_get_context_args" ref="g08929433446b28f8fce8b8beae0e742a" args="(cp_context_t *ctx, int *argc)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char** cp_get_context_args </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>argc</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the startup arguments associated with the specified plug-in context.
-<p>
-This function is intended to be used by a plug-in runtime. Startup arguments are set by the main program using <a class="el" href="group__cFuncsPluginExec.html#g9233fa8a46e408044030d2d767f1fda4">cp_set_context_args</a>. The returned argument count is zero and the array pointer is NULL if no arguments have been set.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>a pointer to a location where the number of startup arguments is stored, or NULL for none </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>an argument array terminated by NULL or NULL if not set </dd></dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncsPluginInfo.html b/lib/cpluff/doc/reference/c-api/group__cFuncsPluginInfo.html
deleted file mode 100644
index 13a900c59f..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncsPluginInfo.html
+++ /dev/null
@@ -1,498 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Plug-in and extension information</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Plug-in and extension information<br>
-<small>
-[<a class="el" href="group__cFuncs.html">Functions</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These functions can be used to query information about the installed plug-ins, extension points and extensions or to listen for plug-in state changes.
-<p>
-They may be used by the main program or by a plug-in runtime.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g4aba19886c68b2a3c1508c3b66110c12">cp_get_plugin_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns static information about the specified plug-in. <a href="#g4aba19886c68b2a3c1508c3b66110c12"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g015373cf40c08ea4a346a1bac5656fb1">cp_get_plugins_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status, int *num)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns static information about the installed plug-ins. <a href="#g015373cf40c08ea4a346a1bac5656fb1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g5fb5797d8d84e03275070666dc60a02d">cp_get_ext_points_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status, int *num)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns static information about the currently installed extension points. <a href="#g5fb5797d8d84e03275070666dc60a02d"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__extension__t.html">cp_extension_t</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#gc4321531959bb053be7698139b0ae168">cp_get_extensions_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *extpt_id, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status, int *num)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns static information about the currently installed extension points. <a href="#gc4321531959bb053be7698139b0ae168"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cp_release_info</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, void *info)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Releases a previously obtained reference counted information object. <a href="#gbac266df43a4850cf43224aa7b863942"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g926489fc366d412cd272ec4bfefe22e5">cp_get_plugin_state</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current state of the specified plug-in. <a href="#g926489fc366d412cd272ec4bfefe22e5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cp_register_plistener</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> listener, void *user_data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registers a plug-in listener with a plug-in context. <a href="#ge9930a241e859e9eb07e36981ef7077a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e">cp_unregister_plistener</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> listener)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a plug-in listener from a plug-in context. <a href="#g2cd49b8752e8971b569ae3e39b41723e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g9868077c72df950607e2698153d593d1">cp_lookup_cfg_element</a> (<a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *base, const char *path)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses a configuration element tree and returns the specified element. <a href="#g9868077c72df950607e2698153d593d1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsPluginInfo.html#g13f5121ab21951d59d3c6b985ed6adcd">cp_lookup_cfg_value</a> (<a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *base, const char *path)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Traverses a configuration element tree and returns the value of the specified element or attribute. <a href="#g13f5121ab21951d59d3c6b985ed6adcd"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g4aba19886c68b2a3c1508c3b66110c12"></a><!-- doxytag: member="cpluff.h::cp_get_plugin_info" ref="g4aba19886c68b2a3c1508c3b66110c12" args="(cp_context_t *ctx, const char *id, cp_status_t *status)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a>* cp_get_plugin_info </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *&nbsp;</td>
- <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns static information about the specified plug-in.
-<p>
-The returned information must not be modified and the caller must release the information by calling <a class="el" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cp_release_info</a> when the information is not needed anymore. When a plug-in runtime calls this function it may pass NULL as the identifier to get information about the plug-in itself.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>identifier of the plug-in to be examined or NULL for self </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>a pointer to the location where status code is to be stored, or NULL </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to the information structure or NULL on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g015373cf40c08ea4a346a1bac5656fb1"></a><!-- doxytag: member="cpluff.h::cp_get_plugins_info" ref="g015373cf40c08ea4a346a1bac5656fb1" args="(cp_context_t *ctx, cp_status_t *status, int *num)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a>** cp_get_plugins_info </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *&nbsp;</td>
- <td class="paramname"> <em>status</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns static information about the installed plug-ins.
-<p>
-The returned information must not be modified and the caller must release the information by calling <a class="el" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cp_release_info</a> when the information is not needed anymore.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>a pointer to the location where status code is to be stored, or NULL </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>a pointer to the location where the number of returned plug-ins is stored, or NULL </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a NULL-terminated list of pointers to plug-in information or NULL on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g5fb5797d8d84e03275070666dc60a02d"></a><!-- doxytag: member="cpluff.h::cp_get_ext_points_info" ref="g5fb5797d8d84e03275070666dc60a02d" args="(cp_context_t *ctx, cp_status_t *status, int *num)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a>** cp_get_ext_points_info </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *&nbsp;</td>
- <td class="paramname"> <em>status</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns static information about the currently installed extension points.
-<p>
-The returned information must not be modified and the caller must release the information by calling <a class="el" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cp_release_info</a> when the information is not needed anymore.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>a pointer to the location where status code is to be stored, or NULL </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>filled with the number of returned extension points, if non-NULL </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a NULL-terminated list of pointers to extension point information or NULL on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="gc4321531959bb053be7698139b0ae168"></a><!-- doxytag: member="cpluff.h::cp_get_extensions_info" ref="gc4321531959bb053be7698139b0ae168" args="(cp_context_t *ctx, const char *extpt_id, cp_status_t *status, int *num)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__extension__t.html">cp_extension_t</a>** cp_get_extensions_info </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>extpt_id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *&nbsp;</td>
- <td class="paramname"> <em>status</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int *&nbsp;</td>
- <td class="paramname"> <em>num</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns static information about the currently installed extension points.
-<p>
-The returned information must not be modified and the caller must release the information by calling <a class="el" href="group__cFuncsPluginInfo.html#gbac266df43a4850cf43224aa7b863942">cp_release_info</a> when the information is not needed anymore.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>extpt_id</em>&nbsp;</td><td>the extension point identifier or NULL for all extensions </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>a pointer to the location where status code is to be stored, or NULL </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>num</em>&nbsp;</td><td>a pointer to the location where the number of returned extension points is to be stored, or NULL </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to a NULL-terminated list of pointers to extension information or NULL on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="gbac266df43a4850cf43224aa7b863942"></a><!-- doxytag: member="cpluff.h::cp_release_info" ref="gbac266df43a4850cf43224aa7b863942" args="(cp_context_t *ctx, void *info)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_release_info </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Releases a previously obtained reference counted information object.
-<p>
-The documentation for functions returning such information refers to this function. The information must not be accessed after it has been released. The framework uses reference counting to deallocate the information when it is not in use anymore.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>the information to be released </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g926489fc366d412cd272ec4bfefe22e5"></a><!-- doxytag: member="cpluff.h::cp_get_plugin_state" ref="g926489fc366d412cd272ec4bfefe22e5" args="(cp_context_t *ctx, const char *id)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> cp_get_plugin_state </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>id</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Returns the current state of the specified plug-in.
-<p>
-Returns <a class="el" href="group__cEnums.html#ggd517a8088e2ed89fda71251d9c7b325290eacd4f02fb7d65eaf68f7251a99689">CP_PLUGIN_UNINSTALLED</a> if the specified plug-in identifier is unknown.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>the plug-in identifier </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the current state of the plug-in </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="ge9930a241e859e9eb07e36981ef7077a"></a><!-- doxytag: member="cpluff.h::cp_register_plistener" ref="ge9930a241e859e9eb07e36981ef7077a" args="(cp_context_t *ctx, cp_plugin_listener_func_t listener, void *user_data)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_register_plistener </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a>&nbsp;</td>
- <td class="paramname"> <em>listener</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>user_data</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Registers a plug-in listener with a plug-in context.
-<p>
-The listener is called synchronously immediately after a plug-in state change. There can be several listeners registered with the same context. A plug-in listener can be unregistered using <a class="el" href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e">cp_unregister_plistener</a> and it is automatically unregistered when the registering plug-in is stopped or when the context is destroyed.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>listener</em>&nbsp;</td><td>the plug-in listener to be added </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>user data pointer supplied to the listener </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or <a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7dac4e31e28c38ba325fa7169da1a233950">CP_ERR_RESOURCE</a> if out of resources </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g2cd49b8752e8971b569ae3e39b41723e"></a><!-- doxytag: member="cpluff.h::cp_unregister_plistener" ref="g2cd49b8752e8971b569ae3e39b41723e" args="(cp_context_t *ctx, cp_plugin_listener_func_t listener)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_unregister_plistener </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a>&nbsp;</td>
- <td class="paramname"> <em>listener</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Removes a plug-in listener from a plug-in context.
-<p>
-Does nothing if the specified listener was not registered.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>listener</em>&nbsp;</td><td>the plug-in listener to be removed </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g9868077c72df950607e2698153d593d1"></a><!-- doxytag: member="cpluff.h::cp_lookup_cfg_element" ref="g9868077c72df950607e2698153d593d1" args="(cp_cfg_element_t *base, const char *path)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a>* cp_lookup_cfg_element </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *&nbsp;</td>
- <td class="paramname"> <em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Traverses a configuration element tree and returns the specified element.
-<p>
-The target element is specified by a base element and a relative path from the base element to the target element. The path includes element names separated by slash '/'. Two dots ".." can be used to designate a parent element. Returns NULL if the specified element does not exist. If there are several subelements with the same name, this function chooses the first one when traversing the tree.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>base</em>&nbsp;</td><td>the base configuration element </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>the path to the target element </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the target element or NULL if nonexisting </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g13f5121ab21951d59d3c6b985ed6adcd"></a><!-- doxytag: member="cpluff.h::cp_lookup_cfg_value" ref="g13f5121ab21951d59d3c6b985ed6adcd" args="(cp_cfg_element_t *base, const char *path)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* cp_lookup_cfg_value </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *&nbsp;</td>
- <td class="paramname"> <em>base</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Traverses a configuration element tree and returns the value of the specified element or attribute.
-<p>
-The target element or attribute is specified by a base element and a relative path from the base element to the target element or attributes. The path includes element names separated by slash '/'. Two dots ".." can be used to designate a parent element. The path may end with '@' followed by an attribute name to select an attribute. Returns NULL if the specified element or attribute does not exist or does not have a value. If there are several subelements with the same name, this function chooses the first one when traversing the tree.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>base</em>&nbsp;</td><td>the base configuration element </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>the path to the target element </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the value of the target element or attribute or NULL </dd></dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cFuncsSymbols.html b/lib/cpluff/doc/reference/c-api/group__cFuncsSymbols.html
deleted file mode 100644
index 2f6d4958f9..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cFuncsSymbols.html
+++ /dev/null
@@ -1,186 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Dynamic symbols</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Dynamic symbols<br>
-<small>
-[<a class="el" href="group__cFuncs.html">Functions</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These functions can be used to dynamically access symbols exported by the plug-ins.
-<p>
-They are intended to be used by a plug-in runtime or by the main program.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsSymbols.html#g9d128b52c0ffe2d4215026fe59f9abeb">cp_define_symbol</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *name, void *ptr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Defines a context specific symbol. <a href="#g9d128b52c0ffe2d4215026fe59f9abeb"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7">cp_resolve_symbol</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const char *id, const char *name, <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *status)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resolves a symbol provided by the specified plug-in. <a href="#g8bc3b7fcf4f4ed414837f5a3998d46b7"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cFuncsSymbols.html#g150629125a61ac9fa4e2095b0d9c7e57">cp_release_symbol</a> (<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx, const void *ptr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Releases a previously obtained symbol. <a href="#g150629125a61ac9fa4e2095b0d9c7e57"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="g9d128b52c0ffe2d4215026fe59f9abeb"></a><!-- doxytag: member="cpluff.h::cp_define_symbol" ref="g9d128b52c0ffe2d4215026fe59f9abeb" args="(cp_context_t *ctx, const char *name, void *ptr)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> cp_define_symbol </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">void *&nbsp;</td>
- <td class="paramname"> <em>ptr</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Defines a context specific symbol.
-<p>
-If a plug-in has symbols which have a plug-in instance specific value then the plug-in should define those symbols when it is started. The defined symbols are cleared automatically when the plug-in instance is stopped. Symbols can not be redefined.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>the name of the symbol </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>pointer value for the symbol </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__cEnums.html#ggd6a8106d281ffa4b1f43fe8e3effc7da5ffbe0fe80af75e699e4b04909912f7a">CP_OK</a> (zero) on success or a status code on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g8bc3b7fcf4f4ed414837f5a3998d46b7"></a><!-- doxytag: member="cpluff.h::cp_resolve_symbol" ref="g8bc3b7fcf4f4ed414837f5a3998d46b7" args="(cp_context_t *ctx, const char *id, const char *name, cp_status_t *status)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void* cp_resolve_symbol </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>id</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char *&nbsp;</td>
- <td class="paramname"> <em>name</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> *&nbsp;</td>
- <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Resolves a symbol provided by the specified plug-in.
-<p>
-The plug-in is started automatically if it is not already active. The symbol may be context specific or global. The framework first looks for a context specific symbol and then falls back to resolving a global symbol exported by the plug-in runtime library. The symbol can be released using <a class="el" href="group__cFuncsSymbols.html#g150629125a61ac9fa4e2095b0d9c7e57">cp_release_symbol</a> when it is not needed anymore. Pointers obtained from this function must not be passed on to other plug-ins or the main program.<p>
-When a plug-in runtime calls this function the plug-in framework creates a dynamic dependency from the symbol using plug-in to the symbol defining plug-in. The symbol using plug-in is stopped automatically if the symbol defining plug-in is about to be stopped. If the symbol using plug-in does not explicitly release the symbol then it is automatically released after a call to the stop function. It is not safe to refer to a dynamically resolved symbol in the stop function except to release it using <a class="el" href="group__cFuncsSymbols.html#g150629125a61ac9fa4e2095b0d9c7e57">cp_release_symbol</a>.<p>
-When the main program calls this function it is the responsibility of the main program to always release the symbol before the symbol defining plug-in is stopped. It is a fatal error if the symbol is not released before the symbol defining plug-in is stopped.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>the identifier of the symbol defining plug-in </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>the name of the symbol </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>a pointer to the location where the status code is to be stored, or NULL </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>the pointer associated with the symbol or NULL on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g150629125a61ac9fa4e2095b0d9c7e57"></a><!-- doxytag: member="cpluff.h::cp_release_symbol" ref="g150629125a61ac9fa4e2095b0d9c7e57" args="(cp_context_t *ctx, const void *ptr)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void cp_release_symbol </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *&nbsp;</td>
- <td class="paramname"> <em>ctx</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const void *&nbsp;</td>
- <td class="paramname"> <em>ptr</em></td><td>&nbsp;</td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td><td width="100%"></td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Releases a previously obtained symbol.
-<p>
-The pointer must not be used after the symbol has been released. The symbol is released only after as many calls to this function as there have been for <a class="el" href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7">cp_resolve_symbol</a> for the same plug-in and symbol.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>the pointer associated with the symbol </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cScanFlags.html b/lib/cpluff/doc/reference/c-api/group__cScanFlags.html
deleted file mode 100644
index 0bfff719de..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cScanFlags.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Flags for plug-in scanning</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Flags for plug-in scanning<br>
-<small>
-[<a class="el" href="group__cDefines.html">Defines</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-These constants can be orred together for the flags parameter of <a class="el" href="group__cFuncsPlugin.html#ga9603cd8d153b0ce192ac7b6e56779af">cp_scan_plugins</a>.
-<p>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html#g1d4b72334d60f1401e6616da54e4d6f1">CP_SP_UPGRADE</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flag enables upgrades of installed plug-ins by unloading the old version and installing the new version. <a href="#g1d4b72334d60f1401e6616da54e4d6f1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html#g72cdcd1181d60fd3caf5d0e0dd59c33c">CP_SP_STOP_ALL_ON_UPGRADE</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flag causes all plug-ins to be stopped before any plug-ins are to be upgraded. <a href="#g72cdcd1181d60fd3caf5d0e0dd59c33c"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html#gb5996fbc57c7ec3bb538bc80a3ebfc40">CP_SP_STOP_ALL_ON_INSTALL</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This flag causes all plug-ins to be stopped before any plugins are to be installed (also if new version is to be installed as part of an upgrade). <a href="#gb5996fbc57c7ec3bb538bc80a3ebfc40"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cScanFlags.html#g7ca04507561932ae293e81c3636768b7">CP_SP_RESTART_ACTIVE</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Setting this flag causes the currently active plug-ins to be restarted after all changes to the plug-ins have been made (if they were stopped). <a href="#g7ca04507561932ae293e81c3636768b7"></a><br></td></tr>
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="g1d4b72334d60f1401e6616da54e4d6f1"></a><!-- doxytag: member="cpluff.h::CP_SP_UPGRADE" ref="g1d4b72334d60f1401e6616da54e4d6f1" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_SP_UPGRADE </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-This flag enables upgrades of installed plug-ins by unloading the old version and installing the new version.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="g72cdcd1181d60fd3caf5d0e0dd59c33c"></a><!-- doxytag: member="cpluff.h::CP_SP_STOP_ALL_ON_UPGRADE" ref="g72cdcd1181d60fd3caf5d0e0dd59c33c" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_SP_STOP_ALL_ON_UPGRADE </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-This flag causes all plug-ins to be stopped before any plug-ins are to be upgraded.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="gb5996fbc57c7ec3bb538bc80a3ebfc40"></a><!-- doxytag: member="cpluff.h::CP_SP_STOP_ALL_ON_INSTALL" ref="gb5996fbc57c7ec3bb538bc80a3ebfc40" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_SP_STOP_ALL_ON_INSTALL </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-This flag causes all plug-ins to be stopped before any plugins are to be installed (also if new version is to be installed as part of an upgrade).
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="g7ca04507561932ae293e81c3636768b7"></a><!-- doxytag: member="cpluff.h::CP_SP_RESTART_ACTIVE" ref="g7ca04507561932ae293e81c3636768b7" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_SP_RESTART_ACTIVE </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Setting this flag causes the currently active plug-ins to be restarted after all changes to the plug-ins have been made (if they were stopped).
-<p>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cStructs.html b/lib/cpluff/doc/reference/c-api/group__cStructs.html
deleted file mode 100644
index a41b91bb10..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cStructs.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Data structures</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Data structures</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Data structure definitions.
-<p>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Plug-in information structure captures information about a plug-in. <a href="structcp__plugin__info__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Information about plug-in import. <a href="structcp__plugin__import__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension point structure captures information about an extension point. <a href="structcp__ext__point__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__extension__t.html">cp_extension_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension structure captures information about an extension. <a href="structcp__extension__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A configuration element contains configuration information for an extension. <a href="structcp__cfg__element__t.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Container for plug-in runtime information. <a href="structcp__plugin__runtime__t.html#_details">More...</a><br></td></tr>
-</table>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cTypedefs.html b/lib/cpluff/doc/reference/c-api/group__cTypedefs.html
deleted file mode 100644
index f5e389256a..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cTypedefs.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Typedefs</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Typedefs</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Typedefs of various kind.
-<p>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Modules</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsOpaque.html">Opaque types</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opaque data type definitions. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html">Shorthand type names</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shorthand type names for structs and enumerations. <br></td></tr>
-
-<p>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html">Callback function types</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Typedefs for client supplied callback functions. <br></td></tr>
-
-<p>
-</table>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cTypedefsFuncs.html b/lib/cpluff/doc/reference/c-api/group__cTypedefsFuncs.html
deleted file mode 100644
index df55fe9986..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cTypedefsFuncs.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Callback function types</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Callback function types<br>
-<small>
-[<a class="el" href="group__cTypedefs.html">Typedefs</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Typedefs for client supplied callback functions.
-<p>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a> (const char *plugin_id, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> old_state, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> new_state, void *user_data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A listener function called synchronously after a plugin state change. <a href="#g24fde3d7324169d8448700123aa97c7a"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a> (<a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity, const char *msg, const char *apid, void *user_data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A logger function called to log selected plug-in framework messages. <a href="#ga53e481fd552856aff67d8584f7e5614"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a> (const char *msg)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A fatal error handler for handling unrecoverable errors. <a href="#g91b11fd391854d0854cfde0779f8d707"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a> (void *plugin_data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A run function registered by a plug-in to perform work. <a href="#gf55fb990664aaa069e72a8fa4da20034"></a><br></td></tr>
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="g24fde3d7324169d8448700123aa97c7a"></a><!-- doxytag: member="cpluff.h::cp_plugin_listener_func_t" ref="g24fde3d7324169d8448700123aa97c7a" args="(const char *plugin_id, cp_plugin_state_t old_state, cp_plugin_state_t new_state, void *user_data)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef void(*) <a class="el" href="group__cTypedefsFuncs.html#g24fde3d7324169d8448700123aa97c7a">cp_plugin_listener_func_t</a>(const char *plugin_id, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> old_state, <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> new_state, void *user_data) </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A listener function called synchronously after a plugin state change.
-<p>
-The function should return promptly. <a class="el" href="group__cFuncsInit.html">Library initialization</a>, <a class="el" href="group__cFuncsContext.html">plug-in context management</a>, <a class="el" href="group__cFuncsPlugin.html">plug-in management</a>, listener registration (<a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cp_register_plistener</a> and <a class="el" href="group__cFuncsPluginInfo.html#g2cd49b8752e8971b569ae3e39b41723e">cp_unregister_plistener</a>) and <a class="el" href="group__cFuncsSymbols.html">dynamic symbol</a> functions must not be called from within a plug-in listener invocation. Listener functions are registered using <a class="el" href="group__cFuncsPluginInfo.html#ge9930a241e859e9eb07e36981ef7077a">cp_register_plistener</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>plugin_id</em>&nbsp;</td><td>the plug-in identifier </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>old_state</em>&nbsp;</td><td>the old plug-in state </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>new_state</em>&nbsp;</td><td>the new plug-in state </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>the user data pointer supplied at listener registration </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="ga53e481fd552856aff67d8584f7e5614"></a><!-- doxytag: member="cpluff.h::cp_logger_func_t" ref="ga53e481fd552856aff67d8584f7e5614" args="(cp_log_severity_t severity, const char *msg, const char *apid, void *user_data)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef void(*) <a class="el" href="group__cTypedefsFuncs.html#ga53e481fd552856aff67d8584f7e5614">cp_logger_func_t</a>(<a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> severity, const char *msg, const char *apid, void *user_data) </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A logger function called to log selected plug-in framework messages.
-<p>
-The messages may be localized. Plug-in framework API functions must not be called from within a logger function invocation. In a multi-threaded environment logger function invocations are serialized by the framework. Logger functions are registered using <a class="el" href="group__cFuncsLogging.html#g5f6962ee1b09d60d9b98d25adfd55cff">cp_register_logger</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>severity</em>&nbsp;</td><td>the severity of the message </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>the message to be logged, possibly localized </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>apid</em>&nbsp;</td><td>the identifier of the activating plug-in or NULL for the main program </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>user_data</em>&nbsp;</td><td>the user data pointer given when the logger was registered </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="g91b11fd391854d0854cfde0779f8d707"></a><!-- doxytag: member="cpluff.h::cp_fatal_error_func_t" ref="g91b11fd391854d0854cfde0779f8d707" args="(const char *msg)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef void(*) <a class="el" href="group__cTypedefsFuncs.html#g91b11fd391854d0854cfde0779f8d707">cp_fatal_error_func_t</a>(const char *msg) </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A fatal error handler for handling unrecoverable errors.
-<p>
-If the error handler returns then the framework aborts the program. Plug-in framework API functions must not be called from within a fatal error handler invocation. The fatal error handler function is set using <a class="el" href="group__cFuncsInit.html#gc794f61edbd896327fabddad2b3d2fd5">cp_set_fatal_error_handler</a>.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>the possibly localized error message </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="gf55fb990664aaa069e72a8fa4da20034"></a><!-- doxytag: member="cpluff.h::cp_run_func_t" ref="gf55fb990664aaa069e72a8fa4da20034" args="(void *plugin_data)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef int(*) <a class="el" href="group__cTypedefsFuncs.html#gf55fb990664aaa069e72a8fa4da20034">cp_run_func_t</a>(void *plugin_data) </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A run function registered by a plug-in to perform work.
-<p>
-The run function should perform a finite chunk of work and it should return a non-zero value if there is more work to be done. Run functions are registered using <a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cp_run_function</a> and the usage is discussed in more detail in the <a class="el" href="group__cFuncsPluginExec.html">serial execution</a> section.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>plugin_data</em>&nbsp;</td><td>the plug-in instance data pointer </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>non-zero if there is more work to be done or zero if finished </dd></dl>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cTypedefsOpaque.html b/lib/cpluff/doc/reference/c-api/group__cTypedefsOpaque.html
deleted file mode 100644
index 9c8704aabf..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cTypedefsOpaque.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Opaque types</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Opaque types<br>
-<small>
-[<a class="el" href="group__cTypedefs.html">Typedefs</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Opaque data type definitions.
-<p>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A plug-in context represents the co-operation environment of a set of plug-ins from the perspective of a particular participating plug-in or the perspective of the main program. <a href="#gcb1aa0619dcefa746383c5e0833b62e7"></a><br></td></tr>
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="gcb1aa0619dcefa746383c5e0833b62e7"></a><!-- doxytag: member="cpluff.h::cp_context_t" ref="gcb1aa0619dcefa746383c5e0833b62e7" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef struct <a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> <a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A plug-in context represents the co-operation environment of a set of plug-ins from the perspective of a particular participating plug-in or the perspective of the main program.
-<p>
-It is used as an opaque handle to the shared resources but the framework also uses the context to identify the plug-in or the main program invoking framework functions. Therefore a plug-in should not generally expose its context instance to other plug-ins or the main program and neither should the main program expose its context instance to plug-ins. The main program creates plug-in contexts using <a class="el" href="group__cFuncsContext.html#g7d239c4fc07cf7d3095a20900444ad62">cp_create_context</a> and plug-ins receive their plug-in contexts via <a class="el" href="structcp__plugin__runtime__t.html#f193bb8481e4b6aeab275fa5908a9af9">cp_plugin_runtime_t::create</a>.
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__cTypedefsShorthand.html b/lib/cpluff/doc/reference/c-api/group__cTypedefsShorthand.html
deleted file mode 100644
index 460136ea21..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__cTypedefsShorthand.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Shorthand type names</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Shorthand type names<br>
-<small>
-[<a class="el" href="group__cTypedefs.html">Typedefs</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Shorthand type names for structs and enumerations.
-<p>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#gc552cbab3bf4b5a2b62a1420521383ad">cp_plugin_info_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> structure. <a href="#gc552cbab3bf4b5a2b62a1420521383ad"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#g1da07ec69dd85c103a4dd8d8e8bc9018">cp_plugin_import_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a> structure. <a href="#g1da07ec69dd85c103a4dd8d8e8bc9018"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#g4a19f7af87165d59dd82866006a96424">cp_ext_point_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a> structure. <a href="#g4a19f7af87165d59dd82866006a96424"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__extension__t.html">cp_extension_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#gea86d23c48f7335c3b710b9a3af2bf89">cp_extension_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__extension__t.html">cp_extension_t</a> structure. <a href="#gea86d23c48f7335c3b710b9a3af2bf89"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#ge8a837c613935f505e66734c567ed700">cp_cfg_element_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> structure. <a href="#ge8a837c613935f505e66734c567ed700"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#gca5d98d242f7c005f04b00bf77d1882e">cp_plugin_runtime_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a> structure. <a href="#gca5d98d242f7c005f04b00bf77d1882e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#g53b128f964c24169c758a0c60248d602">cp_status_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for cp_status_t enumeration. <a href="#g53b128f964c24169c758a0c60248d602"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#g026780097ccf13e9896f2d4759aa642e">cp_plugin_state_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for cp_plugin_state_t enumeration. <a href="#g026780097ccf13e9896f2d4759aa642e"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cTypedefsShorthand.html#gfa3a21d1af3332cab04867d6f1b0b076">cp_log_severity_t</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A type for cp_log_severity_t enumeration. <a href="#gfa3a21d1af3332cab04867d6f1b0b076"></a><br></td></tr>
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="gc552cbab3bf4b5a2b62a1420521383ad"></a><!-- doxytag: member="cpluff.h::cp_plugin_info_t" ref="gc552cbab3bf4b5a2b62a1420521383ad" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef struct <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> structure.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="g1da07ec69dd85c103a4dd8d8e8bc9018"></a><!-- doxytag: member="cpluff.h::cp_plugin_import_t" ref="g1da07ec69dd85c103a4dd8d8e8bc9018" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef struct <a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a> <a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for <a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a> structure.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="g4a19f7af87165d59dd82866006a96424"></a><!-- doxytag: member="cpluff.h::cp_ext_point_t" ref="g4a19f7af87165d59dd82866006a96424" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef struct <a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a> <a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for <a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a> structure.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="gea86d23c48f7335c3b710b9a3af2bf89"></a><!-- doxytag: member="cpluff.h::cp_extension_t" ref="gea86d23c48f7335c3b710b9a3af2bf89" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef struct <a class="el" href="structcp__extension__t.html">cp_extension_t</a> <a class="el" href="structcp__extension__t.html">cp_extension_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for <a class="el" href="structcp__extension__t.html">cp_extension_t</a> structure.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="ge8a837c613935f505e66734c567ed700"></a><!-- doxytag: member="cpluff.h::cp_cfg_element_t" ref="ge8a837c613935f505e66734c567ed700" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef struct <a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> <a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for <a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> structure.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="gca5d98d242f7c005f04b00bf77d1882e"></a><!-- doxytag: member="cpluff.h::cp_plugin_runtime_t" ref="gca5d98d242f7c005f04b00bf77d1882e" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef struct <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a> <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a> structure.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="g53b128f964c24169c758a0c60248d602"></a><!-- doxytag: member="cpluff.h::cp_status_t" ref="g53b128f964c24169c758a0c60248d602" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef enum <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> <a class="el" href="group__cEnums.html#gd6a8106d281ffa4b1f43fe8e3effc7da">cp_status_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for cp_status_t enumeration.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="g026780097ccf13e9896f2d4759aa642e"></a><!-- doxytag: member="cpluff.h::cp_plugin_state_t" ref="g026780097ccf13e9896f2d4759aa642e" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef enum <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> <a class="el" href="group__cEnums.html#gd517a8088e2ed89fda71251d9c7b3252">cp_plugin_state_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for cp_plugin_state_t enumeration.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="gfa3a21d1af3332cab04867d6f1b0b076"></a><!-- doxytag: member="cpluff.h::cp_log_severity_t" ref="gfa3a21d1af3332cab04867d6f1b0b076" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef enum <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> <a class="el" href="group__cEnums.html#g952725f83949f4eb486c390c4ff72aeb">cp_log_severity_t</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A type for cp_log_severity_t enumeration.
-<p>
-
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__symbolVisibility.html b/lib/cpluff/doc/reference/c-api/group__symbolVisibility.html
deleted file mode 100644
index b3c2941fc2..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__symbolVisibility.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Symbol visibility</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Symbol visibility<br>
-<small>
-[<a class="el" href="group__cDefines.html">Defines</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-Macros for controlling inter-module symbol visibility and linkage.
-<p>
-These macros have platform specific values. <a class="el" href="group__symbolVisibility.html#ga2e3768d73167e12c2330e4b96bcbd70">CP_EXPORT</a>, <a class="el" href="group__symbolVisibility.html#gb44eb8224723b45a1c909177bdd7bc32">CP_IMPORT</a> and <a class="el" href="group__symbolVisibility.html#gf58571664980e1a0d2b0bee413296492">CP_HIDDEN</a> can be reused by plug-in implementations for better portability. The complexity is mostly due to Windows DLL exports and imports.<p>
-<a class="anchor" name="symbolVisibilityExample"></a> Each module should usually define its own macro to declare API symbols with <a class="el" href="group__symbolVisibility.html#ga2e3768d73167e12c2330e4b96bcbd70">CP_EXPORT</a> and <a class="el" href="group__symbolVisibility.html#gb44eb8224723b45a1c909177bdd7bc32">CP_IMPORT</a> as necessary. For example, a mobule could define a macro <code>MY_API</code> in the API header file as follows.<p>
-<div class="fragment"><pre class="fragment"><span class="preprocessor"> #ifndef MY_API</span>
-<span class="preprocessor"></span><span class="preprocessor"> # define MY_API CP_IMPORT</span>
-<span class="preprocessor"> #endif</span>
-</pre></div><p>
-By default the API symbols would then be marked for import which is correct when client modules are including the API header file. When compiling the module itself the option <code>-DMY_API=CP_EXPORT</code> would be passed to the compiler to override the API header file and to mark the API symbols for export. The overriding definition could also be included in module source files or in an internal header file before including the API header file.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__symbolVisibility.html#ga2e3768d73167e12c2330e4b96bcbd70">CP_EXPORT</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a symbol to be exported for inter-module usage. <a href="#ga2e3768d73167e12c2330e4b96bcbd70"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__symbolVisibility.html#gb44eb8224723b45a1c909177bdd7bc32">CP_IMPORT</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a symbol to be imported from another module. <a href="#gb44eb8224723b45a1c909177bdd7bc32"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__symbolVisibility.html#gf58571664980e1a0d2b0bee413296492">CP_HIDDEN</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Declares a symbol hidden from other modules. <a href="#gf58571664980e1a0d2b0bee413296492"></a><br></td></tr>
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="ga2e3768d73167e12c2330e4b96bcbd70"></a><!-- doxytag: member="cpluffdef.h::CP_EXPORT" ref="ga2e3768d73167e12c2330e4b96bcbd70" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_EXPORT </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Declares a symbol to be exported for inter-module usage.
-<p>
-When compiling the module which defines the symbol this macro should be placed at the start of the symbol declaration to ensure that the symbol is exported to other modules. However, when compiling other modules the declaration of the symbol should start with <a class="el" href="group__symbolVisibility.html#gb44eb8224723b45a1c909177bdd7bc32">CP_IMPORT</a>. See <a class="el" href="group__symbolVisibility.html#symbolVisibilityExample">the example</a> of how to do this.
-</div>
-</div><p>
-<a class="anchor" name="gb44eb8224723b45a1c909177bdd7bc32"></a><!-- doxytag: member="cpluffdef.h::CP_IMPORT" ref="gb44eb8224723b45a1c909177bdd7bc32" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_IMPORT </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Declares a symbol to be imported from another module.
-<p>
-When compiling a module which uses the symbol this macro should be placed at the start of the symbol declaration to ensure that the symbol is imported from the defining module. However, when compiling the defining module the declaration of the symbol should start with <a class="el" href="group__symbolVisibility.html#ga2e3768d73167e12c2330e4b96bcbd70">CP_EXPORT</a>. See <a class="el" href="group__symbolVisibility.html#symbolVisibilityExample">the example</a> of how to do this.
-</div>
-</div><p>
-<a class="anchor" name="gf58571664980e1a0d2b0bee413296492"></a><!-- doxytag: member="cpluffdef.h::CP_HIDDEN" ref="gf58571664980e1a0d2b0bee413296492" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_HIDDEN </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Declares a symbol hidden from other modules.
-<p>
-This macro should be placed at the start of the symbol declaration to hide the symbol from other modules (if supported by the platform). This macro is not intended to be used with symbols declared as "static" which are already internal to the object file. Some platforms do not support hiding of symbols and therefore unique prefixes should be used for global symbols internal to the module even when they are declared using this macro.
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/group__versionInfo.html b/lib/cpluff/doc/reference/c-api/group__versionInfo.html
deleted file mode 100644
index 29a3b9f1ac..0000000000
--- a/lib/cpluff/doc/reference/c-api/group__versionInfo.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Version information</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>Version information<br>
-<small>
-[<a class="el" href="group__cDefines.html">Defines</a>]</small>
-</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
-C-Pluff version information.
-<p>
-Notice that this version information is static version information included in header files. The macros introduced here can be used for compile time checks.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__versionInfo.html#gec8f38d724eaff6c28e96f355e0a6a85">CP_VERSION</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The C-Pluff release version string. <a href="#gec8f38d724eaff6c28e96f355e0a6a85"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__versionInfo.html#gc02132b57a51a1c26ff6fb11dc046c04">CP_VERSION_MAJOR</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The major version number component of the release version. <a href="#gc02132b57a51a1c26ff6fb11dc046c04"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__versionInfo.html#g015d989acd6a013e84ea8696953172a8">CP_VERSION_MINOR</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The minor version number component of the release version. <a href="#g015d989acd6a013e84ea8696953172a8"></a><br></td></tr>
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="gec8f38d724eaff6c28e96f355e0a6a85"></a><!-- doxytag: member="cpluffdef.h::CP_VERSION" ref="gec8f38d724eaff6c28e96f355e0a6a85" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_VERSION </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The C-Pluff release version string.
-<p>
-This string identifies a specific version of the C-Pluff distribution. Compile time software compatibility checks should use <a class="el" href="group__versionInfo.html#gc02132b57a51a1c26ff6fb11dc046c04">CP_VERSION_MAJOR</a> and <a class="el" href="group__versionInfo.html#g015d989acd6a013e84ea8696953172a8">CP_VERSION_MINOR</a> instead.
-</div>
-</div><p>
-<a class="anchor" name="gc02132b57a51a1c26ff6fb11dc046c04"></a><!-- doxytag: member="cpluffdef.h::CP_VERSION_MAJOR" ref="gc02132b57a51a1c26ff6fb11dc046c04" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_VERSION_MAJOR </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The major version number component of the release version.
-<p>
-This is an integer.
-</div>
-</div><p>
-<a class="anchor" name="g015d989acd6a013e84ea8696953172a8"></a><!-- doxytag: member="cpluffdef.h::CP_VERSION_MINOR" ref="g015d989acd6a013e84ea8696953172a8" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">#define CP_VERSION_MINOR </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The minor version number component of the release version.
-<p>
-This is an integer.
-</div>
-</div><p>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/index.html b/lib/cpluff/doc/reference/c-api/index.html
deleted file mode 100644
index 55d21c4db8..0000000000
--- a/lib/cpluff/doc/reference/c-api/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li id="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>C-Pluff C API Documentation</h1>
-<p>
-<h3 align="center">0.1.3 </h3>This is reference documentation for the <a href="http://www.c-pluff.org/">C-Pluff</a> C API. C-Pluff is a plug-in framework for C programs. It has been strongly inspired by the Java plug-in framework in <a href="http://www.eclipse.org/">Eclipse</a>. C-Pluff focuses on providing core services for plug-in interaction and plug-in management. It aims to be platform neutral and supports dynamic changes to plug-in configuration without stopping the whole application or framework. It does not yet provide special facilities for distribution such as signed plug-in packages or remote plug-in repositories but it is possible to build such features on top of the current framework.<p>
-Here are links to main topics.<p>
-<ul>
-<li><a class="el" href="architecture.html">Plug-in architecture</a></li><li><a class="el" href="cMainProgram.html">Main program</a></li><li><a class="el" href="plugin.html">Plug-in</a></li></ul>
-<p>
-<ul>
-<li><a href="modules.html" class="el">API elements</a></li><li><a href="files.html" class="el">Header files</a></li></ul>
-<p>
-For a "quick start guide" in developing C-Pluff based applications, see the example in the examples directory of the source distribution.<p>
-The latest version of the framework implementation and documentation is available at <a href="http://www.c-pluff.org/">C-Pluff web site</a>.<p>
-This documentation has been generated from the C-Pluff source code using <a href="http://www.doxygen.org">Doxygen</a>. <hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/inline_dotgraph_1.png b/lib/cpluff/doc/reference/c-api/inline_dotgraph_1.png
deleted file mode 100644
index bd57e9abb5..0000000000
--- a/lib/cpluff/doc/reference/c-api/inline_dotgraph_1.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/modules.html b/lib/cpluff/doc/reference/c-api/modules.html
deleted file mode 100644
index 52727b82a4..0000000000
--- a/lib/cpluff/doc/reference/c-api/modules.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Module Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li id="current"><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>C-Pluff C API Modules</h1>Here is a list of all modules:<ul>
-<li><a class="el" href="group__cDefines.html">Defines</a>
-<ul>
-<li><a class="el" href="group__versionInfo.html">Version information</a>
-<li><a class="el" href="group__symbolVisibility.html">Symbol visibility</a>
-<li><a class="el" href="group__cDefinesGCCAttributes.html">GCC attributes</a>
-<li><a class="el" href="group__cScanFlags.html">Flags for plug-in scanning</a>
-</ul>
-<li><a class="el" href="group__cEnums.html">Enumerations</a>
-<li><a class="el" href="group__cTypedefs.html">Typedefs</a>
-<ul>
-<li><a class="el" href="group__cTypedefsOpaque.html">Opaque types</a>
-<li><a class="el" href="group__cTypedefsShorthand.html">Shorthand type names</a>
-<li><a class="el" href="group__cTypedefsFuncs.html">Callback function types</a>
-</ul>
-<li><a class="el" href="group__cStructs.html">Data structures</a>
-<li><a class="el" href="group__cFuncs.html">Functions</a>
-<ul>
-<li><a class="el" href="group__cFuncsFrameworkInfo.html">Framework information</a>
-<li><a class="el" href="group__cFuncsInit.html">Framework initialization</a>
-<li><a class="el" href="group__cFuncsContext.html">Plug-in context initialization</a>
-<li><a class="el" href="group__cFuncsLogging.html">Logging</a>
-<li><a class="el" href="group__cFuncsPlugin.html">Plug-in management</a>
-<li><a class="el" href="group__cFuncsPluginInfo.html">Plug-in and extension information</a>
-<li><a class="el" href="group__cFuncsPluginExec.html">Plug-in execution</a>
-<li><a class="el" href="group__cFuncsSymbols.html">Dynamic symbols</a>
-</ul>
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/pages.html b/lib/cpluff/doc/reference/c-api/pages.html
deleted file mode 100644
index c81c27434d..0000000000
--- a/lib/cpluff/doc/reference/c-api/pages.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Page Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li id="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1>C-Pluff C API Related Pages</h1>Here is a list of all related documentation pages:<ul>
-<li><a class="el" href="architecture.html">Plug-in architecture</a>
-
-<li><a class="el" href="cMainProgram.html">Main program</a>
-
-<li><a class="el" href="plugin.html">Plug-in</a>
-
-</ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/plugin.html b/lib/cpluff/doc/reference/c-api/plugin.html
deleted file mode 100644
index fbffb3bd5d..0000000000
--- a/lib/cpluff/doc/reference/c-api/plugin.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: Plug-in</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<h1><a class="anchor" name="plugin">Plug-in</a></h1><h2><a class="anchor" name="pluginOverview">
-Overview</a></h2>
-Plug-in is the core element of an extensible application. The extensions and also the main application logic are implemented as plug-ins. Plug-ins can be developed, distributed and deployed independently, subject to inter-plugin dependencies. Deploying a new plug-in does not require recompilation or relinking if the operating system platform supports required dynamic linking facilities.<h2><a class="anchor" name="pluginStructure">
-Structure</a></h2>
-A plug-in includes the following structural elements.<p>
-<ul>
-<li><a class="el" href="plugin.html#pluginDescriptor">Plug-in descriptor</a></li><li><a class="el" href="plugin.html#pluginRuntime">Plug-in runtime library</a></li><li><a class="el" href="plugin.html#pluginData">Static plug-in data</a></li></ul>
-<h3><a class="anchor" name="pluginDescriptor">
-Plug-in descriptor</a></h3>
-A plug-in descriptor is an XML document describing a plug-in. It includes information about the contents of the plug-in, the features provided by the plug-in, plug-in version information and static dependencies of the plug-in. Most of the elements are optional. Most of the descriptor information described here is available to software via <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> structure. The plug-in descriptor must be located in the plug-in directory as <code>plugin.xml</code>.<p>
-The formal declaration of plug-in descriptor is available as XML Schema Definition in <code>plugin.xsd</code> located in the top level source directory. Currently there is no namespace associated with the plug-in descriptor. Here is an example of a plug-in descriptor. Click element name to jump into documentation for that element.<p>
-<div class="fragment"> <pre class="fragment">
- &lt;<a href="#pluginDescPlugin" class="code">plugin</a> id=<span class="charliteral">"org.c-pluff.example"</span> name=<span class="charliteral">"Example Plug-in"</span> version=<span class="charliteral">"0.3.2"</span> provider-name=<span class="charliteral">"Johannes Lehtinen"</span>&gt;
- &lt;<a href="#pluginDescPluginBWC" class="code">backwards-compatibility</a> abi=<span class="charliteral">"0.3"</span> api=<span class="charliteral">"0.2.8"</span>/&gt;
- &lt;<a href="#pluginDescPluginRequires" class="code">requires</a>&gt;
- &lt;<a href="#pluginDescPluginReqCP" class="code">c-pluff</a> version=<span class="charliteral">"0.1"</span>/&gt;
- &lt;<a href="#pluginDescPluginReqImport" class="code">import</a> plugin=<span class="charliteral">"org.c-pluff.util"</span> version=<span class="charliteral">"0.2"</span>/&gt;
- &lt;<a href="#pluginDescPluginReqImport" class="code">import</a> plugin=<span class="charliteral">"org.c-pluff.extra"</span> optional=<span class="charliteral">"true"</span>/&gt;
- &lt;/<a href="#pluginDescPluginRequires" class="code">requires</a>&gt;
- &lt;<a href="#pluginDescPluginRuntime" class="code">runtime</a> library=<span class="charliteral">"libruntime"</span> funcs=<span class="charliteral">"org_cpluff_example_funcs"</span>/&gt;
- &lt;<a href="#pluginDescPluginEP" class="code">extension-point</a> id=<span class="charliteral">"editors"</span> name=<span class="charliteral">"Text Editors"</span> schema=<span class="charliteral">"editors_schema.xsd"</span>/&gt;
- &lt;<a href="#pluginDescPluginEP" class="code">extension-point</a> id=<span class="charliteral">"url-families"</span>/&gt;
- &lt;<a href="#pluginDescPluginE" class="code">extension</a> point=<span class="charliteral">"org.c-pluff.util.archivers"</span> id=<span class="charliteral">"tar"</span> name=<span class="charliteral">"Tar Archiver Support"</span>&gt;
- &lt;type random-access=<span class="charliteral">"false"</span>/&gt;
- &lt;exec bin=<span class="charliteral">"tar"</span>/&gt;
- &lt;/<a href="#pluginDescPluginE" class="code">extension</a>&gt;
- &lt;<a href="#pluginDescPluginE" class="code">extension</a> point=<span class="charliteral">"org.c-pluff.example.editors</span>&gt;
- &lt;editor name=<span class="charliteral">"Text Editor"</span> runtime=<span class="charliteral">"org_cpluff_example_txteditor_runtime"</span>&gt;
- &lt;file-types&gt;
- &lt;file-type mime-type=<span class="charliteral">"text/plain"</span>/&gt;
- &lt;/file-types&gt;
- &lt;/editor&gt;
- &lt;/<a href="#pluginDescPluginE" class="code">extension</a>&gt;
- &lt;/<a href="#pluginDescPlugin" class="code">plugin</a>&gt;</pre> </div><p>
-A descriptor can also be much simpler, depending on the plug-in. Here is an example of a minimal descriptor (of a useless plug-in).<p>
-<div class="fragment"> <pre class="fragment">
- &lt;<a href="#pluginDescPlugin" class="code">plugin</a> id=<span class="charliteral">"org.c-pluff.useless"</span>/&gt;</pre> </div><h4><a class="anchor" name="pluginDescPlugin">
-plugin</a></h4>
-This is the top level element of the plug-in descriptor. It can have following attributes.<p>
-<ul>
-<li><em>id:</em> A mandatory unique identifier for the plug-in. Plug-in identifiers should preferably be generated using a reversed DNS domain name as prefix to prevent identifier conflicts.</li><li><em>name:</em> An optional human-readable name for the plug-in.</li><li><em>version:</em> An optional version number for the plug-in. Version numbers are used for checking compatibility when resolving versioned plug-in dependencies. See also information about plug-in versions.</li><li><em>provider-name</em>: The name of the plug-in provider or author. Optional.</li></ul>
-<p>
-This element can contain following elements.<p>
-<ul>
-<li><a class="el" href="plugin.html#pluginDescPluginBWC">backwards-compatibility</a>: Optional information about backwards compatibility of this plug-in version.</li><li><a class="el" href="plugin.html#pluginDescPluginRequires">requires</a>: Information about static plug-in dependencies. Can be omitted if the plug-in does not have static dependencies.</li><li><a class="el" href="plugin.html#pluginDescPluginRuntime">runtime</a>: Information about the plug-in runtime library. Can be omitted if the plug-in does not have a runtime library but only data.</li><li><a class="el" href="plugin.html#pluginDescPluginEP">extension-point</a>: Information about extension points provided by the plug-in. This element is repeated if there are multiple extension points and omitted if there are none.</li><li><a class="el" href="plugin.html#pluginDescPluginE">extension</a>: Information about extensions provided by the plug-in. This element is repeated if there are multiple extensions and omitted if there are none.</li></ul>
-<h4><a class="anchor" name="pluginDescPluginBWC">
-backwards-compatibility</a></h4>
-This element includes optional information about the backwards compatibility of this plug-in version. It can have following attributes.<p>
-<ul>
-<li><em>abi:</em> Backwards compatibility of the application binary interface (ABI) of the plug-in. ABI includes any public symbols exported by the plug-in, data structures associated with exported symbols and any extension points provided by the plug-in. The ABI of the current plug-in version is backwards compatible with any plug-in version from the version specified here to the current version. This information is used when resolving versioned plug-in dependencies. See also information about plug-in versions.</li><li><em>api:</em> Backwards compatibility of the application programming interface (API) of the plug-in. API compatibility means that source code developed against one version of the plug-in also compiles against another version of the plug-in. This information is not used by framework but it can be used by a developer developing dependent plug-ins.</li></ul>
-<p>
-These apply to plug-ins that provide header files and runtime libraries. For example, a plug-in might export global functions to other plug-ins or it might provide an extension point where an extension installed by other plug-in must conform to data structures defined by the plug-in. Both attributes are optional.<h4><a class="anchor" name="pluginDescPluginRequires">
-requires</a></h4>
-This element includes information about static plug-in dependencies. It can be omitted if there are no dependencies. It can contain following elements.<p>
-<ul>
-<li><a class="el" href="plugin.html#pluginDescPluginReqCP">c-pluff</a>: An optional version dependency on the C-Pluff implementation.</li><li><a class="el" href="plugin.html#pluginDescPluginReqImport">import</a>: Declares a static dependency on other plug-in. This element is repeated if there are multiple dependencies and omitted if there are none.</li></ul>
-<h4><a class="anchor" name="pluginDescPluginReqCP">
-c-pluff</a></h4>
-This element declares a version dependency on the C-Pluff implementation. It can be used to ensure that the plug-in is not loaded by incompatible C-Pluff version. It has the following attribute.<p>
-<ul>
-<li><em>version:</em> The required version of the C-Pluff implementation. This is used when resolving the plug-in. It is checked that the used C-Pluff implementation is backwards compatible with the version specified here when it comes to the application binary interface (ABI) of C-Pluff.</li></ul>
-<h4><a class="anchor" name="pluginDescPluginReqImport">
-import</a></h4>
-This element declares a static dependency on other plug-in. It must be used when a plug-in uses global symbols or data from other plug-in or when a plug-in uses an extension point defined by other plug-in or whenever some other plug-in needs to be there for the plug-in to work. The framework takes care of resolving and starting the dependencies whenever the plug-in is resolved or started.<p>
-This element can have following attributes.<p>
-<ul>
-<li><em>plugin:</em> The identifier of the imported plug-in.</li><li><em>version:</em> An optional version dependency on the imported plug-in. The plug-in can be resolved only if the version of the imported plug-in is backwards compatible with the version specified here when it comes to the application binary interface (ABI) of the imported plug-in.</li><li><em>optional:</em> Is the import optional or not ("true" or "false"). Default is false, a mandatory import. An optional import behaves just like the mandatory import as long as the imported plug-in is present. However, if it is not present then the import is ignored. Optional import can be used if the plug-in works in limited capacity even without the specified plug-in.</li></ul>
-<h4><a class="anchor" name="pluginDescPluginRuntime">
-runtime</a></h4>
-This element contains information about the plug-in runtime library. It is omitted if the plug-in does not have a runtime library but contains only data. It can have following attributes.<p>
-<ul>
-<li><em>library:</em> The name of the plug-in runtime library in the plug-in directory. A platform specific extension (for example, ".so" or ".dll") is added to the value specified here when loading the library.</li><li><em>funcs:</em> The functions to be used to create an instance of the plug-in runtime. This attribute is optional. It is needed if the plug-in has a start or stop function. The value specified here is a name of an exported symbol which contains a pointer to <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a> structure.</li></ul>
-<h4><a class="anchor" name="pluginDescPluginEP">
-extension-point</a></h4>
-This element defines an extension point provided by the plug-in. It can have following attributes.<p>
-<ul>
-<li><em>id:</em> The local identifier of the extension point. The value specified here is prefixed with the identifier of the plug-in and dot to construct the global identifier of the extension point.</li><li><em>name:</em> An optional human-readable name describing the use of the extension point.</li><li><em>schema:</em> An optional path to the extension point XML schema in the plug-in directory. This information is not currently used by the framework. But it can be used by a developer to determine what information should be provided by extensions attached to this extension point.</li></ul>
-<h4><a class="anchor" name="pluginDescPluginE">
-extension</a></h4>
-This element defines an extension installed into a specified extension point provided by the defining plug-in or some other plug-in. It can have following attributes.<p>
-<ul>
-<li><em>point:</em> The global identifier of the associated extension point.</li><li><em>id:</em> An optional local identifier for the extension. The value specified here is prefixed with the identifier of the plug-in and dot to construct the global identifier for the extension.</li><li><em>name:</em> An optional human-readable name describing the extension.</li></ul>
-<p>
-The extension element can contain XML elements specific to the associated extension point (conforming to the schema defined by the extension point).<h3><a class="anchor" name="pluginRuntime">
-Plug-in runtime library</a></h3>
-A plug-in runtime library is an optional plug-in element. Plug-ins only supplying static data in form of XML data and files do not need a runtime library. However, a typical plug-in does provide program logic as well.<p>
-The plug-in runtime library includes all program logic and program data provided by the plug-in. It is simply a shared library, or a dynamically linked library, which is linked in to the application when the plug-in is started. When plug-in is unloaded, the runtime library is unloaded as well. The framework has been designed to manage dependencies so that unloading of the runtime library does not cause problems, provided that plug-ins behave properly.<p>
-A plug-in can expose functionality to other plug-ins either as exported global symbols that are directly resolved by other plug-ins or by supplying extensions. When other plug-ins are directly using exported symbols the plug-in acts just like any standard shared library. Nothing special there. The more interesting case is exposing functionality as extensions. Because the extension is registered at a specific extension point, the logic in other plug-ins can use the extension and the associated program logic even if they are not aware of the existence of the extension supplying plug-in.<p>
-The extension points accepting program logic as extensions define a way to specify the name of the symbol pointing to the supplied logic. This is typically an attribute of an XML element contained in the extension definition. The plug-in supplying the extension can then export the program logic as a global symbol with arbitrary name and then place the name of the symbol in extension data. Alternatively, the plug-in can define a virtual symbol at runtime using <a class="el" href="group__cFuncsSymbols.html#g9d128b52c0ffe2d4215026fe59f9abeb">cp_define_symbol</a>. Other plug-ins that are using extensions registered at the extension point can then resolve the named symbol using <a class="el" href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7">cp_resolve_symbol</a> at runtime. The framework automatically creates a dependency from the symbol using plug-in to the symbol supplying plug-in to prevent failures in case the symbol supplying plug-in is stopped or unloaded.<h3><a class="anchor" name="pluginData">
-Static plug-in data</a></h3>
-Plug-in can supply static data to other plug-ins using at least two different mechanisms. A plug-in can easily provide static XML data as part of extension elements. Additionally, a plug-in directory can contain files that may be accessed by other plug-ins. Currently the platform does not provide assistance in accessing data files provided by other plug-ins. However, a plug-in can locate the plug-in directory and thus any included data files by using plug-in path available in <a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> structure of the data providing plug-in. <hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:55 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t.html b/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t.html
deleted file mode 100644
index a9100ce488..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cp_cfg_element_t Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<h1>cp_cfg_element_t Struct Reference<br>
-<small>
-[<a class="el" href="group__cStructs.html">Data structures</a>]</small>
-</h1><!-- doxytag: class="cp_cfg_element_t" -->Collaboration diagram for cp_cfg_element_t:<p><center><img src="structcp__cfg__element__t__coll__graph.png" border="0" usemap="#cp__cfg__element__t__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><hr><a name="_details"></a><h2>Detailed Description</h2>
-A configuration element contains configuration information for an extension.
-<p>
-Utility functions <a class="el" href="group__cFuncsPluginInfo.html#g9868077c72df950607e2698153d593d1">cp_lookup_cfg_element</a> and <a class="el" href="group__cFuncsPluginInfo.html#g13f5121ab21951d59d3c6b985ed6adcd">cp_lookup_cfg_value</a> can be used for traversing the tree of configuration elements. Pointer to the root configuration element is stored at <a class="el" href="structcp__extension__t.html#a745fad14a2300fd48e55c33f580f91b">cp_extension_t::configuration</a> and others are contained as <a class="el" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">children</a> of parent elements.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html#5ac083a645d964373f022d03df4849c8">name</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the configuration element. <a href="#5ac083a645d964373f022d03df4849c8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html#b6eced8675261543cd28efea6c7a0fa4">num_atts</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of attribute name, value pairs in the <a class="el" href="structcp__cfg__element__t.html#719b3d0c1369478044ce59dc2f207c21">atts</a> array. <a href="#b6eced8675261543cd28efea6c7a0fa4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html#719b3d0c1369478044ce59dc2f207c21">atts</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of pointers to alternating attribute names and values. <a href="#719b3d0c1369478044ce59dc2f207c21"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html#4e9aec275e566b978a3ccb4e043d8c61">value</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional value of this configuration element. <a href="#4e9aec275e566b978a3ccb4e043d8c61"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html#8c99879f94f30ed01e0b76847ab11237">parent</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A pointer to the parent element or NULL if this is a root element. <a href="#8c99879f94f30ed01e0b76847ab11237"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html#589d64202487f78e3cc30dd2e04c5201">index</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The index of this element among its siblings (0-based). <a href="#589d64202487f78e3cc30dd2e04c5201"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html#b7c9e81d106b95f54ff71b9096ba5dc6">num_children</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of children in the <a class="el" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">children</a> array. <a href="#b7c9e81d106b95f54ff71b9096ba5dc6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">children</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of <a class="el" href="structcp__cfg__element__t.html#b7c9e81d106b95f54ff71b9096ba5dc6">num_children</a> childrens of this element. <a href="#3c4e4c4df68a11f898566c3f90bcd534"></a><br></td></tr>
-</table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="5ac083a645d964373f022d03df4849c8"></a><!-- doxytag: member="cp_cfg_element_t::name" ref="5ac083a645d964373f022d03df4849c8" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__cfg__element__t.html#5ac083a645d964373f022d03df4849c8">name</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The name of the configuration element.
-<p>
-This corresponds to the name of the element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="b6eced8675261543cd28efea6c7a0fa4"></a><!-- doxytag: member="cp_cfg_element_t::num_atts" ref="b6eced8675261543cd28efea6c7a0fa4" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned int <a class="el" href="structcp__cfg__element__t.html#b6eced8675261543cd28efea6c7a0fa4">num_atts</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Number of attribute name, value pairs in the <a class="el" href="structcp__cfg__element__t.html#719b3d0c1369478044ce59dc2f207c21">atts</a> array.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="719b3d0c1369478044ce59dc2f207c21"></a><!-- doxytag: member="cp_cfg_element_t::atts" ref="719b3d0c1369478044ce59dc2f207c21" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char** <a class="el" href="structcp__cfg__element__t.html#719b3d0c1369478044ce59dc2f207c21">atts</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An array of pointers to alternating attribute names and values.
-<p>
-Attribute values can be localized.
-</div>
-</div><p>
-<a class="anchor" name="4e9aec275e566b978a3ccb4e043d8c61"></a><!-- doxytag: member="cp_cfg_element_t::value" ref="4e9aec275e566b978a3ccb4e043d8c61" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__cfg__element__t.html#4e9aec275e566b978a3ccb4e043d8c61">value</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional value of this configuration element.
-<p>
-NULL if not available. The value can be localized. This corresponds to the text contents of the element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="8c99879f94f30ed01e0b76847ab11237"></a><!-- doxytag: member="cp_cfg_element_t::parent" ref="8c99879f94f30ed01e0b76847ab11237" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a>* <a class="el" href="structcp__cfg__element__t.html#8c99879f94f30ed01e0b76847ab11237">parent</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A pointer to the parent element or NULL if this is a root element.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="589d64202487f78e3cc30dd2e04c5201"></a><!-- doxytag: member="cp_cfg_element_t::index" ref="589d64202487f78e3cc30dd2e04c5201" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned int <a class="el" href="structcp__cfg__element__t.html#589d64202487f78e3cc30dd2e04c5201">index</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The index of this element among its siblings (0-based).
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="b7c9e81d106b95f54ff71b9096ba5dc6"></a><!-- doxytag: member="cp_cfg_element_t::num_children" ref="b7c9e81d106b95f54ff71b9096ba5dc6" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned int <a class="el" href="structcp__cfg__element__t.html#b7c9e81d106b95f54ff71b9096ba5dc6">num_children</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Number of children in the <a class="el" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">children</a> array.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="3c4e4c4df68a11f898566c3f90bcd534"></a><!-- doxytag: member="cp_cfg_element_t::children" ref="3c4e4c4df68a11f898566c3f90bcd534" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a>* <a class="el" href="structcp__cfg__element__t.html#3c4e4c4df68a11f898566c3f90bcd534">children</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An array of <a class="el" href="structcp__cfg__element__t.html#b7c9e81d106b95f54ff71b9096ba5dc6">num_children</a> childrens of this element.
-<p>
-These correspond to child elements in a plug-in descriptor.
-</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="cpluff_8h-source.html">cpluff.h</a></ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:56 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.map b/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.map
deleted file mode 100644
index 5a14779e78..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.md5 b/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.md5
deleted file mode 100644
index ba6e2faf97..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-6cf610f8b63e37ec77f4116fd29fe98b \ No newline at end of file
diff --git a/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.png b/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.png
deleted file mode 100644
index 6a6e2f453d..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__cfg__element__t__coll__graph.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/structcp__ext__point__t.html b/lib/cpluff/doc/reference/c-api/structcp__ext__point__t.html
deleted file mode 100644
index 9f35d2ba0b..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__ext__point__t.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cp_ext_point_t Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<h1>cp_ext_point_t Struct Reference<br>
-<small>
-[<a class="el" href="group__cStructs.html">Data structures</a>]</small>
-</h1><!-- doxytag: class="cp_ext_point_t" -->Collaboration diagram for cp_ext_point_t:<p><center><img src="structcp__ext__point__t__coll__graph.png" border="0" usemap="#cp__ext__point__t__coll__map" alt="Collaboration graph"></center>
-<map name="cp__ext__point__t__coll__map">
-<area href="structcp__plugin__info__t.html" shape="rect" coords="92,99,223,123" alt="">
-<area href="structcp__extension__t.html" shape="rect" coords="160,191,283,215" alt="">
-<area href="structcp__cfg__element__t.html" shape="rect" coords="256,99,395,123" alt="">
-<area href="structcp__plugin__import__t.html" shape="rect" coords="156,7,306,31" alt="">
-</map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><hr><a name="_details"></a><h2>Detailed Description</h2>
-Extension point structure captures information about an extension point.
-<p>
-Extension point structures are contained in <a class="el" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">cp_plugin_info_t::ext_points</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__ext__point__t.html#e498b24942e6fdd73ce6c22505549680">plugin</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A pointer to plug-in information containing this extension point. <a href="#e498b24942e6fdd73ce6c22505549680"></a><br></td></tr>
-<tr><td colspan="2"><div class="groupHeader">id attribute of an</div></td></tr>
-<tr><td colspan="2"><div class="groupText">The local identifier uniquely identifying the extension point within the host plug-in.<p>
-This corresponds to the <em>extension-point</em> element in a plug-in descriptor. <br><br></div></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb234b64f623fd6c2bcbbc98bacb99ce"></a><!-- doxytag: member="cp_ext_point_t::local_id" ref="eb234b64f623fd6c2bcbbc98bacb99ce" args="" -->
-char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>local_id</b></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__ext__point__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The unique identifier of the extension point. <a href="#f5351a0143adaf16c64b881aee01d893"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__ext__point__t.html#5ac083a645d964373f022d03df4849c8">name</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional extension point name. <a href="#5ac083a645d964373f022d03df4849c8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__ext__point__t.html#2370171ff78694fa0871fd845ab3ad6f">schema_path</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional path to the extension schema definition. <a href="#2370171ff78694fa0871fd845ab3ad6f"></a><br></td></tr>
-</table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="e498b24942e6fdd73ce6c22505549680"></a><!-- doxytag: member="cp_ext_point_t::plugin" ref="e498b24942e6fdd73ce6c22505549680" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a>* <a class="el" href="structcp__ext__point__t.html#e498b24942e6fdd73ce6c22505549680">plugin</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A pointer to plug-in information containing this extension point.
-<p>
-This reverse pointer is provided to make it easy to get information about the plug-in which is hosting a particular extension point.
-</div>
-</div><p>
-<a class="anchor" name="f5351a0143adaf16c64b881aee01d893"></a><!-- doxytag: member="cp_ext_point_t::identifier" ref="f5351a0143adaf16c64b881aee01d893" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__ext__point__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The unique identifier of the extension point.
-<p>
-This is automatically constructed by concatenating the identifier of the host plug-in and the local identifier of the extension point.
-</div>
-</div><p>
-<a class="anchor" name="5ac083a645d964373f022d03df4849c8"></a><!-- doxytag: member="cp_ext_point_t::name" ref="5ac083a645d964373f022d03df4849c8" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__ext__point__t.html#5ac083a645d964373f022d03df4849c8">name</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional extension point name.
-<p>
-NULL if not available. The extension point name is intended for display purposes only and the value can be localized. This corresponds to the <em>name</em> attribute of an <em>extension-point</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="2370171ff78694fa0871fd845ab3ad6f"></a><!-- doxytag: member="cp_ext_point_t::schema_path" ref="2370171ff78694fa0871fd845ab3ad6f" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__ext__point__t.html#2370171ff78694fa0871fd845ab3ad6f">schema_path</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional path to the extension schema definition.
-<p>
-NULL if not available. The path is relative to the plug-in directory. This corresponds to the <em>schema</em> attribute of an <em>extension-point</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="cpluff_8h-source.html">cpluff.h</a></ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:56 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.map b/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.map
deleted file mode 100644
index 9540ae3ad9..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $structcp__plugin__info__t.html 92,99 223,123
-rect $structcp__extension__t.html 160,191 283,215
-rect $structcp__cfg__element__t.html 256,99 395,123
-rect $structcp__plugin__import__t.html 156,7 306,31
diff --git a/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.md5 b/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.md5
deleted file mode 100644
index 6a473f0873..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-e53b6e2903a59356daa25c62913d18bc \ No newline at end of file
diff --git a/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.png b/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.png
deleted file mode 100644
index 8dd2f29ee7..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__ext__point__t__coll__graph.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/structcp__extension__t.html b/lib/cpluff/doc/reference/c-api/structcp__extension__t.html
deleted file mode 100644
index e61e6f8c96..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__extension__t.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cp_extension_t Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<h1>cp_extension_t Struct Reference<br>
-<small>
-[<a class="el" href="group__cStructs.html">Data structures</a>]</small>
-</h1><!-- doxytag: class="cp_extension_t" -->Collaboration diagram for cp_extension_t:<p><center><img src="structcp__extension__t__coll__graph.png" border="0" usemap="#cp__extension__t__coll__map" alt="Collaboration graph"></center>
-<map name="cp__extension__t__coll__map">
-<area href="structcp__plugin__info__t.html" shape="rect" coords="98,196,228,220" alt="">
-<area href="structcp__ext__point__t.html" shape="rect" coords="104,287,222,311" alt="">
-<area href="structcp__plugin__import__t.html" shape="rect" coords="6,105,155,129" alt="">
-<area href="structcp__cfg__element__t.html" shape="rect" coords="184,13,323,37" alt="">
-</map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><hr><a name="_details"></a><h2>Detailed Description</h2>
-Extension structure captures information about an extension.
-<p>
-Extension structures are contained in <a class="el" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">cp_plugin_info_t::extensions</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__extension__t.html#e498b24942e6fdd73ce6c22505549680">plugin</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A pointer to plug-in information containing this extension. <a href="#e498b24942e6fdd73ce6c22505549680"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__extension__t.html#9fe304775bea17eeba3c3fd734d1e4bc">ext_point_id</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The unique identifier of the extension point this extension is attached to. <a href="#9fe304775bea17eeba3c3fd734d1e4bc"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__extension__t.html#eb234b64f623fd6c2bcbbc98bacb99ce">local_id</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional local identifier uniquely identifying the extension within the host plug-in. <a href="#eb234b64f623fd6c2bcbbc98bacb99ce"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__extension__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional unique identifier of the extension. <a href="#f5351a0143adaf16c64b881aee01d893"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__extension__t.html#5ac083a645d964373f022d03df4849c8">name</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional extension name. <a href="#5ac083a645d964373f022d03df4849c8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__extension__t.html#a745fad14a2300fd48e55c33f580f91b">configuration</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extension configuration starting with the extension element. <a href="#a745fad14a2300fd48e55c33f580f91b"></a><br></td></tr>
-</table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="e498b24942e6fdd73ce6c22505549680"></a><!-- doxytag: member="cp_extension_t::plugin" ref="e498b24942e6fdd73ce6c22505549680" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__plugin__info__t.html">cp_plugin_info_t</a>* <a class="el" href="structcp__extension__t.html#e498b24942e6fdd73ce6c22505549680">plugin</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A pointer to plug-in information containing this extension.
-<p>
-This reverse pointer is provided to make it easy to get information about the plug-in which is hosting a particular extension.
-</div>
-</div><p>
-<a class="anchor" name="9fe304775bea17eeba3c3fd734d1e4bc"></a><!-- doxytag: member="cp_extension_t::ext_point_id" ref="9fe304775bea17eeba3c3fd734d1e4bc" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__extension__t.html#9fe304775bea17eeba3c3fd734d1e4bc">ext_point_id</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The unique identifier of the extension point this extension is attached to.
-<p>
-This corresponds to the <em>point</em> attribute of an <em>extension</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="eb234b64f623fd6c2bcbbc98bacb99ce"></a><!-- doxytag: member="cp_extension_t::local_id" ref="eb234b64f623fd6c2bcbbc98bacb99ce" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__extension__t.html#eb234b64f623fd6c2bcbbc98bacb99ce">local_id</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional local identifier uniquely identifying the extension within the host plug-in.
-<p>
-NULL if not available. This corresponds to the <em>id</em> attribute of an <em>extension</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="f5351a0143adaf16c64b881aee01d893"></a><!-- doxytag: member="cp_extension_t::identifier" ref="f5351a0143adaf16c64b881aee01d893" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__extension__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional unique identifier of the extension.
-<p>
-NULL if not available. This is automatically constructed by concatenating the identifier of the host plug-in and the local identifier of the extension.
-</div>
-</div><p>
-<a class="anchor" name="5ac083a645d964373f022d03df4849c8"></a><!-- doxytag: member="cp_extension_t::name" ref="5ac083a645d964373f022d03df4849c8" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__extension__t.html#5ac083a645d964373f022d03df4849c8">name</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional extension name.
-<p>
-NULL if not available. The extension name is intended for display purposes only and the value can be localized. This corresponds to the <em>name</em> attribute of an <em>extension</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="a745fad14a2300fd48e55c33f580f91b"></a><!-- doxytag: member="cp_extension_t::configuration" ref="a745fad14a2300fd48e55c33f580f91b" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__cfg__element__t.html">cp_cfg_element_t</a>* <a class="el" href="structcp__extension__t.html#a745fad14a2300fd48e55c33f580f91b">configuration</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Extension configuration starting with the extension element.
-<p>
-This includes extension configuration information as a tree of configuration elements. These correspond to the <em>extension</em> element and its contents in a plug-in descriptor.
-</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="cpluff_8h-source.html">cpluff.h</a></ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:56 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.map b/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.map
deleted file mode 100644
index 17b60a9d30..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $structcp__plugin__info__t.html 98,196 228,220
-rect $structcp__ext__point__t.html 104,287 222,311
-rect $structcp__plugin__import__t.html 6,105 155,129
-rect $structcp__cfg__element__t.html 184,13 323,37
diff --git a/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.md5 b/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.md5
deleted file mode 100644
index 09c61b7406..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-2dbdb0a37fc7ad1ea026319c6f943390 \ No newline at end of file
diff --git a/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.png b/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.png
deleted file mode 100644
index 278fa0cb14..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__extension__t__coll__graph.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/structcp__plugin__import__t.html b/lib/cpluff/doc/reference/c-api/structcp__plugin__import__t.html
deleted file mode 100644
index 3d547d3006..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__plugin__import__t.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cp_plugin_import_t Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<h1>cp_plugin_import_t Struct Reference<br>
-<small>
-[<a class="el" href="group__cStructs.html">Data structures</a>]</small>
-</h1><!-- doxytag: class="cp_plugin_import_t" --><hr><a name="_details"></a><h2>Detailed Description</h2>
-Information about plug-in import.
-<p>
-Plug-in import structures are contained in <a class="el" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">cp_plugin_info_t::imports</a>.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__import__t.html#29da905aeb4da90dae48b2aa19f5cc62">plugin_id</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The identifier of the imported plug-in. <a href="#29da905aeb4da90dae48b2aa19f5cc62"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__import__t.html#56abfaab87c46691c1ef3ad0df23e864">version</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional version requirement. <a href="#56abfaab87c46691c1ef3ad0df23e864"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__import__t.html#69b1249c974e922ecdd066c43dc91f88">optional</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Is this import optional. <a href="#69b1249c974e922ecdd066c43dc91f88"></a><br></td></tr>
-</table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="29da905aeb4da90dae48b2aa19f5cc62"></a><!-- doxytag: member="cp_plugin_import_t::plugin_id" ref="29da905aeb4da90dae48b2aa19f5cc62" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__import__t.html#29da905aeb4da90dae48b2aa19f5cc62">plugin_id</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The identifier of the imported plug-in.
-<p>
-This corresponds to the <em>plugin</em> attribute of the <em>import</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="56abfaab87c46691c1ef3ad0df23e864"></a><!-- doxytag: member="cp_plugin_import_t::version" ref="56abfaab87c46691c1ef3ad0df23e864" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__import__t.html#56abfaab87c46691c1ef3ad0df23e864">version</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional version requirement.
-<p>
-NULL if no version requirement. This is the version of the imported plug-in the importing plug-in was compiled against. Any version of the imported plug-in that is backwards compatible with this version fulfills the requirement. This corresponds to the <em>if-version</em> attribute of the <em>import</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="69b1249c974e922ecdd066c43dc91f88"></a><!-- doxytag: member="cp_plugin_import_t::optional" ref="69b1249c974e922ecdd066c43dc91f88" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int <a class="el" href="structcp__plugin__import__t.html#69b1249c974e922ecdd066c43dc91f88">optional</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Is this import optional.
-<p>
-1 for optional and 0 for mandatory import. An optional import causes the imported plug-in to be started if it is available but does not stop the importing plug-in from starting if the imported plug-in is not available. If the imported plug-in is available but the API version conflicts with the API version requirement then the importing plug-in fails to start. This corresponds to the <em>optional</em> attribute of the <em>import</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="cpluff_8h-source.html">cpluff.h</a></ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t.html b/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t.html
deleted file mode 100644
index beab8abfea..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t.html
+++ /dev/null
@@ -1,372 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cp_plugin_info_t Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<h1>cp_plugin_info_t Struct Reference<br>
-<small>
-[<a class="el" href="group__cStructs.html">Data structures</a>]</small>
-</h1><!-- doxytag: class="cp_plugin_info_t" -->Collaboration diagram for cp_plugin_info_t:<p><center><img src="structcp__plugin__info__t__coll__graph.png" border="0" usemap="#cp__plugin__info__t__coll__map" alt="Collaboration graph"></center>
-<map name="cp__plugin__info__t__coll__map">
-<area href="structcp__extension__t.html" shape="rect" coords="135,191,258,215" alt="">
-<area href="structcp__ext__point__t.html" shape="rect" coords="351,191,468,215" alt="">
-<area href="structcp__cfg__element__t.html" shape="rect" coords="6,99,144,123" alt="">
-<area href="structcp__plugin__import__t.html" shape="rect" coords="268,7,418,31" alt="">
-</map>
-<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><hr><a name="_details"></a><h2>Detailed Description</h2>
-Plug-in information structure captures information about a plug-in.
-<p>
-This information can be loaded from a plug-in descriptor using <a class="el" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cp_load_plugin_descriptor</a>. Information about installed plug-ins can be obtained using <a class="el" href="group__cFuncsPluginInfo.html#g4aba19886c68b2a3c1508c3b66110c12">cp_get_plugin_info</a> and <a class="el" href="group__cFuncsPluginInfo.html#g015373cf40c08ea4a346a1bac5656fb1">cp_get_plugins_info</a>. This structure corresponds to the <em>plugin</em> element in a plug-in descriptor.
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The obligatory unique identifier of the plugin. <a href="#f5351a0143adaf16c64b881aee01d893"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#5ac083a645d964373f022d03df4849c8">name</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional plug-in name. <a href="#5ac083a645d964373f022d03df4849c8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#56abfaab87c46691c1ef3ad0df23e864">version</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional release version string. <a href="#56abfaab87c46691c1ef3ad0df23e864"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#8bf76789248b4737d6a9a1175ceadca5">provider_name</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An optional provider name. <a href="#8bf76789248b4737d6a9a1175ceadca5"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#bfb5abdafe1c5db02dcd2922b32be4e6">plugin_path</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Path of the plugin directory or NULL if not known. <a href="#bfb5abdafe1c5db02dcd2922b32be4e6"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#80147b4cbaeac68ad7a02dfe9c732e43">abi_bw_compatibility</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optional ABI compatibility information. <a href="#80147b4cbaeac68ad7a02dfe9c732e43"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#a0db42bb2a075c5804c0aeecfab567d8">api_bw_compatibility</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optional API compatibility information. <a href="#a0db42bb2a075c5804c0aeecfab567d8"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#8b1942a723f6a68c9afad9e52b7e78d1">req_cpluff_version</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Optional C-Pluff version requirement. <a href="#8b1942a723f6a68c9afad9e52b7e78d1"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#bca19d2e4af3752ceb056d638321b894">num_imports</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of import entries in the <a class="el" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">imports</a> array. <a href="#bca19d2e4af3752ceb056d638321b894"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">imports</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of <a class="el" href="structcp__plugin__info__t.html#bca19d2e4af3752ceb056d638321b894">num_imports</a> import entries. <a href="#e03a6d473f95a77ad6de9d43610f8d39"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#e466145debd47625f99bbc780e8950ed">runtime_lib_name</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base name of the plug-in runtime library, or NULL if none. <a href="#e466145debd47625f99bbc780e8950ed"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#3291d0de7ca4bbe510950be556641856">runtime_funcs_symbol</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The symbol pointing to the plug-in runtime function information or NULL if none. <a href="#3291d0de7ca4bbe510950be556641856"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#845440eb771d52a4b271bfbd48fcb7ec">num_ext_points</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of extension points in <a class="el" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">ext_points</a> array. <a href="#845440eb771d52a4b271bfbd48fcb7ec"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">ext_points</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of <a class="el" href="structcp__plugin__info__t.html#845440eb771d52a4b271bfbd48fcb7ec">num_ext_points</a> extension points provided by this plug-in. <a href="#8299ae4ef53289492911a1334494e405"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#5774f2b85864891690291909ecbbf819">num_extensions</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of extensions in <a class="el" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">extensions</a> array. <a href="#5774f2b85864891690291909ecbbf819"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structcp__extension__t.html">cp_extension_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">extensions</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An array of <a class="el" href="structcp__plugin__info__t.html#5774f2b85864891690291909ecbbf819">num_extensions</a> extensions provided by this plug-in. <a href="#2288d4af96da6699b7a2c8b747bd42dc"></a><br></td></tr>
-</table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="f5351a0143adaf16c64b881aee01d893"></a><!-- doxytag: member="cp_plugin_info_t::identifier" ref="f5351a0143adaf16c64b881aee01d893" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#f5351a0143adaf16c64b881aee01d893">identifier</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The obligatory unique identifier of the plugin.
-<p>
-A recommended way to generate identifiers is to use domain name service (DNS) prefixes (for example, org.cpluff.ExamplePlugin) to avoid naming conflicts. This corresponds to the <em>id</em> attribute of the <em>plugin</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="5ac083a645d964373f022d03df4849c8"></a><!-- doxytag: member="cp_plugin_info_t::name" ref="5ac083a645d964373f022d03df4849c8" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#5ac083a645d964373f022d03df4849c8">name</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional plug-in name.
-<p>
-NULL if not available. The plug-in name is intended only for display purposes and the value can be localized. This corresponds to the <em>name</em> attribute of the <em>plugin</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="56abfaab87c46691c1ef3ad0df23e864"></a><!-- doxytag: member="cp_plugin_info_t::version" ref="56abfaab87c46691c1ef3ad0df23e864" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#56abfaab87c46691c1ef3ad0df23e864">version</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional release version string.
-<p>
-NULL if not available. This corresponds to the <em>version</em> attribute of the <em>plugin</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="8bf76789248b4737d6a9a1175ceadca5"></a><!-- doxytag: member="cp_plugin_info_t::provider_name" ref="8bf76789248b4737d6a9a1175ceadca5" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#8bf76789248b4737d6a9a1175ceadca5">provider_name</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An optional provider name.
-<p>
-NULL if not available. This is the name of the author or the organization providing the plug-in. The provider name is intended only for display purposes and the value can be localized. This corresponds to the <em>provider-name</em> attribute of the <em>plugin</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="bfb5abdafe1c5db02dcd2922b32be4e6"></a><!-- doxytag: member="cp_plugin_info_t::plugin_path" ref="bfb5abdafe1c5db02dcd2922b32be4e6" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#bfb5abdafe1c5db02dcd2922b32be4e6">plugin_path</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Path of the plugin directory or NULL if not known.
-<p>
-This is the (absolute or relative) path to the plug-in directory containing plug-in data and the plug-in runtime library. The value corresponds to the path specified to <a class="el" href="group__cFuncsPlugin.html#gcb92588ad3b48dab5e9487698f6ef437">cp_load_plugin_descriptor</a> when loading the plug-in.
-</div>
-</div><p>
-<a class="anchor" name="80147b4cbaeac68ad7a02dfe9c732e43"></a><!-- doxytag: member="cp_plugin_info_t::abi_bw_compatibility" ref="80147b4cbaeac68ad7a02dfe9c732e43" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#80147b4cbaeac68ad7a02dfe9c732e43">abi_bw_compatibility</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Optional ABI compatibility information.
-<p>
-NULL if not available. This is the earliest version of the plug-in interface the current interface is backwards compatible with when it comes to the application binary interface (ABI) of the plug-in. That is, plug-in clients compiled against any plug-in interface version from <em>abi_bw_compatibility</em> to <a class="el" href="structcp__plugin__info__t.html#56abfaab87c46691c1ef3ad0df23e864">version</a> (inclusive) can use the current version of the plug-in binary. This describes binary or runtime compatibility. The value corresponds to the <em>abi-compatibility</em> attribute of the <em>backwards-compatibility</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="a0db42bb2a075c5804c0aeecfab567d8"></a><!-- doxytag: member="cp_plugin_info_t::api_bw_compatibility" ref="a0db42bb2a075c5804c0aeecfab567d8" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#a0db42bb2a075c5804c0aeecfab567d8">api_bw_compatibility</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Optional API compatibility information.
-<p>
-NULL if not available. This is the earliest version of the plug-in interface the current interface is backwards compatible with when it comes to the application programming interface (API) of the plug-in. That is, plug-in clients written for any plug-in interface version from <em>api_bw_compatibility</em> to <a class="el" href="structcp__plugin__info__t.html#56abfaab87c46691c1ef3ad0df23e864">version</a> (inclusive) can be compiled against the current version of the plug-in API. This describes source or build time compatibility. The value corresponds to the <em>api-compatibility</em> attribute of the <em>backwards-compatibility</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="8b1942a723f6a68c9afad9e52b7e78d1"></a><!-- doxytag: member="cp_plugin_info_t::req_cpluff_version" ref="8b1942a723f6a68c9afad9e52b7e78d1" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#8b1942a723f6a68c9afad9e52b7e78d1">req_cpluff_version</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Optional C-Pluff version requirement.
-<p>
-NULL if not available. This is the version of the C-Pluff implementation the plug-in was compiled against. It is used to determine the compatibility of the plug-in runtime and the linked in C-Pluff implementation. Any C-Pluff version that is backwards compatible on binary level with the specified version fulfills the requirement.
-</div>
-</div><p>
-<a class="anchor" name="bca19d2e4af3752ceb056d638321b894"></a><!-- doxytag: member="cp_plugin_info_t::num_imports" ref="bca19d2e4af3752ceb056d638321b894" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned int <a class="el" href="structcp__plugin__info__t.html#bca19d2e4af3752ceb056d638321b894">num_imports</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Number of import entries in the <a class="el" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">imports</a> array.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="e03a6d473f95a77ad6de9d43610f8d39"></a><!-- doxytag: member="cp_plugin_info_t::imports" ref="e03a6d473f95a77ad6de9d43610f8d39" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__plugin__import__t.html">cp_plugin_import_t</a>* <a class="el" href="structcp__plugin__info__t.html#e03a6d473f95a77ad6de9d43610f8d39">imports</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An array of <a class="el" href="structcp__plugin__info__t.html#bca19d2e4af3752ceb056d638321b894">num_imports</a> import entries.
-<p>
-These correspond to <em>import</em> elements in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="e466145debd47625f99bbc780e8950ed"></a><!-- doxytag: member="cp_plugin_info_t::runtime_lib_name" ref="e466145debd47625f99bbc780e8950ed" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#e466145debd47625f99bbc780e8950ed">runtime_lib_name</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The base name of the plug-in runtime library, or NULL if none.
-<p>
-A platform specific prefix (for example, "lib") and an extension (for example, ".dll" or ".so") may be added to the base name. This corresponds to the <em>library</em> attribute of the <em>runtime</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="3291d0de7ca4bbe510950be556641856"></a><!-- doxytag: member="cp_plugin_info_t::runtime_funcs_symbol" ref="3291d0de7ca4bbe510950be556641856" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">char* <a class="el" href="structcp__plugin__info__t.html#3291d0de7ca4bbe510950be556641856">runtime_funcs_symbol</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-The symbol pointing to the plug-in runtime function information or NULL if none.
-<p>
-The symbol with this name should point to an instance of <a class="el" href="structcp__plugin__runtime__t.html">cp_plugin_runtime_t</a> structure. This corresponds to the <em>funcs</em> attribute of the <em>runtime</em> element in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="845440eb771d52a4b271bfbd48fcb7ec"></a><!-- doxytag: member="cp_plugin_info_t::num_ext_points" ref="845440eb771d52a4b271bfbd48fcb7ec" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned int <a class="el" href="structcp__plugin__info__t.html#845440eb771d52a4b271bfbd48fcb7ec">num_ext_points</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Number of extension points in <a class="el" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">ext_points</a> array.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="8299ae4ef53289492911a1334494e405"></a><!-- doxytag: member="cp_plugin_info_t::ext_points" ref="8299ae4ef53289492911a1334494e405" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__ext__point__t.html">cp_ext_point_t</a>* <a class="el" href="structcp__plugin__info__t.html#8299ae4ef53289492911a1334494e405">ext_points</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An array of <a class="el" href="structcp__plugin__info__t.html#845440eb771d52a4b271bfbd48fcb7ec">num_ext_points</a> extension points provided by this plug-in.
-<p>
-These correspond to <em>extension-point</em> elements in a plug-in descriptor.
-</div>
-</div><p>
-<a class="anchor" name="5774f2b85864891690291909ecbbf819"></a><!-- doxytag: member="cp_plugin_info_t::num_extensions" ref="5774f2b85864891690291909ecbbf819" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">unsigned int <a class="el" href="structcp__plugin__info__t.html#5774f2b85864891690291909ecbbf819">num_extensions</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-Number of extensions in <a class="el" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">extensions</a> array.
-<p>
-
-</div>
-</div><p>
-<a class="anchor" name="2288d4af96da6699b7a2c8b747bd42dc"></a><!-- doxytag: member="cp_plugin_info_t::extensions" ref="2288d4af96da6699b7a2c8b747bd42dc" args="" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="structcp__extension__t.html">cp_extension_t</a>* <a class="el" href="structcp__plugin__info__t.html#2288d4af96da6699b7a2c8b747bd42dc">extensions</a> </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An array of <a class="el" href="structcp__plugin__info__t.html#5774f2b85864891690291909ecbbf819">num_extensions</a> extensions provided by this plug-in.
-<p>
-These correspond to <em>extension</em> elements in a plug-in descriptor.
-</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="cpluff_8h-source.html">cpluff.h</a></ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.map b/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.map
deleted file mode 100644
index 58077e827c..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $structcp__extension__t.html 135,191 258,215
-rect $structcp__ext__point__t.html 351,191 468,215
-rect $structcp__cfg__element__t.html 6,99 144,123
-rect $structcp__plugin__import__t.html 268,7 418,31
diff --git a/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.md5 b/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.md5
deleted file mode 100644
index 7977cfa34e..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-9b09efd75f5d4b8d95cce1190baf311a \ No newline at end of file
diff --git a/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.png b/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.png
deleted file mode 100644
index dd483c5e61..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__plugin__info__t__coll__graph.png
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/structcp__plugin__runtime__t.html b/lib/cpluff/doc/reference/c-api/structcp__plugin__runtime__t.html
deleted file mode 100644
index f031cb516f..0000000000
--- a/lib/cpluff/doc/reference/c-api/structcp__plugin__runtime__t.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>C-Pluff C API: cp_plugin_runtime_t Struct Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
-<link href="tabs.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.5.1 -->
-<div class="tabs">
- <ul>
- <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
- <li><a href="modules.html"><span>Modules</span></a></li>
- <li id="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="files.html"><span>Files</span></a></li>
- <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
- </ul></div>
-<div class="tabs">
- <ul>
- <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
- <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
- </ul></div>
-<h1>cp_plugin_runtime_t Struct Reference<br>
-<small>
-[<a class="el" href="group__cStructs.html">Data structures</a>]</small>
-</h1><!-- doxytag: class="cp_plugin_runtime_t" --><hr><a name="_details"></a><h2>Detailed Description</h2>
-Container for plug-in runtime information.
-<p>
-A plug-in runtime defines a static instance of this structure to pass information to the plug-in framework. The plug-in framework then uses the information to create and control plug-in instances. The symbol pointing to the runtime information instance is named by the <em>funcs</em> attribute of the <em>runtime</em> element in a plug-in descriptor.<p>
-The following graph displays how these functions are used to control the state of the plug-in instance.<p>
-<div align="center">
-<img src="inline_dotgraph_1.png" alt="inline_dotgraph_1" border="0" usemap="#inline_dotgraph_1.map">
-<map name="inline_dotgraph_1.map"><area href="structcp__plugin__runtime__t.html#f193bb8481e4b6aeab275fa5908a9af9" shape="rect" coords="135,29,172,44" alt="">
-<area href="structcp__plugin__runtime__t.html#f193bb8481e4b6aeab275fa5908a9af9" shape="rect" coords="103,39,111,47" alt="">
-<area href="structcp__plugin__runtime__t.html#f193bb8481e4b6aeab275fa5908a9af9" shape="rect" coords="196,39,204,47" alt="">
-<area href="structcp__plugin__runtime__t.html#cc37619ea5a3ff4e39e53b9ce0e7ed4f" shape="rect" coords="131,49,176,64" alt="">
-<area href="structcp__plugin__runtime__t.html#cc37619ea5a3ff4e39e53b9ce0e7ed4f" shape="rect" coords="201,52,209,60" alt="">
-<area href="structcp__plugin__runtime__t.html#cc37619ea5a3ff4e39e53b9ce0e7ed4f" shape="rect" coords="95,52,103,60" alt="">
-<area href="structcp__plugin__runtime__t.html#5a6c64e5d2467d67cf4dd2498639b490" shape="rect" coords="301,29,328,44" alt="">
-<area href="structcp__plugin__runtime__t.html#5a6c64e5d2467d67cf4dd2498639b490" shape="rect" coords="273,39,281,47" alt="">
-<area href="structcp__plugin__runtime__t.html#5a6c64e5d2467d67cf4dd2498639b490" shape="rect" coords="348,39,356,47" alt="">
-<area href="structcp__plugin__runtime__t.html#ede7dc51a6d9f47d0e21445dc952d5d4" shape="rect" coords="301,49,328,64" alt="">
-<area href="structcp__plugin__runtime__t.html#ede7dc51a6d9f47d0e21445dc952d5d4" shape="rect" coords="353,52,361,60" alt="">
-<area href="structcp__plugin__runtime__t.html#ede7dc51a6d9f47d0e21445dc952d5d4" shape="rect" coords="268,52,276,60" alt="">
-</map>
-</div>
-
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__runtime__t.html#f193bb8481e4b6aeab275fa5908a9af9">create</a> )(<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An initialization function called to create a new plug-in runtime instance. <a href="#f193bb8481e4b6aeab275fa5908a9af9"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__runtime__t.html#5a6c64e5d2467d67cf4dd2498639b490">start</a> )(void *data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A start function called to start a plug-in instance. <a href="#5a6c64e5d2467d67cf4dd2498639b490"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__runtime__t.html#ede7dc51a6d9f47d0e21445dc952d5d4">stop</a> )(void *data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A stop function called to stop a plugin instance. <a href="#ede7dc51a6d9f47d0e21445dc952d5d4"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcp__plugin__runtime__t.html#cc37619ea5a3ff4e39e53b9ce0e7ed4f">destroy</a> )(void *data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A destroy function called to destroy a plug-in instance. <a href="#cc37619ea5a3ff4e39e53b9ce0e7ed4f"></a><br></td></tr>
-</table>
-<hr><h2>Field Documentation</h2>
-<a class="anchor" name="f193bb8481e4b6aeab275fa5908a9af9"></a><!-- doxytag: member="cp_plugin_runtime_t::create" ref="f193bb8481e4b6aeab275fa5908a9af9" args=")(cp_context_t *ctx)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void*(* <a class="el" href="structcp__plugin__runtime__t.html#f193bb8481e4b6aeab275fa5908a9af9">create</a>)(<a class="el" href="group__cTypedefsOpaque.html#gcb1aa0619dcefa746383c5e0833b62e7">cp_context_t</a> *ctx) </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-An initialization function called to create a new plug-in runtime instance.
-<p>
-The initialization function initializes and returns an opaque plug-in instance data pointer which is then passed on to other control functions. This data pointer should be used to access plug-in instance specific data. For example, the context reference must be stored as part of plug-in instance data if the plug-in runtime needs it. On failure, the function must return NULL.<p>
-C-pluff API functions must not be called from within a create function invocation and symbols from imported plug-ins must not be used because they may not available yet.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>ctx</em>&nbsp;</td><td>the plug-in context of the new plug-in instance </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>an opaque pointer to plug-in instance data or NULL on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="5a6c64e5d2467d67cf4dd2498639b490"></a><!-- doxytag: member="cp_plugin_runtime_t::start" ref="5a6c64e5d2467d67cf4dd2498639b490" args=")(void *data)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">int(* <a class="el" href="structcp__plugin__runtime__t.html#5a6c64e5d2467d67cf4dd2498639b490">start</a>)(void *data) </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A start function called to start a plug-in instance.
-<p>
-The start function must return zero (CP_OK) on success and non-zero on failure. If the start fails then the stop function (if any) is called to clean up plug-in state. <a class="el" href="group__cFuncsInit.html">Library initialization</a>, <a class="el" href="group__cFuncsContext.html">plug-in context management</a> and <a class="el" href="group__cFuncsPlugin.html">plug-in management</a> functions must not be called from within a start function invocation. The start function pointer can be NULL if the plug-in runtime does not have a start function.<p>
-The start function implementation should set up plug-in and return promptly. If there is further work to be done then a plug-in can start a thread or register a run function using <a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cp_run_function</a>. Symbols from imported plug-ins are guaranteed to be available for the start function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>an opaque pointer to plug-in instance data </td></tr>
- </table>
-</dl>
-<dl class="return" compact><dt><b>Returns:</b></dt><dd>non-zero on success, or zero on failure </dd></dl>
-
-</div>
-</div><p>
-<a class="anchor" name="ede7dc51a6d9f47d0e21445dc952d5d4"></a><!-- doxytag: member="cp_plugin_runtime_t::stop" ref="ede7dc51a6d9f47d0e21445dc952d5d4" args=")(void *data)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void(* <a class="el" href="structcp__plugin__runtime__t.html#ede7dc51a6d9f47d0e21445dc952d5d4">stop</a>)(void *data) </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A stop function called to stop a plugin instance.
-<p>
-This function must cease all plug-in runtime activities. <a class="el" href="group__cFuncsInit.html">Library initialization</a>, <a class="el" href="group__cFuncsContext.html">plug-in context management</a>, <a class="el" href="group__cFuncsPlugin.html">plug-in management</a> functions, <a class="el" href="group__cFuncsPluginExec.html#g357c45e87ff896e8541fe3758b19a035">cp_run_function</a> and <a class="el" href="group__cFuncsSymbols.html#g8bc3b7fcf4f4ed414837f5a3998d46b7">cp_resolve_symbol</a> must not be called from within a stop function invocation. The stop function pointer can be NULL if the plug-in runtime does not have a stop function. It is guaranteed that no run functions registered by the plug-in are called simultaneously or after the call to the stop function.<p>
-The stop function should release any external resources hold by the plug-in. Dynamically resolved symbols are automatically released and dynamically defined symbols and registered run functions are automatically unregistered after the call to stop function. Resolved external symbols are still available for the stop function and symbols provided by the plug-in should remain available after the call to stop function (although functionality might be limited). Final cleanup can be safely done in the destroy function.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>an opaque pointer to plug-in instance data </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<a class="anchor" name="cc37619ea5a3ff4e39e53b9ce0e7ed4f"></a><!-- doxytag: member="cp_plugin_runtime_t::destroy" ref="cc37619ea5a3ff4e39e53b9ce0e7ed4f" args=")(void *data)" -->
-<div class="memitem">
-<div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">void(* <a class="el" href="structcp__plugin__runtime__t.html#cc37619ea5a3ff4e39e53b9ce0e7ed4f">destroy</a>)(void *data) </td>
- </tr>
- </table>
-</div>
-<div class="memdoc">
-
-<p>
-A destroy function called to destroy a plug-in instance.
-<p>
-This function should release any plug-in instance data. The plug-in is stopped before this function is called. C-Pluff API functions must not be called from within a destroy function invocation and symbols from imported plug-ins must not be used because they may not be available anymore. Correspondingly, it is guaranteed that the symbols provided by the plug-in are not used by other plug-ins when destroy function has been called.<p>
-<dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>an opaque pointer to plug-in instance data </td></tr>
- </table>
-</dl>
-
-</div>
-</div><p>
-<hr>The documentation for this struct was generated from the following file:<ul>
-<li><a class="el" href="cpluff_8h-source.html">cpluff.h</a></ul>
-<hr size="1">
-<p class="footer">
-<a href="http://www.c-pluff.org/">C-Pluff</a>, a plug-in framework for C<br>
-Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a>
-</p>
-<p class="generated-by">
-Generated on Fri Apr 6 15:40:57 2007 for C-Pluff C API by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1
-</p>
-</body>
-</html>
diff --git a/lib/cpluff/doc/reference/c-api/tab_b.gif b/lib/cpluff/doc/reference/c-api/tab_b.gif
deleted file mode 100644
index 0d623483ff..0000000000
--- a/lib/cpluff/doc/reference/c-api/tab_b.gif
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/tab_l.gif b/lib/cpluff/doc/reference/c-api/tab_l.gif
deleted file mode 100644
index 9b1e6337c9..0000000000
--- a/lib/cpluff/doc/reference/c-api/tab_l.gif
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/tab_r.gif b/lib/cpluff/doc/reference/c-api/tab_r.gif
deleted file mode 100644
index ce9dd9f533..0000000000
--- a/lib/cpluff/doc/reference/c-api/tab_r.gif
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/doc/reference/c-api/tabs.css b/lib/cpluff/doc/reference/c-api/tabs.css
deleted file mode 100644
index a61552a67a..0000000000
--- a/lib/cpluff/doc/reference/c-api/tabs.css
+++ /dev/null
@@ -1,102 +0,0 @@
-/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
-
-DIV.tabs
-{
- float : left;
- width : 100%;
- background : url("tab_b.gif") repeat-x bottom;
- margin-bottom : 4px;
-}
-
-DIV.tabs UL
-{
- margin : 0px;
- padding-left : 10px;
- list-style : none;
-}
-
-DIV.tabs LI, DIV.tabs FORM
-{
- display : inline;
- margin : 0px;
- padding : 0px;
-}
-
-DIV.tabs FORM
-{
- float : right;
-}
-
-DIV.tabs A
-{
- float : left;
- background : url("tab_r.gif") no-repeat right top;
- border-bottom : 1px solid #84B0C7;
- font-size : x-small;
- font-weight : bold;
- text-decoration : none;
-}
-
-DIV.tabs A:hover
-{
- background-position: 100% -150px;
-}
-
-DIV.tabs A:link, DIV.tabs A:visited,
-DIV.tabs A:active, DIV.tabs A:hover
-{
- color: #1A419D;
-}
-
-DIV.tabs SPAN
-{
- float : left;
- display : block;
- background : url("tab_l.gif") no-repeat left top;
- padding : 5px 9px;
- white-space : nowrap;
-}
-
-DIV.tabs INPUT
-{
- float : right;
- display : inline;
- font-size : 1em;
-}
-
-DIV.tabs TD
-{
- font-size : x-small;
- font-weight : bold;
- text-decoration : none;
-}
-
-
-
-/* Commented Backslash Hack hides rule from IE5-Mac \*/
-DIV.tabs SPAN {float : none;}
-/* End IE5-Mac hack */
-
-DIV.tabs A:hover SPAN
-{
- background-position: 0% -150px;
-}
-
-DIV.tabs LI#current A
-{
- background-position: 100% -150px;
- border-width : 0px;
-}
-
-DIV.tabs LI#current SPAN
-{
- background-position: 0% -150px;
- padding-bottom : 6px;
-}
-
-DIV.nav
-{
- background : none;
- border : none;
- border-bottom : 1px solid #84B0C7;
-}
diff --git a/lib/cpluff/doc/repository.en.html b/lib/cpluff/doc/repository.en.html
new file mode 100644
index 0000000000..e6ce13f60c
--- /dev/null
+++ b/lib/cpluff/doc/repository.en.html
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+ <meta name="author" content="Johannes Lehtinen"/>
+ <meta name="copyright" content="Copyright 2007 Johannes Lehtinen"/>
+ <meta name="keywords" content="C-Pluff,source code,repository,subversion"/>
+ <meta name="identifier" content="http://www.c-pluff.org/repository.en.html"/>
+ <title>C-Pluff source code repository</title>
+ <link rel="Stylesheet" type="text/css" href="cpluff_style.css"/>
+ </head>
+ <body>
+ <div id="content">
+
+ <h1>C-Pluff source code repository</h1>
+
+ <ul class="menu">
+ <li><a href="/">C-Pluff</a></li>
+ <li><a href="copyright.en.html">License</a></li>
+ <li><a href="reference/c-api/index.html">Documentation</a></li>
+ <li><a href="http://www.c-pluff.org/lists">Mailing lists</a></li>
+ <li><a href="http://www.c-pluff.org/download">Download</a></li>
+ <li>Repository</li>
+ </ul>
+
+ <h2 id="repository">Repository</h2>
+ <p>
+ <a href="http://subversion.tigris.org">Subversion</a> is a free
+ revision control system with many available free clients and tools.
+ C-Pluff source code, documentation and web site material is stored in a
+ Subversion repository. The repository with all the material and
+ history dating back to the origins of C-Pluff is available here.
+ This is a live repository being updated in real time as new changes
+ are committed. The source code in the trunk is work in progress. For
+ released versions, see the tag directory.
+ </p>
+
+ <h2 id="subversion_dav">Subversion DAV interface</h2>
+ <p>
+ The Subversion DAV interface for the repository can be accessed at
+ the following URL.
+ </p>
+ <pre class="example">
+<a href="http://svn.c-pluff.org/repos/">http://svn.c-pluff.org/repos/</a></pre>
+ <p>
+ This interface is intended for Subversion aware tools (see
+ the next section for a browsable interface). Check
+ <a href="http://en.wikipedia.org/wiki/Subversion_%28software%29">the Wikipedia page for Subversion</a>
+ for a list of available clients and other tools.
+ </p>
+
+ <h2 id="websvn">Browsable interface and RSS feeds</h2>
+ <p>
+ <a href="http://svn.c-pluff.org/websvn/">A browsable interface</a> is also available based on
+ <a href="http://websvn.tigris.org/">WebSVN</a>. This provides an easy
+ way to browse versioned material, change logs and differences between
+ versions. It also provides RSS feeds which can be used to subscribe to
+ source code changes.
+ </p>
+
+ <ul class="menu">
+ <li><a href="/">C-Pluff</a></li>
+ <li><a href="copyright.en.html">License</a></li>
+ <li><a href="reference/c-api/index.html">Documentation</a></li>
+ <li><a href="http://www.c-pluff.org/lists">Mailing lists</a></li>
+ <li><a href="http://www.c-pluff.org/download">Download</a></li>
+ <li>Repository</li>
+ </ul>
+
+ <p class="footer">
+ Copyright 2007 <a href="http://www.jlehtinen.net/">Johannes Lehtinen</a><br/>
+ Validation:
+ <a href="http://validator.w3.org/check?uri=referer">XHTML Basic 1.0</a>,
+ <a href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2</a>
+ </p>
+
+ </div>
+ </body>
+</html>
diff --git a/lib/cpluff/doc/robots.txt b/lib/cpluff/doc/robots.txt
new file mode 100644
index 0000000000..24146adcd9
--- /dev/null
+++ b/lib/cpluff/doc/robots.txt
@@ -0,0 +1,3 @@
+User-agent: *
+Disallow: /downloads/
+Disallow: /listconfirm/
diff --git a/lib/cpluff/examples/Makefile.nmake b/lib/cpluff/examples/Makefile.nmake
index bda7692cbf..1f87419915 100644
--- a/lib/cpluff/examples/Makefile.nmake
+++ b/lib/cpluff/examples/Makefile.nmake
@@ -1,9 +1,9 @@
-# C-Pluff examples build system for MSVC
-# Copyright 2007 Johannes Lehtinen
-# This file is free software; Johannes Lehtinen gives unlimited permission
-# to copy, distribute and modify it.
-
-SUBDIRS = cpfile
-TOP = .
-
-include common.nmake
+# C-Pluff examples build system for MSVC
+# Copyright 2007 Johannes Lehtinen
+# This file is free software; Johannes Lehtinen gives unlimited permission
+# to copy, distribute and modify it.
+
+SUBDIRS = cpfile
+TOP = .
+
+include common.nmake
diff --git a/lib/cpluff/examples/common.nmake b/lib/cpluff/examples/common.nmake
index 6ecafe7767..4f3ac2c21c 100755
--- a/lib/cpluff/examples/common.nmake
+++ b/lib/cpluff/examples/common.nmake
@@ -1,49 +1,49 @@
-# C-Pluff examples build system for MSVC
-# Copyright 2007 Johannes Lehtinen
-# This file is free software; Johannes Lehtinen gives unlimited permission
-# to copy, distribute and modify it.
-
-
-# Build settings, modify as necessary
-# -----------------------------------
-
-# Each Makefile.nmake sets $(TOP) as path to top level examples directory
-
-# $(cpprefix) is the top directory of C-Pluff installation
-cpprefix = $(TOP)\..\..\..\..
-
-# $(cpincdir) is the include directory of C-Pluff installation
-cpincdir = $(cpprefix)\include
-
-# $(cplibdir) is the library directory of C-Pluff installation
-cplibdir = $(cpprefix)\lib
-
-# $(prefix) is the top installation directory for C-Pluff examples
-prefix = $(cpprefix)
-
-# $(bindir) is the installation directory for C-Pluff example binaries
-bindir = $(prefix)\bin
-
-# Define compiler and flags
-CC = cl
-CFLAGS = /nologo /I$(cpincdir)
-
-
-# Common build rules, no need to modify
-# -------------------------------------
-
-# Windows has stat(2)
-CFLAGS = $(CFLAGS) /DHAVE_STAT
-
-RECURSIVE_RULES = all install clean
-
-$(RECURSIVE_RULES):
- @if not "$(SUBDIRS)"=="" @for %d in ($(SUBDIRS)) do @$(TOP)\nmakedir %d $@
- @echo Making $@ in .
- @nmake /nologo /f Makefile.nmake $@-local
-
-all-local:
-
-install-local: all-local
-
-clean-local:
+# C-Pluff examples build system for MSVC
+# Copyright 2007 Johannes Lehtinen
+# This file is free software; Johannes Lehtinen gives unlimited permission
+# to copy, distribute and modify it.
+
+
+# Build settings, modify as necessary
+# -----------------------------------
+
+# Each Makefile.nmake sets $(TOP) as path to top level examples directory
+
+# $(cpprefix) is the top directory of C-Pluff installation
+cpprefix = $(TOP)\..\..\..\..
+
+# $(cpincdir) is the include directory of C-Pluff installation
+cpincdir = $(cpprefix)\include
+
+# $(cplibdir) is the library directory of C-Pluff installation
+cplibdir = $(cpprefix)\lib
+
+# $(prefix) is the top installation directory for C-Pluff examples
+prefix = $(cpprefix)
+
+# $(bindir) is the installation directory for C-Pluff example binaries
+bindir = $(prefix)\bin
+
+# Define compiler and flags
+CC = cl
+CFLAGS = /nologo /I$(cpincdir)
+
+
+# Common build rules, no need to modify
+# -------------------------------------
+
+# Windows has stat(2)
+CFLAGS = $(CFLAGS) /DHAVE_STAT
+
+RECURSIVE_RULES = all install clean
+
+$(RECURSIVE_RULES):
+ @if not "$(SUBDIRS)"=="" @for %d in ($(SUBDIRS)) do @$(TOP)\nmakedir %d $@
+ @echo Making $@ in .
+ @nmake /nologo /f Makefile.nmake $@-local
+
+all-local:
+
+install-local: all-local
+
+clean-local:
diff --git a/lib/cpluff/examples/cpfile/Makefile.nmake b/lib/cpluff/examples/cpfile/Makefile.nmake
index 6f42a1dbfd..c7e89abfcd 100644
--- a/lib/cpluff/examples/cpfile/Makefile.nmake
+++ b/lib/cpluff/examples/cpfile/Makefile.nmake
@@ -1,13 +1,13 @@
-# C-Pluff examples build system for MSVC
-# Copyright 2007 Johannes Lehtinen
-# This file is free software; Johannes Lehtinen gives unlimited permission
-# to copy, distribute and modify it.
-
-SUBDIRS = plugins
-TOP = ..
-
-include ..\common.nmake
-
-install-local: all-local
- if not exist $(bindir) mkdir $(bindir)
- copy /y cpfile.bat $(bindir)
+# C-Pluff examples build system for MSVC
+# Copyright 2007 Johannes Lehtinen
+# This file is free software; Johannes Lehtinen gives unlimited permission
+# to copy, distribute and modify it.
+
+SUBDIRS = plugins
+TOP = ..
+
+include ..\common.nmake
+
+install-local: all-local
+ if not exist $(bindir) mkdir $(bindir)
+ copy /y cpfile.bat $(bindir)
diff --git a/lib/cpluff/examples/cpfile/plugins/Makefile.nmake b/lib/cpluff/examples/cpfile/plugins/Makefile.nmake
index b60d59a86b..2dda56e1ca 100644
--- a/lib/cpluff/examples/cpfile/plugins/Makefile.nmake
+++ b/lib/cpluff/examples/cpfile/plugins/Makefile.nmake
@@ -1,9 +1,9 @@
-# C-Pluff examples build system for MSVC
-# Copyright 2007 Johannes Lehtinen
-# This file is free software; Johannes Lehtinen gives unlimited permission
-# to copy, distribute and modify it.
-
-SUBDIRS = core special extension cext
-TOP = ..\..
-
-include ..\..\common.nmake
+# C-Pluff examples build system for MSVC
+# Copyright 2007 Johannes Lehtinen
+# This file is free software; Johannes Lehtinen gives unlimited permission
+# to copy, distribute and modify it.
+
+SUBDIRS = core special extension cext
+TOP = ..\..
+
+include ..\..\common.nmake
diff --git a/lib/cpluff/examples/cpfile/plugins/cext/Makefile.nmake b/lib/cpluff/examples/cpfile/plugins/cext/Makefile.nmake
index e2e1a2e3e7..638be08244 100644
--- a/lib/cpluff/examples/cpfile/plugins/cext/Makefile.nmake
+++ b/lib/cpluff/examples/cpfile/plugins/cext/Makefile.nmake
@@ -1,15 +1,15 @@
-# C-Pluff examples build system for MSVC
-# Copyright 2007 Johannes Lehtinen
-# This file is free software; Johannes Lehtinen gives unlimited permission
-# to copy, distribute and modify it.
-
-TOP = ..\..\..
-
-include ..\..\..\common.nmake
-
-pluginsdir = $(bindir)\cpfile\plugins
-plugindir = $(pluginsdir)\cext
-
-install-local: all-local
- if not exist $(plugindir) mkdir $(plugindir)
- for %f in (plugin.xml) do copy /y %f $(plugindir)
+# C-Pluff examples build system for MSVC
+# Copyright 2007 Johannes Lehtinen
+# This file is free software; Johannes Lehtinen gives unlimited permission
+# to copy, distribute and modify it.
+
+TOP = ..\..\..
+
+include ..\..\..\common.nmake
+
+pluginsdir = $(bindir)\cpfile\plugins
+plugindir = $(pluginsdir)\cext
+
+install-local: all-local
+ if not exist $(plugindir) mkdir $(plugindir)
+ for %f in (plugin.xml) do copy /y %f $(plugindir)
diff --git a/lib/cpluff/examples/cpfile/plugins/core/Makefile.nmake b/lib/cpluff/examples/cpfile/plugins/core/Makefile.nmake
index 3857fb855a..dad5943c6a 100644
--- a/lib/cpluff/examples/cpfile/plugins/core/Makefile.nmake
+++ b/lib/cpluff/examples/cpfile/plugins/core/Makefile.nmake
@@ -1,25 +1,25 @@
-# C-Pluff examples build system for MSVC
-# Copyright 2007 Johannes Lehtinen
-# This file is free software; Johannes Lehtinen gives unlimited permission
-# to copy, distribute and modify it.
-
-TOP = ..\..\..
-
-include ..\..\..\common.nmake
-
-pluginsdir = $(bindir)\cpfile\plugins
-plugindir = $(pluginsdir)\core
-
-libcore_OBJS = core.obj
-
-all-local: libcore.dll
-
-install-local: all-local
- if not exist $(plugindir) mkdir $(plugindir)
- for %f in (plugin.xml classifiers.xsd libcore.dll) do copy /y %f $(plugindir)
-
-clean-local:
- for %f in ($(libcore_OBJS) libcore.*) do if exist %f del %f
-
-libcore.dll: $(libcore_OBJS)
- cl /nologo /LD /MD /Fe$@ $(libcore_OBJS) $(cplibdir)\libcpluff.lib
+# C-Pluff examples build system for MSVC
+# Copyright 2007 Johannes Lehtinen
+# This file is free software; Johannes Lehtinen gives unlimited permission
+# to copy, distribute and modify it.
+
+TOP = ..\..\..
+
+include ..\..\..\common.nmake
+
+pluginsdir = $(bindir)\cpfile\plugins
+plugindir = $(pluginsdir)\core
+
+libcore_OBJS = core.obj
+
+all-local: libcore.dll
+
+install-local: all-local
+ if not exist $(plugindir) mkdir $(plugindir)
+ for %f in (plugin.xml classifiers.xsd libcore.dll) do copy /y %f $(plugindir)
+
+clean-local:
+ for %f in ($(libcore_OBJS) libcore.*) do if exist %f del %f
+
+libcore.dll: $(libcore_OBJS)
+ cl /nologo /LD /MD /Fe$@ $(libcore_OBJS) $(cplibdir)\libcpluff.lib
diff --git a/lib/cpluff/examples/cpfile/plugins/extension/Makefile.nmake b/lib/cpluff/examples/cpfile/plugins/extension/Makefile.nmake
index 60a9313939..b6829b89f7 100644
--- a/lib/cpluff/examples/cpfile/plugins/extension/Makefile.nmake
+++ b/lib/cpluff/examples/cpfile/plugins/extension/Makefile.nmake
@@ -1,27 +1,27 @@
-# C-Pluff examples build system for MSVC
-# Copyright 2007 Johannes Lehtinen
-# This file is free software; Johannes Lehtinen gives unlimited permission
-# to copy, distribute and modify it.
-
-TOP = ..\..\..
-
-include ..\..\..\common.nmake
-
-CFLAGS = /I..\core $(CFLAGS)
-
-pluginsdir = $(bindir)\cpfile\plugins
-plugindir = $(pluginsdir)\extension
-
-libextension_OBJS = extension.obj
-
-all-local: libextension.dll
-
-install-local: all-local
- if not exist $(plugindir) mkdir $(plugindir)
- for %f in (plugin.xml file_types.xsd libextension.dll) do copy /y %f $(plugindir)
-
-clean-local:
- for %f in ($(libextension_OBJS) libextension.*) do if exist %f del %f
-
-libextension.dll: $(libextension_OBJS)
- cl /nologo /LD /MD /Fe$@ $(libextension_OBJS) $(cplibdir)\libcpluff.lib
+# C-Pluff examples build system for MSVC
+# Copyright 2007 Johannes Lehtinen
+# This file is free software; Johannes Lehtinen gives unlimited permission
+# to copy, distribute and modify it.
+
+TOP = ..\..\..
+
+include ..\..\..\common.nmake
+
+CFLAGS = /I..\core $(CFLAGS)
+
+pluginsdir = $(bindir)\cpfile\plugins
+plugindir = $(pluginsdir)\extension
+
+libextension_OBJS = extension.obj
+
+all-local: libextension.dll
+
+install-local: all-local
+ if not exist $(plugindir) mkdir $(plugindir)
+ for %f in (plugin.xml file_types.xsd libextension.dll) do copy /y %f $(plugindir)
+
+clean-local:
+ for %f in ($(libextension_OBJS) libextension.*) do if exist %f del %f
+
+libextension.dll: $(libextension_OBJS)
+ cl /nologo /LD /MD /Fe$@ $(libextension_OBJS) $(cplibdir)\libcpluff.lib
diff --git a/lib/cpluff/examples/cpfile/plugins/special/Makefile.nmake b/lib/cpluff/examples/cpfile/plugins/special/Makefile.nmake
index e969ae46a1..39f3a46365 100644
--- a/lib/cpluff/examples/cpfile/plugins/special/Makefile.nmake
+++ b/lib/cpluff/examples/cpfile/plugins/special/Makefile.nmake
@@ -1,27 +1,27 @@
-# C-Pluff examples build system for MSVC
-# Copyright 2007 Johannes Lehtinen
-# This file is free software; Johannes Lehtinen gives unlimited permission
-# to copy, distribute and modify it.
-
-TOP = ..\..\..
-
-include ..\..\..\common.nmake
-
-CFLAGS = /I..\core $(CFLAGS)
-
-pluginsdir = $(bindir)\cpfile\plugins
-plugindir = $(pluginsdir)\special
-
-libspecial_OBJS = special.obj
-
-all-local: libspecial.dll
-
-install-local: all-local
- if not exist $(plugindir) mkdir $(plugindir)
- for %f in (plugin.xml libspecial.dll) do copy /y %f $(plugindir)
-
-clean-local:
- for %f in ($(libspecial_OBJS) libspecial.*) do if exist %f del %f
-
-libspecial.dll: $(libspecial_OBJS)
- cl /nologo /LD /MD /Fe$@ $(libspecial_OBJS) $(cplibdir)\libcpluff.lib
+# C-Pluff examples build system for MSVC
+# Copyright 2007 Johannes Lehtinen
+# This file is free software; Johannes Lehtinen gives unlimited permission
+# to copy, distribute and modify it.
+
+TOP = ..\..\..
+
+include ..\..\..\common.nmake
+
+CFLAGS = /I..\core $(CFLAGS)
+
+pluginsdir = $(bindir)\cpfile\plugins
+plugindir = $(pluginsdir)\special
+
+libspecial_OBJS = special.obj
+
+all-local: libspecial.dll
+
+install-local: all-local
+ if not exist $(plugindir) mkdir $(plugindir)
+ for %f in (plugin.xml libspecial.dll) do copy /y %f $(plugindir)
+
+clean-local:
+ for %f in ($(libspecial_OBJS) libspecial.*) do if exist %f del %f
+
+libspecial.dll: $(libspecial_OBJS)
+ cl /nologo /LD /MD /Fe$@ $(libspecial_OBJS) $(cplibdir)\libcpluff.lib
diff --git a/lib/cpluff/examples/nmakedir.bat b/lib/cpluff/examples/nmakedir.bat
index 5814c012ad..34567c226c 100755
--- a/lib/cpluff/examples/nmakedir.bat
+++ b/lib/cpluff/examples/nmakedir.bat
@@ -1,11 +1,11 @@
-@REM C-Pluff examples build system for MSVC
-@REM Copyright 2007 Johannes Lehtinen
-@REM This file is free software; Johannes Lehtinen gives unlimited permission
-@REM to copy, distribute and modify it.
-
-@echo Making %2 in %1
-@cd %1
-@for /f "" %%d in ('cd') do @echo Entering directory %%d
-@nmake /nologo /f Makefile.nmake %2
-@for /f "" %%d in ('cd') do @echo Leaving directory %%d
-@cd ..
+@REM C-Pluff examples build system for MSVC
+@REM Copyright 2007 Johannes Lehtinen
+@REM This file is free software; Johannes Lehtinen gives unlimited permission
+@REM to copy, distribute and modify it.
+
+@echo Making %2 in %1
+@cd %1
+@for /f "" %%d in ('cd') do @echo Entering directory %%d
+@nmake /nologo /f Makefile.nmake %2
+@for /f "" %%d in ('cd') do @echo Leaving directory %%d
+@cd ..
diff --git a/lib/cpluff/libcpluff/Makefile.am b/lib/cpluff/libcpluff/Makefile.am
index 455a5d7f05..a483bfae07 100644
--- a/lib/cpluff/libcpluff/Makefile.am
+++ b/lib/cpluff/libcpluff/Makefile.am
@@ -60,4 +60,14 @@ dist-hook: refdoc
clean-local:
rm -rf doc
+check-local:
+ rc=0; \
+ find '$(srcdir)' -name '*.c' -print | while read f; do \
+ if grep -q -E 'cpi_(debug|warn|error)f?\(.*[^N]_\(' "$$f"; then \
+ echo "invalid use of cpi_(debug|warn|error)f? macros in $$f."; \
+ rc=1; \
+ fi; \
+ done; \
+ exit $$rc
+
.PHONY: doc refdoc impldoc
diff --git a/lib/cpluff/libcpluff/context.c b/lib/cpluff/libcpluff/context.c
index 784d1b45b7..0a38c6d516 100644
--- a/lib/cpluff/libcpluff/context.c
+++ b/lib/cpluff/libcpluff/context.c
@@ -25,6 +25,10 @@
* Plug-in context implementation
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
diff --git a/lib/cpluff/libcpluff/cpluff.c b/lib/cpluff/libcpluff/cpluff.c
index a7e872542c..59b6d5ab77 100644
--- a/lib/cpluff/libcpluff/cpluff.c
+++ b/lib/cpluff/libcpluff/cpluff.c
@@ -25,6 +25,10 @@
* Core framework functions
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -135,7 +139,9 @@ CP_C_API cp_status_t cp_init(void) {
}
CP_C_API void cp_destroy(void) {
- assert(initialized > 0);
+ if (initialized <= 0) {
+ cpi_fatalf(_("Attempt to destroy uninitialized framework."));
+ }
initialized--;
if (!initialized) {
#ifdef CP_THREADS
diff --git a/lib/cpluff/libcpluff/cpluff.h b/lib/cpluff/libcpluff/cpluff.h
index 584ed0124a..d497af3dc7 100644
--- a/lib/cpluff/libcpluff/cpluff.h
+++ b/lib/cpluff/libcpluff/cpluff.h
@@ -1086,8 +1086,8 @@ CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor(cp_context_t *ctx, const c
* specified plug-in context. The plug-in is not installed to the context.
* If operation fails or the descriptor
* is invalid then NULL is returned. The caller must release the returned
- * information by calling ::cp_release_plugin_info when it does not
- * need the information anymore.
+ * information by calling ::cp_release_info when it does not
+ * need the information anymore, typically after installing the plug-in.
* The returned plug-in information must not be modified.
*
* @param ctx the plug-in context
@@ -1096,7 +1096,7 @@ CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor(cp_context_t *ctx, const c
* @param status a pointer to the location where status code is to be stored, or NULL
* @return pointer to the information structure or NULL if error occurs
*/
-CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor_from_memory(cp_context_t *context, const char *buffer, unsigned int buffer_len, cp_status_t *error) CP_GCC_NONNULL(1, 2);
+CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor_from_memory(cp_context_t *ctx, const char *buffer, unsigned int buffer_len, cp_status_t *status) CP_GCC_NONNULL(1, 2);
/**
* Installs the plug-in described by the specified plug-in information
diff --git a/lib/cpluff/libcpluff/cpluffdef.h.in b/lib/cpluff/libcpluff/cpluffdef.h.in
index 1c089f4e4d..0d2dd15ba6 100644
--- a/lib/cpluff/libcpluff/cpluffdef.h.in
+++ b/lib/cpluff/libcpluff/cpluffdef.h.in
@@ -197,4 +197,8 @@
/*@}*/
+#if @DEFINE_EMPTY_CONST@
+#define const
+#endif
+
#endif /*CPLUFFDEF_H_*/
diff --git a/lib/cpluff/libcpluff/defines.h b/lib/cpluff/libcpluff/defines.h
index 3d91a6bfa1..98a0e23447 100644
--- a/lib/cpluff/libcpluff/defines.h
+++ b/lib/cpluff/libcpluff/defines.h
@@ -28,9 +28,6 @@
#ifndef DEFINES_H_
#define DEFINES_H_
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
#ifdef ENABLE_NLS
#include <libintl.h>
#endif
diff --git a/lib/cpluff/libcpluff/docsrc/Doxyfile-ref.in b/lib/cpluff/libcpluff/docsrc/Doxyfile-ref.in
index aedb7f66a2..306d7f4038 100644
--- a/lib/cpluff/libcpluff/docsrc/Doxyfile-ref.in
+++ b/lib/cpluff/libcpluff/docsrc/Doxyfile-ref.in
@@ -571,7 +571,7 @@ INLINE_SOURCES = NO
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
-STRIP_CODE_COMMENTS = YES
+STRIP_CODE_COMMENTS = NO
# If the REFERENCED_BY_RELATION tag is set to YES (the default)
# then for each documented function all documented
@@ -748,7 +748,7 @@ TREEVIEW_WIDTH = 250
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
-GENERATE_LATEX = YES
+GENERATE_LATEX = NO
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
diff --git a/lib/cpluff/libcpluff/logging.c b/lib/cpluff/libcpluff/logging.c
index 928f0b4bec..f9871c9061 100644
--- a/lib/cpluff/libcpluff/logging.c
+++ b/lib/cpluff/libcpluff/logging.c
@@ -25,6 +25,10 @@
* Logging functions
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/lib/cpluff/libcpluff/pcontrol.c b/lib/cpluff/libcpluff/pcontrol.c
index d3cfb32be9..2f475910ff 100644
--- a/lib/cpluff/libcpluff/pcontrol.c
+++ b/lib/cpluff/libcpluff/pcontrol.c
@@ -26,7 +26,7 @@
*/
#ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
#endif
#include <stdio.h>
diff --git a/lib/cpluff/libcpluff/pinfo.c b/lib/cpluff/libcpluff/pinfo.c
index cfbf0492d5..6262c74b48 100644
--- a/lib/cpluff/libcpluff/pinfo.c
+++ b/lib/cpluff/libcpluff/pinfo.c
@@ -25,6 +25,10 @@
* Plug-in information functions
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <string.h>
#include <stdlib.h>
#include <assert.h>
@@ -99,7 +103,7 @@ CP_HIDDEN cp_status_t cpi_register_info(cp_context_t *context, void *res, cpi_de
// Report success
if (status == CP_OK) {
- cpi_debugf(context, _("An information object at address %p was registered."), res);
+ cpi_debugf(context, N_("Registered a new reference counted object at address %p."), res);
}
// Release resources on failure
@@ -121,9 +125,9 @@ CP_HIDDEN void cpi_use_info(cp_context_t *context, void *res) {
if ((node = hash_lookup(context->env->infos, res)) != NULL) {
info_resource_t *ir = hnode_get(node);
ir->usage_count++;
- cpi_debugf(context, _("Reference count of the information object at address %p increased to %d."), res, ir->usage_count);
+ cpi_debugf(context, N_("Reference count of the object at address %p increased to %d."), res, ir->usage_count);
} else {
- cpi_fatalf(_("Reference count of an unknown information object at address %p could not be increased."), res);
+ cpi_fatalf(_("Attempt to increase the reference count of an unknown object at address %p."), res);
}
}
@@ -136,16 +140,16 @@ CP_HIDDEN void cpi_release_info(cp_context_t *context, void *info) {
if ((node = hash_lookup(context->env->infos, info)) != NULL) {
info_resource_t *ir = hnode_get(node);
assert(ir != NULL && info == ir->resource);
- if (--ir->usage_count == 0) {
+ ir->usage_count--;
+ cpi_debugf(context, N_("Reference count of the object at address %p decreased to %d."), info, ir->usage_count);
+ if (ir->usage_count == 0) {
hash_delete_free(context->env->infos, node);
ir->dealloc_func(context, info);
- cpi_debugf(context, _("The information object at address %p was unregistered."), info);
+ cpi_debugf(context, N_("Deallocated the reference counted object at address %p."), info);
free(ir);
- } else {
- cpi_debugf(context, _("Reference count of the information object at address %p decreased to %d."), info, ir->usage_count);
}
} else {
- cpi_fatalf(_("Could not release an unknown information object at address %p."), info);
+ cpi_fatalf(_("Attempt to release an unknown reference counted object at address %p."), info);
}
}
@@ -166,7 +170,7 @@ CP_HIDDEN void cpi_release_infos(cp_context_t *context) {
while ((node = hash_scan_next(&scan)) != NULL) {
info_resource_t *ir = hnode_get(node);
cpi_lock_context(context);
- cpi_errorf(context, _("An unreleased information object was encountered at address %p with reference count %d when destroying the associated plug-in context. Not releasing the object."), ir->resource, ir->usage_count);
+ cpi_errorf(context, N_("An unreleased information object was encountered at address %p with reference count %d when destroying the associated plug-in context. Not releasing the object."), ir->resource, ir->usage_count);
cpi_unlock_context(context);
hash_scan_delfree(context->env->infos, node);
free(ir);
@@ -194,7 +198,7 @@ CP_C_API cp_plugin_info_t * cp_get_plugin_info(cp_context_t *context, const char
// Lookup plug-in information
if (id != NULL) {
if ((node = hash_lookup(context->env->plugins, id)) == NULL) {
- //cpi_warnf(context, N_("Could not return information about unknown plug-in %s."), id);
+ // cpi_warnf(context, N_("Could not return information about unknown plug-in %s."), id);
status = CP_ERR_UNKNOWN;
break;
}
@@ -568,7 +572,7 @@ CP_C_API cp_status_t cp_register_plistener(cp_context_t *context, cp_plugin_list
// Report error or success
if (status != CP_OK) {
- cpi_error(context, _("A plug-in listener could not be registered due to insufficient memory."));
+ cpi_error(context, N_("A plug-in listener could not be registered due to insufficient memory."));
} else if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: %s is the context owner */
diff --git a/lib/cpluff/libcpluff/ploader.c b/lib/cpluff/libcpluff/ploader.c
index 6c9a741f1d..5c01addd43 100644
--- a/lib/cpluff/libcpluff/ploader.c
+++ b/lib/cpluff/libcpluff/ploader.c
@@ -25,6 +25,10 @@
* Plug-in descriptor loader
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -161,15 +165,15 @@ static void descriptor_errorf(ploader_context_t *plcontext, int warn,
cpi_warnf(plcontext->context,
N_("Suspicious plug-in descriptor content in %s, line %d, column %d (%s)."),
plcontext->file,
- XML_GetCurrentLineNumber(plcontext->parser),
- XML_GetCurrentColumnNumber(plcontext->parser) + 1,
+ (int) XML_GetCurrentLineNumber(plcontext->parser),
+ (int) XML_GetCurrentColumnNumber(plcontext->parser) + 1,
message);
} else {
cpi_errorf(plcontext->context,
N_("Invalid plug-in descriptor content in %s, line %d, column %d (%s)."),
plcontext->file,
- XML_GetCurrentLineNumber(plcontext->parser),
- XML_GetCurrentColumnNumber(plcontext->parser) + 1,
+ (int) XML_GetCurrentLineNumber(plcontext->parser),
+ (int) XML_GetCurrentColumnNumber(plcontext->parser) + 1,
message);
}
if (!warn) {
@@ -188,8 +192,8 @@ static void resource_error(ploader_context_t *plcontext) {
cpi_errorf(plcontext->context,
N_("Insufficient system resources to parse plug-in descriptor content in %s, line %d, column %d."),
plcontext->file,
- XML_GetCurrentLineNumber(plcontext->parser),
- XML_GetCurrentColumnNumber(plcontext->parser) + 1);
+ (int) XML_GetCurrentLineNumber(plcontext->parser),
+ (int) XML_GetCurrentColumnNumber(plcontext->parser) + 1);
}
plcontext->resource_error_count++;
}
@@ -976,6 +980,152 @@ static void dealloc_plugin_info(cp_context_t *ctx, cp_plugin_info_t *plugin) {
cpi_free_plugin(plugin);
}
+static cp_status_t init_descriptor_parsing(cp_context_t *context, ploader_context_t **plcontextptr, XML_Parser *parserptr, char *file) {
+ XML_Parser parser;
+ ploader_context_t *plcontext;
+
+ // Initialize the XML parsing
+ *parserptr = parser = XML_ParserCreate(NULL);
+ if (parser == NULL) {
+ return CP_ERR_RESOURCE;
+ }
+ XML_SetElementHandler(parser,
+ start_element_handler,
+ end_element_handler);
+
+ // Initialize the parsing context
+ if ((*plcontextptr = plcontext = malloc(sizeof(ploader_context_t))) == NULL) {
+ return CP_ERR_RESOURCE;
+ }
+ memset(plcontext, 0, sizeof(ploader_context_t));
+ if ((plcontext->plugin = malloc(sizeof(cp_plugin_info_t))) == NULL) {
+ return CP_ERR_RESOURCE;
+ }
+ plcontext->context = context;
+ plcontext->configuration = NULL;
+ plcontext->value = NULL;
+ plcontext->parser = parser;
+ plcontext->file = file;
+ plcontext->state = PARSER_BEGIN;
+ memset(plcontext->plugin, 0, sizeof(cp_plugin_info_t));
+ plcontext->plugin->name = NULL;
+ plcontext->plugin->identifier = NULL;
+ plcontext->plugin->version = NULL;
+ plcontext->plugin->provider_name = NULL;
+ plcontext->plugin->abi_bw_compatibility = NULL;
+ plcontext->plugin->api_bw_compatibility = NULL;
+ plcontext->plugin->plugin_path = NULL;
+ plcontext->plugin->req_cpluff_version = NULL;
+ plcontext->plugin->imports = NULL;
+ plcontext->plugin->runtime_lib_name = NULL;
+ plcontext->plugin->runtime_funcs_symbol = NULL;
+ plcontext->plugin->ext_points = NULL;
+ plcontext->plugin->extensions = NULL;
+ XML_SetUserData(parser, plcontext);
+
+ return CP_OK;
+}
+
+static cp_status_t do_descriptor_parsing(XML_Parser parser, cp_context_t *context, ploader_context_t *plcontext, char *file, unsigned int buffer_len) {
+ int i;
+
+ // Parse the data
+ if (!(i = XML_ParseBuffer(parser, buffer_len, buffer_len == 0))
+ && context != NULL) {
+ cpi_lock_context(context);
+ cpi_errorf(context,
+ N_("XML parsing error in %s, line %d, column %d (%s)."),
+ file,
+ (int) XML_GetErrorLineNumber(parser),
+ (int) (XML_GetErrorColumnNumber(parser) + 1),
+ XML_ErrorString(XML_GetErrorCode(parser)));
+ cpi_unlock_context(context);
+ }
+ if (!i || plcontext->state == PARSER_ERROR) {
+ return CP_ERR_MALFORMED;
+ } else {
+ return CP_OK;
+ }
+}
+
+static cp_status_t finish_descriptor_parsing(cp_status_t status, cp_context_t *context, ploader_context_t *plcontext, char **path) {
+ if (status == CP_OK) {
+ if (plcontext->state != PARSER_END || plcontext->error_count > 0) {
+ status = CP_ERR_MALFORMED;
+ }
+ if (plcontext->resource_error_count > 0) {
+ status = CP_ERR_RESOURCE;
+ }
+ }
+ if (status != CP_OK) {
+ return status;
+ }
+
+ // Initialize the plug-in path
+ plcontext->plugin->plugin_path = *path;
+ *path = NULL;
+
+ // Increase plug-in usage count
+ status = cpi_register_info(context, plcontext->plugin, (void (*)(cp_context_t *, void *)) dealloc_plugin_info);
+ return status;
+
+}
+
+static void check_cleanup_descriptor_parsing(cp_status_t status, cp_context_t *context, ploader_context_t *plcontext, XML_Parser parser, const char *path, char *file, cp_plugin_info_t **plugin) {
+
+ // Report possible errors
+ if (status != CP_OK) {
+ switch (status) {
+ case CP_ERR_MALFORMED:
+ cpi_errorf(context,
+ N_("Plug-in descriptor in %s is invalid."), path);
+ break;
+ case CP_ERR_IO:
+ cpi_debugf(context,
+ N_("An I/O error occurred while loading a plug-in descriptor from %s."), path);
+ break;
+ case CP_ERR_RESOURCE:
+ cpi_errorf(context,
+ N_("Insufficient system resources to load a plug-in descriptor from %s."), path);
+ break;
+ default:
+ cpi_errorf(context,
+ N_("Failed to load a plug-in descriptor from %s."), path);
+ break;
+ }
+ }
+ cpi_unlock_context(context);
+
+ // Release persistently allocated data on failure
+ if (status != CP_OK) {
+ if (file != NULL) {
+ free(file);
+ }
+ if (plcontext != NULL && plcontext->plugin != NULL) {
+ cpi_free_plugin(plcontext->plugin);
+ plcontext->plugin = NULL;
+ }
+ }
+
+ // Otherwise copy the plug-in pointer
+ else {
+ *plugin = plcontext->plugin;
+ }
+
+ // Release data allocated for parsing
+ if (parser != NULL) {
+ XML_ParserFree(parser);
+ }
+ if (plcontext != NULL) {
+ if (plcontext->value != NULL) {
+ free(plcontext->value);
+ }
+ free(plcontext);
+ plcontext = NULL;
+ }
+
+}
+
CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor(cp_context_t *context, const char *path, cp_status_t *error) {
char *file = NULL;
cp_status_t status = CP_OK;
@@ -1015,53 +1165,16 @@ CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor(cp_context_t *context, con
break;
}
- // Initialize the XML parsing
- parser = XML_ParserCreate(NULL);
- if (parser == NULL) {
- status = CP_ERR_RESOURCE;
- break;
- }
- XML_SetElementHandler(parser,
- start_element_handler,
- end_element_handler);
-
- // Initialize the parsing context
- if ((plcontext = malloc(sizeof(ploader_context_t))) == NULL) {
- status = CP_ERR_RESOURCE;
- break;
- }
- memset(plcontext, 0, sizeof(ploader_context_t));
- if ((plcontext->plugin = malloc(sizeof(cp_plugin_info_t))) == NULL) {
- status = CP_ERR_RESOURCE;
+ // Initialize descriptor parsing
+ status = init_descriptor_parsing(context, &plcontext, &parser, file);
+ if (status != CP_OK) {
break;
}
- plcontext->context = context;
- plcontext->configuration = NULL;
- plcontext->value = NULL;
- plcontext->parser = parser;
- plcontext->file = file;
- plcontext->state = PARSER_BEGIN;
- memset(plcontext->plugin, 0, sizeof(cp_plugin_info_t));
- plcontext->plugin->name = NULL;
- plcontext->plugin->identifier = NULL;
- plcontext->plugin->version = NULL;
- plcontext->plugin->provider_name = NULL;
- plcontext->plugin->abi_bw_compatibility = NULL;
- plcontext->plugin->api_bw_compatibility = NULL;
- plcontext->plugin->plugin_path = NULL;
- plcontext->plugin->req_cpluff_version = NULL;
- plcontext->plugin->imports = NULL;
- plcontext->plugin->runtime_lib_name = NULL;
- plcontext->plugin->runtime_funcs_symbol = NULL;
- plcontext->plugin->ext_points = NULL;
- plcontext->plugin->extensions = NULL;
- XML_SetUserData(parser, plcontext);
// Parse the plug-in descriptor
while (1) {
- int bytes_read;
+ unsigned int bytes_read;
void *xml_buffer;
- int i;
// Get buffer from Expat
if ((xml_buffer = XML_GetBuffer(parser, CP_XML_PARSER_BUFFER_SIZE))
@@ -1078,104 +1191,22 @@ CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor(cp_context_t *context, con
}
// Parse the data
- if (!(i = XML_ParseBuffer(parser, bytes_read, bytes_read == 0))
- && context != NULL) {
- cpi_lock_context(context);
- cpi_errorf(context,
- N_("XML parsing error in %s, line %d, column %d (%s)."),
- file,
- XML_GetErrorLineNumber(parser),
- XML_GetErrorColumnNumber(parser) + 1,
- XML_ErrorString(XML_GetErrorCode(parser)));
- cpi_unlock_context(context);
- }
- if (!i || plcontext->state == PARSER_ERROR) {
- status = CP_ERR_MALFORMED;
- break;
- }
-
- if (bytes_read == 0) {
+ status = do_descriptor_parsing(parser, context, plcontext, file, bytes_read);
+ if (status != CP_OK || bytes_read == 0) {
break;
}
}
- if (status == CP_OK) {
- if (plcontext->state != PARSER_END || plcontext->error_count > 0) {
- status = CP_ERR_MALFORMED;
- }
- if (plcontext->resource_error_count > 0) {
- status = CP_ERR_RESOURCE;
- }
- }
- if (status != CP_OK) {
- break;
- }
- // Initialize the plug-in path
+ // Finish parsing
*(file + path_len) = '\0';
- plcontext->plugin->plugin_path = file;
- file = NULL;
-
- // Increase plug-in usage count
- if ((status = cpi_register_info(context, plcontext->plugin, (void (*)(cp_context_t *, void *)) dealloc_plugin_info)) != CP_OK) {
- break;
- }
-
+ status = finish_descriptor_parsing(status, context, plcontext, &file);
} while (0);
- // Report possible errors
- if (status != CP_OK) {
- switch (status) {
- case CP_ERR_MALFORMED:
- cpi_errorf(context,
- N_("Plug-in descriptor in %s is invalid."), path);
- break;
- case CP_ERR_IO:
- cpi_debugf(context,
- N_("An I/O error occurred while loading a plug-in descriptor from %s."), path);
- break;
- case CP_ERR_RESOURCE:
- cpi_errorf(context,
- N_("Insufficient system resources to load a plug-in descriptor from %s."), path);
- break;
- default:
- cpi_errorf(context,
- N_("Failed to load a plug-in descriptor from %s."), path);
- break;
- }
- }
- cpi_unlock_context(context);
-
- // Release persistently allocated data on failure
- if (status != CP_OK) {
- if (file != NULL) {
- free(file);
- file = NULL;
- }
- if (plcontext != NULL && plcontext->plugin != NULL) {
- cpi_free_plugin(plcontext->plugin);
- plcontext->plugin = NULL;
- }
- }
-
- // Otherwise copy the plug-in pointer
- else {
- plugin = plcontext->plugin;
- }
-
- // Release data allocated for parsing
- if (parser != NULL) {
- XML_ParserFree(parser);
- }
+ // Check and clean up
+ check_cleanup_descriptor_parsing(status, context, plcontext, parser, path, file, &plugin);
if (fh != NULL) {
fclose(fh);
}
- if (plcontext != NULL) {
- if (plcontext->value != NULL) {
- free(plcontext->value);
- }
- free(plcontext);
- plcontext = NULL;
- }
// Return error code
if (error != NULL) {
@@ -1187,7 +1218,7 @@ CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor(cp_context_t *context, con
CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor_from_memory(cp_context_t *context, const char *buffer, unsigned int buffer_len, cp_status_t *error) {
char *file = NULL;
- const char *path = "memory";
+ const char *path = "memory";
cp_status_t status = CP_OK;
XML_Parser parser = NULL;
ploader_context_t *plcontext = NULL;
@@ -1204,157 +1235,43 @@ CP_C_API cp_plugin_info_t * cp_load_plugin_descriptor_from_memory(cp_context_t *
status = CP_ERR_RESOURCE;
break;
}
- strcpy(file, path);
+ strcpy(file, path);
- // Initialize the XML parsing
- parser = XML_ParserCreate(NULL);
- if (parser == NULL) {
- status = CP_ERR_RESOURCE;
- break;
- }
- XML_SetElementHandler(parser,
- start_element_handler,
- end_element_handler);
-
- // Initialize the parsing context
- if ((plcontext = malloc(sizeof(ploader_context_t))) == NULL) {
- status = CP_ERR_RESOURCE;
- break;
- }
- memset(plcontext, 0, sizeof(ploader_context_t));
- if ((plcontext->plugin = malloc(sizeof(cp_plugin_info_t))) == NULL) {
- status = CP_ERR_RESOURCE;
+ // Initialize descriptor parsing
+ status = init_descriptor_parsing(context, &plcontext, &parser, file);
+ if (status != CP_OK) {
break;
}
- plcontext->context = context;
- plcontext->configuration = NULL;
- plcontext->value = NULL;
- plcontext->parser = parser;
- plcontext->file = file;
- plcontext->state = PARSER_BEGIN;
- memset(plcontext->plugin, 0, sizeof(cp_plugin_info_t));
- plcontext->plugin->name = NULL;
- plcontext->plugin->identifier = NULL;
- plcontext->plugin->version = NULL;
- plcontext->plugin->provider_name = NULL;
- plcontext->plugin->abi_bw_compatibility = NULL;
- plcontext->plugin->api_bw_compatibility = NULL;
- plcontext->plugin->plugin_path = NULL;
- plcontext->plugin->req_cpluff_version = NULL;
- plcontext->plugin->imports = NULL;
- plcontext->plugin->runtime_lib_name = NULL;
- plcontext->plugin->runtime_funcs_symbol = NULL;
- plcontext->plugin->ext_points = NULL;
- plcontext->plugin->extensions = NULL;
- XML_SetUserData(parser, plcontext);
// Parse the plug-in descriptor
- do {
- void *xml_buffer;
- int i;
-
- // Get buffer from Expat
- if ((xml_buffer = XML_GetBuffer(parser, buffer_len))
- == NULL) {
- status = CP_ERR_RESOURCE;
- break;
- }
+ do {
+ void *xml_buffer;
- // Read data into buffer
- memcpy(xml_buffer, buffer, buffer_len);
-
- // Parse the data
- if (!(i = XML_ParseBuffer(parser, buffer_len, 1))
- && context != NULL) {
- cpi_lock_context(context);
- cpi_errorf(context,
- N_("XML parsing error in %s, line %d, column %d (%s)."),
- file,
- XML_GetErrorLineNumber(parser),
- XML_GetErrorColumnNumber(parser) + 1,
- XML_ErrorString(XML_GetErrorCode(parser)));
- cpi_unlock_context(context);
- }
- if (!i || plcontext->state == PARSER_ERROR) {
- status = CP_ERR_MALFORMED;
- break;
- }
- } while (0);
- if (status == CP_OK) {
- if (plcontext->state != PARSER_END || plcontext->error_count > 0) {
- status = CP_ERR_MALFORMED;
- }
- if (plcontext->resource_error_count > 0) {
+ // Get buffer from Expat
+ if ((xml_buffer = XML_GetBuffer(parser, buffer_len))
+ == NULL) {
status = CP_ERR_RESOURCE;
+ break;
}
- }
- if (status != CP_OK) {
- break;
- }
-
- // Initialize the plug-in path
+
+ // Read data into buffer
+ memcpy(xml_buffer, buffer, buffer_len);
+
+ // Parse the data
+ status = do_descriptor_parsing(parser, context, plcontext, file, buffer_len);
+ if (status == CP_OK) {
+ status = do_descriptor_parsing(parser, context, plcontext, file, 0);
+ }
+ } while (0);
+
+ // Finish parsing
*(file + path_len) = '\0';
- plcontext->plugin->plugin_path = file;
- file = NULL;
-
- // Increase plug-in usage count
- if ((status = cpi_register_info(context, plcontext->plugin, (void (*)(cp_context_t *, void *)) dealloc_plugin_info)) != CP_OK) {
- break;
- }
+ status = finish_descriptor_parsing(status, context, plcontext, &file);
} while (0);
- // Report possible errors
- if (status != CP_OK) {
- switch (status) {
- case CP_ERR_MALFORMED:
- cpi_errorf(context,
- N_("Plug-in descriptor in %s is invalid."), path);
- break;
- case CP_ERR_IO:
- cpi_debugf(context,
- N_("An I/O error occurred while loading a plug-in descriptor from %s."), path);
- break;
- case CP_ERR_RESOURCE:
- cpi_errorf(context,
- N_("Insufficient system resources to load a plug-in descriptor from %s."), path);
- break;
- default:
- cpi_errorf(context,
- N_("Failed to load a plug-in descriptor from %s."), path);
- break;
- }
- }
- cpi_unlock_context(context);
-
- // Release persistently allocated data on failure
- if (status != CP_OK) {
- if (file != NULL) {
- free(file);
- file = NULL;
- }
- if (plcontext != NULL && plcontext->plugin != NULL) {
- cpi_free_plugin(plcontext->plugin);
- plcontext->plugin = NULL;
- }
- }
-
- // Otherwise copy the plug-in pointer
- else {
- plugin = plcontext->plugin;
- }
-
- // Release data allocated for parsing
- if (parser != NULL) {
- XML_ParserFree(parser);
- }
- if (plcontext != NULL) {
- if (plcontext->value != NULL) {
- free(plcontext->value);
- }
- free(plcontext);
- plcontext = NULL;
- }
+ // Check and clean up
+ check_cleanup_descriptor_parsing(status, context, plcontext, parser, path, file, &plugin);
// Return error code
if (error != NULL) {
diff --git a/lib/cpluff/libcpluff/pscan.c b/lib/cpluff/libcpluff/pscan.c
index e752048003..921c8e365f 100644
--- a/lib/cpluff/libcpluff/pscan.c
+++ b/lib/cpluff/libcpluff/pscan.c
@@ -25,7 +25,10 @@
* Plug-in scanning functionality
*/
-#include <stdio.h>
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdlib.h>
#include <string.h>
#include <assert.h>
diff --git a/lib/cpluff/libcpluff/psymbol.c b/lib/cpluff/libcpluff/psymbol.c
index 632b087324..988d903790 100644
--- a/lib/cpluff/libcpluff/psymbol.c
+++ b/lib/cpluff/libcpluff/psymbol.c
@@ -25,6 +25,10 @@
* Dynamic plug-in symbols
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdlib.h>
#include <string.h>
#include <assert.h>
@@ -241,7 +245,7 @@ CP_C_API void * cp_resolve_symbol(cp_context_t *context, const char *id, const c
status = CP_ERR_RESOURCE;
break;
}
- cpi_debugf(context, "A dynamic dependency was created from plug-in %s to plug-in %s.", context->plugin->plugin->identifier, pp->plugin->identifier);
+ cpi_debugf(context, N_("A dynamic dependency was created from plug-in %s to plug-in %s."), context->plugin->plugin->identifier, pp->plugin->identifier);
}
// Increase usage counts
@@ -251,7 +255,7 @@ CP_C_API void * cp_resolve_symbol(cp_context_t *context, const char *id, const c
if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: First %s is the context owner */
- cpi_debugf(context, "%s resolved symbol %s defined by plug-in %s.", cpi_context_owner(context, owner, sizeof(owner)), name, id);
+ cpi_debugf(context, N_("%s resolved symbol %s defined by plug-in %s."), cpi_context_owner(context, owner, sizeof(owner)), name, id);
}
} while (0);
@@ -317,7 +321,7 @@ CP_C_API void cp_release_symbol(cp_context_t *context, const void *ptr) {
if (cpi_is_logged(context, CP_LOG_DEBUG)) {
char owner[64];
/* TRANSLATORS: First %s is the context owner */
- cpi_debugf(context, _("%s released the symbol at address %p defined by plug-in %s."), cpi_context_owner(context, owner, sizeof(owner)), ptr, provider_info->plugin->plugin->identifier);
+ cpi_debugf(context, N_("%s released the symbol at address %p defined by plug-in %s."), cpi_context_owner(context, owner, sizeof(owner)), ptr, provider_info->plugin->plugin->identifier);
}
}
@@ -329,7 +333,7 @@ CP_C_API void cp_release_symbol(cp_context_t *context, const void *ptr) {
if (!provider_info->imported) {
cpi_ptrset_remove(context->plugin->imported, provider_info->plugin);
cpi_ptrset_remove(provider_info->plugin->importing, context->plugin);
- cpi_debugf(context, _("A dynamic dependency from plug-in %s to plug-in %s was removed."), context->plugin->plugin->identifier, provider_info->plugin->plugin->identifier);
+ cpi_debugf(context, N_("A dynamic dependency from plug-in %s to plug-in %s was removed."), context->plugin->plugin->identifier, provider_info->plugin->plugin->identifier);
}
free(provider_info);
}
diff --git a/lib/cpluff/libcpluff/serial.c b/lib/cpluff/libcpluff/serial.c
index b4b27740e2..a7885888c8 100644
--- a/lib/cpluff/libcpluff/serial.c
+++ b/lib/cpluff/libcpluff/serial.c
@@ -25,6 +25,10 @@
* Serial execution implementation
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdlib.h>
#include <string.h>
#include "cpluff.h"
diff --git a/lib/cpluff/libcpluff/thread_posix.c b/lib/cpluff/libcpluff/thread_posix.c
index 12018f8a69..7a77889a63 100644
--- a/lib/cpluff/libcpluff/thread_posix.c
+++ b/lib/cpluff/libcpluff/thread_posix.c
@@ -25,6 +25,10 @@
* Posix implementation for generic mutex functions
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/lib/cpluff/libcpluff/thread_windows.c b/lib/cpluff/libcpluff/thread_windows.c
index 39b416a4b4..de1f37ed88 100644
--- a/lib/cpluff/libcpluff/thread_windows.c
+++ b/lib/cpluff/libcpluff/thread_windows.c
@@ -25,6 +25,10 @@
* Windows implementation for generic mutex functions
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/lib/cpluff/libcpluff/util.c b/lib/cpluff/libcpluff/util.c
index c4bf501363..e5ff7cfcfa 100644
--- a/lib/cpluff/libcpluff/util.c
+++ b/lib/cpluff/libcpluff/util.c
@@ -25,6 +25,10 @@
* Internal utility functions
*/
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
diff --git a/lib/cpluff/libcpluff/win32/cpluff.vcxproj b/lib/cpluff/libcpluff/win32/cpluff.vcxproj
deleted file mode 100644
index 9ce44fdbbc..0000000000
--- a/lib/cpluff/libcpluff/win32/cpluff.vcxproj
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{88968763-3D6B-48A8-B495-CC8C187FAC02}</ProjectGuid>
- <RootNamespace>cpluff</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- <WindowsTargetPlatformVersion>10.0.10240.0</WindowsTargetPlatformVersion>
- </PropertyGroup>
- <Import Project="$(SolutionDir)\XBMC.core-defaults.props" />
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v140</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>v140</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(SolutionDir)\XBMC.defaults.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="$(SolutionDir)\XBMC.defaults.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)libs\$(TargetName)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)objs\$(TargetName)\$(Configuration)\</IntDir>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)libs\$(TargetName)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)objs\$(TargetName)\$(Configuration)\</IntDir>
- <CustomBuildAfterTargets Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Build</CustomBuildAfterTargets>
- <CustomBuildAfterTargets Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Build</CustomBuildAfterTargets>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>XML_STATIC;_USRDLL;CP_C_API=CP_EXPORT;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- </ClCompile>
- <Link>
- <AdditionalDependencies>expatd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
- <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
- <ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
- </Link>
- <CustomBuildStep>
- <Command>copy /B /Y "$(TargetPath)" "$(SolutionDir)..\..\system\$(TargetFileName)"</Command>
- <Message>Copy Output</Message>
- <Outputs>$(SolutionDir)..\..\system\$(TargetFileName)</Outputs>
- <Inputs>$(TargetPath)</Inputs>
- </CustomBuildStep>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <Optimization>Full</Optimization>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>XML_STATIC;_USRDLL;CP_C_API=CP_EXPORT;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
- <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
- </ClCompile>
- <Link>
- <AdditionalDependencies>expat.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
- <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
- <ImportLibrary>$(OutDir)$(TargetName).lib</ImportLibrary>
- </Link>
- <CustomBuildStep>
- <Command>copy /B /Y "$(TargetPath)" "$(SolutionDir)..\..\system\$(TargetFileName)"</Command>
- <Message>Copy Output</Message>
- <Outputs>$(SolutionDir)..\..\system\$(TargetFileName)</Outputs>
- <Inputs>$(TargetPath)</Inputs>
- </CustomBuildStep>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="..\context.c" />
- <ClCompile Include="..\cpluff.c" />
- <ClCompile Include="dirent.c" />
- <ClCompile Include="..\..\kazlib\hash.c" />
- <ClCompile Include="..\..\kazlib\list.c" />
- <ClCompile Include="..\logging.c" />
- <ClCompile Include="..\pcontrol.c" />
- <ClCompile Include="..\pinfo.c" />
- <ClCompile Include="..\ploader.c" />
- <ClCompile Include="..\pscan.c" />
- <ClCompile Include="..\psymbol.c" />
- <ClCompile Include="..\serial.c" />
- <ClCompile Include="..\thread_windows.c" />
- <ClCompile Include="..\util.c" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\cpluff.h" />
- <ClInclude Include="cpluffdef.h" />
- <ClInclude Include="..\defines.h" />
- <ClInclude Include="dirent.h" />
- <ClInclude Include="..\..\kazlib\hash.h" />
- <ClInclude Include="..\internal.h" />
- <ClInclude Include="..\..\kazlib\list.h" />
- <ClInclude Include="..\thread.h" />
- <ClInclude Include="..\util.h" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/lib/cpluff/libcpluff/win32/cpluffdef.h b/lib/cpluff/libcpluff/win32/cpluffdef.h
index 026cfcb9f0..891e95a0f6 100644
--- a/lib/cpluff/libcpluff/win32/cpluffdef.h
+++ b/lib/cpluff/libcpluff/win32/cpluffdef.h
@@ -50,7 +50,7 @@
* version of the C-Pluff distribution. Compile time software compatibility
* checks should use #CP_VERSION_MAJOR and #CP_VERSION_MINOR instead.
*/
-#define CP_VERSION "0.1.3"
+#define CP_VERSION "0.1.4"
/**
* The major version number component of the release version. This is an
@@ -147,6 +147,7 @@
# define CP_IMPORT extern
# define CP_HIDDEN
#endif
+
/*@}*/
diff --git a/lib/cpluff/po/.gitignore b/lib/cpluff/po/.gitignore
new file mode 100644
index 0000000000..6918634233
--- /dev/null
+++ b/lib/cpluff/po/.gitignore
@@ -0,0 +1,19 @@
+*.gmo
+*.pot
+en@boldquot.po
+en@quot.po
+Rules-quot
+insert-header.sin
+Makevars.template
+remove-potcdate.sin
+Makefile.in.in
+quot.sed
+en@quot.header
+en@boldquot.header
+boldquot.sed
+ChangeLog
+Makefile
+Makefile.in
+POTFILES
+stamp-po
+*~
diff --git a/lib/cpluff/po/LINGUAS b/lib/cpluff/po/LINGUAS
index 59db7eab43..31c5215387 100644
--- a/lib/cpluff/po/LINGUAS
+++ b/lib/cpluff/po/LINGUAS
@@ -1,4 +1,5 @@
# Available languages
en@quot
en@boldquot
+de
fi
diff --git a/lib/cpluff/po/Makefile.in.in b/lib/cpluff/po/Makefile.in.in
deleted file mode 100644
index 5022b8b187..0000000000
--- a/lib/cpluff/po/Makefile.in.in
+++ /dev/null
@@ -1,403 +0,0 @@
-# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-#
-# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-#
-# Origin: gettext-0.16
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datarootdir = @datarootdir@
-datadir = @datadir@
-localedir = @localedir@
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-
-# We use $(mkdir_p).
-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
-# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
-# @install_sh@ does not start with $(SHELL), so we add it.
-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
-# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
-# versions, $(mkinstalldirs) and $(install_sh) are unused.
-mkinstalldirs = $(SHELL) @install_sh@ -d
-install_sh = $(SHELL) @install_sh@
-MKDIR_P = @MKDIR_P@
-mkdir_p = @mkdir_p@
-
-GMSGFMT_ = @GMSGFMT@
-GMSGFMT_no = @GMSGFMT@
-GMSGFMT_yes = @GMSGFMT_015@
-GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
-MSGFMT_ = @MSGFMT@
-MSGFMT_no = @MSGFMT@
-MSGFMT_yes = @MSGFMT_015@
-MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
-XGETTEXT_ = @XGETTEXT@
-XGETTEXT_no = @XGETTEXT@
-XGETTEXT_yes = @XGETTEXT_015@
-XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
-MSGMERGE = msgmerge
-MSGMERGE_UPDATE = @MSGMERGE@ --update
-MSGINIT = msginit
-MSGCONV = msgconv
-MSGFILTER = msgfilter
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-UPDATEPOFILES = @UPDATEPOFILES@
-DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
-$(POFILES) $(GMOFILES) \
-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-# Makevars gets inserted here. (Don't remove this line!)
-
-.SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
-
-.po.mo:
- @echo "$(MSGFMT) -c -o $@ $<"; \
- $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
-
-.po.gmo:
- @lang=`echo $* | sed -e 's,.*/,,'`; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
-
-.sin.sed:
- sed -e '/^#/d' $< > t-$@
- mv t-$@ $@
-
-
-all: all-@USE_NLS@
-
-all-yes: stamp-po
-all-no:
-
-# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
-# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
-# we don't want to bother translators with empty POT files). We assume that
-# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
-# In this case, stamp-po is a nop (i.e. a phony target).
-
-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
-# been loosely updated. Its purpose is that when a developer or translator
-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
-# invocations of "make" will do nothing. This timestamp would not be necessary
-# if updating the $(CATALOGS) would always touch them; however, the rule for
-# $(POFILES) has been designed to not touch files that don't need to be
-# changed.
-stamp-po: $(srcdir)/$(DOMAIN).pot
- test ! -f $(srcdir)/$(DOMAIN).pot || \
- test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
- @test ! -f $(srcdir)/$(DOMAIN).pot || { \
- echo "touch stamp-po" && \
- echo timestamp > stamp-poT && \
- mv stamp-poT stamp-po; \
- }
-
-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
- if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
- msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
- else \
- msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
- fi; \
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
- --files-from=$(srcdir)/POTFILES.in \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --msgid-bugs-address="$$msgid_bugs_address"
- test ! -f $(DOMAIN).po || { \
- if test -f $(srcdir)/$(DOMAIN).pot; then \
- sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
- sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
- if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
- else \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- else \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- }
-
-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
-$(srcdir)/$(DOMAIN).pot:
- $(MAKE) $(DOMAIN).pot-update
-
-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
-# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
- @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
- if test -f "$(srcdir)/$${lang}.po"; then \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
- cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
- else \
- $(MAKE) $${lang}.po-create; \
- fi
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
- for file in $(DISTFILES.common) Makevars.template; do \
- $(INSTALL_DATA) $(srcdir)/$$file \
- $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- for file in Makevars; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-install-data-no: all
-install-data-yes: all
- $(mkdir_p) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkdir_p) $(DESTDIR)$$dir; \
- if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
- $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
- echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
- fi; \
- done; \
- done
-
-install-strip: install
-
-installdirs: installdirs-exec installdirs-data
-installdirs-exec:
-installdirs-data: installdirs-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
- else \
- : ; \
- fi
-installdirs-data-no:
-installdirs-data-yes:
- $(mkdir_p) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkdir_p) $(DESTDIR)$$dir; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- fi; \
- done; \
- done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall: uninstall-exec uninstall-data
-uninstall-exec:
-uninstall-data: uninstall-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- for file in $(DISTFILES.common) Makevars.template; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-uninstall-data-no:
-uninstall-data-yes:
- catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- done; \
- done
-
-check: all
-
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
-
-mostlyclean:
- rm -f remove-potcdate.sed
- rm -f stamp-poT
- rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
- rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
- rm -f Makefile Makefile.in POTFILES *.mo
-
-maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f stamp-po $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
- $(MAKE) update-po
- @$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: stamp-po $(DISTFILES)
- dists="$(DISTFILES)"; \
- if test "$(PACKAGE)" = "gettext-tools"; then \
- dists="$$dists Makevars.template"; \
- fi; \
- if test -f $(srcdir)/$(DOMAIN).pot; then \
- dists="$$dists $(DOMAIN).pot stamp-po"; \
- fi; \
- if test -f $(srcdir)/ChangeLog; then \
- dists="$$dists ChangeLog"; \
- fi; \
- for i in 0 1 2 3 4 5 6 7 8 9; do \
- if test -f $(srcdir)/ChangeLog.$$i; then \
- dists="$$dists ChangeLog.$$i"; \
- fi; \
- done; \
- if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
- for file in $$dists; do \
- if test -f $$file; then \
- cp -p $$file $(distdir) || exit 1; \
- else \
- cp -p $(srcdir)/$$file $(distdir) || exit 1; \
- fi; \
- done
-
-update-po: Makefile
- $(MAKE) $(DOMAIN).pot-update
- test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
- $(MAKE) update-gmo
-
-# General rule for creating PO files.
-
-.nop.po-create:
- @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
- echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
- exit 1
-
-# General rule for updating PO files.
-
-.nop.po-update:
- @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
- if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
- cd $(srcdir); \
- if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "msgmerge for $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-$(DUMMYPOFILES):
-
-update-gmo: Makefile $(GMOFILES)
- @:
-
-Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
- cd $(top_builddir) \
- && $(SHELL) ./config.status $(subdir)/$@.in po-directories
-
-force:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/cpluff/po/Rules-quot b/lib/cpluff/po/Rules-quot
deleted file mode 100644
index 9c2a995e30..0000000000
--- a/lib/cpluff/po/Rules-quot
+++ /dev/null
@@ -1,47 +0,0 @@
-# Special Makefile rules for English message catalogs with quotation marks.
-
-DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
-
-.SUFFIXES: .insert-header .po-update-en
-
-en@quot.po-create:
- $(MAKE) en@quot.po-update
-en@boldquot.po-create:
- $(MAKE) en@boldquot.po-update
-
-en@quot.po-update: en@quot.po-update-en
-en@boldquot.po-update: en@boldquot.po-update-en
-
-.insert-header.po-update-en:
- @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
- if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- ll=`echo $$lang | sed -e 's/@.*//'`; \
- LC_ALL=C; export LC_ALL; \
- cd $(srcdir); \
- if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "creation of $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-en@quot.insert-header: insert-header.sin
- sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
-
-en@boldquot.insert-header: insert-header.sin
- sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
-
-mostlyclean: mostlyclean-quot
-mostlyclean-quot:
- rm -f *.insert-header
diff --git a/lib/cpluff/po/boldquot.sed b/lib/cpluff/po/boldquot.sed
deleted file mode 100644
index 4b937aa517..0000000000
--- a/lib/cpluff/po/boldquot.sed
+++ /dev/null
@@ -1,10 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
-s/“/“/g
-s/”/”/g
-s/‘/‘/g
-s/’/’/g
diff --git a/lib/cpluff/po/cpluff.pot b/lib/cpluff/po/de.po
index 51906d2959..9b6a58c5bf 100644
--- a/lib/cpluff/po/cpluff.pot
+++ b/lib/cpluff/po/de.po
@@ -1,242 +1,242 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Johannes Lehtinen
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# German translation of xbmc/cpluff.
+# This file is distributed under the same license as the xbmc package.
+# Copyright © of this file Chris Leick <c.leick@vollbio.de>, 2013.
#
-#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: xbmc 12.0\n"
"Report-Msgid-Bugs-To: johannes.lehtinen@iki.fi\n"
-"POT-Creation-Date: 2007-04-05 04:58+0300\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
+"POT-Creation-Date: 2016-01-01 22:47+0200\n"
+"PO-Revision-Date: 2013-03-11 21:24+0200\n"
+"Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
+"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
+"Language: de\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: console/cmdinput_basic.c:49
+# FIXME s/line/ //
+#: console/cmdinput_basic.c:52
msgid "ERROR: Command line is too long.\n"
-msgstr ""
+msgstr "FEHLER: Befehlszeile ist zu lang.\n"
#: console/console.c:77
msgid "displays available commands"
-msgstr ""
+msgstr "zeigt verfügbare Befehle"
#: console/console.c:78
msgid "sets the displayed log level"
-msgstr ""
+msgstr "setzt die angezeigte Protokollierungsstufe"
#: console/console.c:79
msgid "registers a plug-in collection"
-msgstr ""
+msgstr "registriert eine Sammlung von Plug-ins"
#: console/console.c:80
msgid "unregisters a plug-in collection"
-msgstr ""
+msgstr "entfernt die Registrierung einer Sammlung von Plug-ins"
#: console/console.c:81
msgid "unregisters all plug-in collections"
-msgstr ""
+msgstr "entfernt die Registrierung aller Plug-in-Sammlungen"
#: console/console.c:82
msgid "loads and installs a plug-in from the specified path"
-msgstr ""
+msgstr "lädt und installiert ein Plug-in aus dem angegebenen Pfad"
#: console/console.c:83
msgid "scans plug-ins in the registered plug-in collections"
-msgstr ""
+msgstr "durchsucht Plug-ins in den registrierten Plug-in-Sammlungen"
#: console/console.c:84
msgid "sets context startup arguments"
-msgstr ""
+msgstr "setzt kontextabhängige Startargumente"
#: console/console.c:85
msgid "starts a plug-in"
-msgstr ""
+msgstr "startet ein Plug-in"
#: console/console.c:86
msgid "runs one plug-in run function"
-msgstr ""
+msgstr "führt eine Plug-in-Ausführungsfunktion aus"
#: console/console.c:87
msgid "runs plug-in run functions until all work is done"
-msgstr ""
+msgstr "führt Plug-in-Ausführungsfunktionen aus, bis alles erledigt ist"
#: console/console.c:88
msgid "stops a plug-in"
-msgstr ""
+msgstr "stoppt ein Plug-in"
#: console/console.c:89
msgid "stops all plug-ins"
-msgstr ""
+msgstr "stoppt alle Plug-ins"
#: console/console.c:90
msgid "uninstalls a plug-in"
-msgstr ""
+msgstr "deinstalliert ein Plug-in"
#: console/console.c:91
msgid "uninstalls all plug-ins"
-msgstr ""
+msgstr "deinstalliert alle Plug-ins"
#: console/console.c:92
msgid "lists the installed plug-ins"
-msgstr ""
+msgstr "listet die installierten Plug-ins auf"
#: console/console.c:93
msgid "lists the installed extension points"
-msgstr ""
+msgstr "listet die installierten Erweiterungspunkte auf"
#: console/console.c:94
msgid "lists the installed extensions"
-msgstr ""
+msgstr "listet alle installierten Erweiterungen auf"
#: console/console.c:95
msgid "shows static plug-in information"
-msgstr ""
+msgstr "zeigt eine feststehende Plug-in-Information"
#: console/console.c:96 console/console.c:97
msgid "quits the program"
-msgstr ""
+msgstr "beendet das Programm"
#: console/console.c:103
msgid "enables upgrades of installed plug-ins"
-msgstr ""
+msgstr "aktiviert Upgrades installierter Plug-ins"
#: console/console.c:104
msgid "stops all plug-ins on first upgrade"
-msgstr ""
+msgstr "stoppt beim ersten Upgrade alle Plug-ins"
#: console/console.c:105
msgid "stops all plug-ins on first install or upgrade"
-msgstr ""
+msgstr "stoppt beim ersten Installieren oder Upgrade alle Plug-ins"
#: console/console.c:106
msgid "restarts the currently active plug-ins after the scan"
-msgstr ""
+msgstr "startet das derzeit aktive Plug-in nach dem Scan wieder"
#: console/console.c:112
msgid "detailed debug messages"
-msgstr ""
+msgstr "detaillierte Debug-Meldungen"
#: console/console.c:113
msgid "informational messages"
-msgstr ""
+msgstr "mitteilsame Meldungen"
#: console/console.c:114
msgid "warnings about possible problems"
-msgstr ""
+msgstr "Warnungen vor möglichen Problemen"
#: console/console.c:115
msgid "error messages"
-msgstr ""
+msgstr "Fehlermeldungen"
#: console/console.c:116
msgid "disable logging"
-msgstr ""
+msgstr "deaktiviert Protokollierung"
#: console/console.c:153
msgid "Command has too many arguments.\n"
-msgstr ""
+msgstr "Befehl hat zu viele Argumente.\n"
#: console/console.c:176
msgid "The following commands are available:\n"
-msgstr ""
+msgstr "Die folgenden Befehle sind verfügbar:\n"
#. TRANSLATORS: A tag for debug level log entries.
#: console/console.c:187 loader/loader.c:212
msgid "DEBUG"
-msgstr ""
+msgstr "DEBUG"
#. TRANSLATORS: A tag for info level log entries.
#: console/console.c:191 loader/loader.c:217
msgid "INFO"
-msgstr ""
+msgstr "INFO"
#. TRANSLATORS: A tag for warning level log entries.
#: console/console.c:195 loader/loader.c:222
msgid "WARNING"
-msgstr ""
+msgstr "WARNUNG"
#. TRANSLATORS: A tag for error level log entries.
#: console/console.c:199 loader/loader.c:227
msgid "ERROR"
-msgstr ""
+msgstr "FEHLER"
#. TRANSLATORS: A tag for unknown severity level.
#: console/console.c:203 loader/loader.c:232
msgid "UNKNOWN"
-msgstr ""
+msgstr "UNBEKANNT"
#. TRANSLATORS: Used when displaying log messages originating
#. from console activities.
#: console/console.c:211
msgid "console"
-msgstr ""
+msgstr "Konsole"
#. TRANSLATORS: Usage instructions for setting log level
#: console/console.c:218
#, c-format
msgid "Usage: %s <level>\n"
-msgstr ""
+msgstr "Aufruf: %s <Stufe>\n"
#: console/console.c:228
#, c-format
msgid "Unknown log level %s.\n"
-msgstr ""
+msgstr "unbekannte Protokollierungsstufe %s\n"
#: console/console.c:229
msgid "Available log levels are:\n"
-msgstr ""
+msgstr "Folgende Protokollierungsstufen sind verfügbar:\n"
#. TRANSLATORS: The first %s is the log level name and the second the localized log level description.
#: console/console.c:240 console/console.c:893
#, c-format
msgid "Using display log level %s (%s).\n"
-msgstr ""
+msgstr "Protokollierungsstufe %s (%s) wird benutzt.\n"
#. TRANSLATORS: Return status for a successfull API call
#: console/console.c:249
msgid "success"
-msgstr ""
+msgstr "erfolgreich"
#: console/console.c:251
msgid "insufficient system resources"
-msgstr ""
+msgstr "unzureichende Systemressourcen"
#: console/console.c:253
msgid "an unknown object was specified"
-msgstr ""
+msgstr "Es wurde ein unbekanntes Objekt angegeben."
#: console/console.c:255
msgid "an input or output error"
-msgstr ""
+msgstr "ein Ein- oder Ausgabefehler"
#: console/console.c:257
msgid "a malformed plug-in descriptor"
-msgstr ""
+msgstr "ein missgestalteter Plug-in-Descriptor"
#: console/console.c:259
msgid "a plug-in or symbol conflicts with an existing one"
-msgstr ""
+msgstr "Ein Plug-in oder Symbol steht mit einem vorhandenen in Konflikt."
#: console/console.c:261
msgid "unsatisfiable dependencies"
-msgstr ""
+msgstr "nicht aufgelöste Abhängigkeiten"
#: console/console.c:263
msgid "a plug-in runtime library encountered an error"
-msgstr ""
+msgstr "In einer Plug-in-Laufzeitbibliothek trat ein Fehler auf."
#: console/console.c:265
msgid "unknown error code"
-msgstr ""
+msgstr "unbekannter Fehlercode"
#: console/console.c:270
#, c-format
msgid "API function %s failed with error code %d (%s).\n"
-msgstr ""
+msgstr "API-Funktion %s schlug mit Fehlercode %d (%s) fehl.\n"
#. TRANSLATORS: Usage instructions for registering a plug-in collection
#. TRANSLATORS: Usage instructions for unregistering a plug-in collection
@@ -244,17 +244,17 @@ msgstr ""
#: console/console.c:281 console/console.c:292 console/console.c:315
#, c-format
msgid "Usage: %s <path>\n"
-msgstr ""
+msgstr "Aufruf: %s <Pfad>\n"
#: console/console.c:285
#, c-format
msgid "Registered a plug-in collection in path %s.\n"
-msgstr ""
+msgstr "Eine Plug-in-Sammlung wurde in Pfad %s registriert.\n"
#: console/console.c:295
#, c-format
msgid "Unregistered a plug-in collection in path %s.\n"
-msgstr ""
+msgstr "Die Registrierung einer Plug-in-Sammlung wurde in Pfad %s entfernt.\n"
#. TRANSLATORS: Usage instructions for unregistering all plug-in collections
#. TRANSLATORS: Usage instructions for listing plug-ins
@@ -269,87 +269,88 @@ msgstr ""
#: console/console.c:823 console/console.c:846
#, c-format
msgid "Usage: %s\n"
-msgstr ""
+msgstr "Aufruf: %s\n"
#: console/console.c:305
msgid "Unregistered all plug-in collections.\n"
-msgstr ""
+msgstr "Die Registrierung aller Plug-in-Sammlungen wurde entfernt.\n"
#: console/console.c:322
#, c-format
msgid "Installed plug-in %s.\n"
-msgstr ""
+msgstr "Plug-in %s wurde installiert.\n"
#: console/console.c:343
#, c-format
msgid "Unknown flag %s.\n"
-msgstr ""
+msgstr "unbekannter Schalter %s\n"
#. TRANSLATORS: Usage instructions for scanning plug-ins
#: console/console.c:345
#, c-format
msgid "Usage: %s [<flag>...]\n"
-msgstr ""
+msgstr "Aufruf: %s [<Schalter> …]\n"
#: console/console.c:346
msgid "Available flags are:\n"
-msgstr ""
+msgstr "Folgende Schalter sind verfügbar:\n"
#: console/console.c:358
msgid "Plug-ins loaded.\n"
-msgstr ""
+msgstr "Plug-ins geladen\n"
#: console/console.c:364
msgid "uninstalled"
-msgstr ""
+msgstr "deinstalliert"
#: console/console.c:366
msgid "installed"
-msgstr ""
+msgstr "installiert"
+# Es geht hier um Kompilersymbole wie #define __i386__ 1
#: console/console.c:368
msgid "resolved"
-msgstr ""
+msgstr "aufgelöst"
#: console/console.c:370
msgid "starting"
-msgstr ""
+msgstr "wird gestartet"
#: console/console.c:372
msgid "stopping"
-msgstr ""
+msgstr "wird gestoppt"
#: console/console.c:374
msgid "active"
-msgstr ""
+msgstr "aktiv"
#: console/console.c:376
msgid "unknown"
-msgstr ""
+msgstr "unbekannt"
#: console/console.c:392
msgid "Installed plug-ins:\n"
-msgstr ""
+msgstr "installierte Plug-ins:\n"
#: console/console.c:394 console/console.c:689 console/console.c:714
msgid "IDENTIFIER"
-msgstr ""
+msgstr "BEZEICHNER"
#: console/console.c:395
msgid "VERSION"
-msgstr ""
+msgstr "VERSION"
#: console/console.c:396
msgid "STATE"
-msgstr ""
+msgstr "STATUS"
#: console/console.c:397 console/console.c:690 console/console.c:715
msgid "NAME"
-msgstr ""
+msgstr "NAME"
#: console/console.c:421 console/console.c:539 console/console.c:762
msgid "Memory allocation failed.\n"
-msgstr ""
+msgstr "Speicherreservierung fehlgeschlagen\n"
#. TRANSLATORS: Usage instructions for showing plug-in information
#. TRANSLATORS: Usage instructions for starting a plug-in
@@ -359,201 +360,224 @@ msgstr ""
#: console/console.c:835
#, c-format
msgid "Usage: %s <plugin>\n"
-msgstr ""
+msgstr "Aufruf: %s <Plug-in>\n"
#: console/console.c:687
msgid "Installed extension points:\n"
-msgstr ""
+msgstr "installierte Erweiterungspunkte:\n"
#: console/console.c:712
msgid "Installed extensions:\n"
-msgstr ""
+msgstr "installierte Erweiterungen:\n"
#: console/console.c:719
msgid ".<anonymous>"
-msgstr ""
+msgstr ".<anonym>"
#. TRANSLATORS: Usage instructions for setting context arguments
#: console/console.c:760
#, c-format
msgid "Usage: %s [<arg>...]\n"
-msgstr ""
+msgstr "Aufruf: %s [<Argument> …]\n"
#: console/console.c:765
msgid "Plug-in context startup arguments have been set.\n"
-msgstr ""
+msgstr "Kontextabhängige Startargumente des Plug-ins wurden gesetzt.\n"
#: console/console.c:778
#, c-format
msgid "Started plug-in %s.\n"
-msgstr ""
+msgstr "Plug-in %s gestartet\n"
#: console/console.c:790
msgid "Ran one plug-in run function. There are pending run functions.\n"
msgstr ""
+"Eine Plug-in-Ausführungsfunktion lief. Es stehen noch Ausführungsfunktionen "
+"an.\n"
#: console/console.c:792
msgid "Ran one plug-in run function. No more pending run functions.\n"
msgstr ""
+"Eine Plug-in-Ausführungsfunktion lief. Es stehen keine Ausführungsfunktionen "
+"mehr an.\n"
#: console/console.c:803
msgid "Ran plug-in run functions. No more pending run functions.\n"
msgstr ""
+"Es liefen Plug-in-Ausführungsfunktionen. Es stehen keine "
+"Ausführungsfunktionen mehr an.\n"
#: console/console.c:816
#, c-format
msgid "Stopped plug-in %s.\n"
-msgstr ""
+msgstr "Plug-in %s gestoppt\n"
#: console/console.c:826
msgid "Stopped all plug-ins.\n"
-msgstr ""
+msgstr "alle Plug-ins gestoppt\n"
#: console/console.c:839
#, c-format
msgid "Uninstalled plug-in %s.\n"
-msgstr ""
+msgstr "Plug-in %s deinstalliert\n"
#: console/console.c:849
msgid "Uninstalled all plug-ins.\n"
-msgstr ""
+msgstr "alle Plug-ins deinstalliert\n"
#. TRANSLATORS: This is a version string displayed on startup.
#: console/console.c:877
#, c-format
msgid "C-Pluff Console, version %s\n"
-msgstr ""
+msgstr "C-Pluff-Konsole, Version %s\n"
#. TRANSLATORS: This is a version string displayed on startup.
#. The first %s is version and the second %s is platform type.
#: console/console.c:881 loader/loader.c:332
#, c-format
msgid "C-Pluff Library, version %s for %s\n"
-msgstr ""
+msgstr "C-Pluff-Bibliothek, Version %s für %s\n"
#: console/console.c:896
msgid "Type \"help\" for help on available commands.\n"
-msgstr ""
+msgstr "Geben Sie »help« ein, um Hilfe über verfügbare Befehle zu erhalten.\n"
#. TRANSLATORS: This is the input prompt for cpluff-console.
#: console/console.c:900
msgid "C-Pluff Console > "
-msgstr ""
+msgstr "C-Pluff-Konsole > "
#: console/console.c:928
#, c-format
msgid "Unknown command %s.\n"
-msgstr ""
+msgstr "unbekannter Befehl %s\n"
-#: libcpluff/context.c:270
+#: libcpluff/context.c:274
msgid "Only the main program can destroy a plug-in context."
-msgstr ""
+msgstr "Nur das Hauptprogramm kann den Kontext eines Plug-ins zerstören."
-#: libcpluff/context.c:358
+#: libcpluff/context.c:362
#, c-format
msgid ""
"The plug-in collection in path %s could not be registered due to "
"insufficient memory."
msgstr ""
+"Die Plug-in-Sammlung in Pfad %s konnte aufgrund unzureichenden Speichers "
+"nicht registriert werden."
-#: libcpluff/context.c:360
+#: libcpluff/context.c:364
#, c-format
msgid "The plug-in collection in path %s was registered."
-msgstr ""
+msgstr "Die Plug-in-Sammlung in Pfad %s wurde registriert."
-#: libcpluff/context.c:393
+#: libcpluff/context.c:397
#, c-format
msgid "The plug-in collection in path %s was unregistered."
-msgstr ""
+msgstr "Die Registrierung der Plug-in-Sammlung in Pfad %s wurde entfernt."
-#: libcpluff/context.c:402
+#: libcpluff/context.c:406
msgid "All plug-in collections were unregistered."
-msgstr ""
+msgstr "Die Registrierung aller Plug-in-Sammlungen wurde entfernt."
-#: libcpluff/context.c:416
+#: libcpluff/context.c:420
#, c-format
msgid "At least one startup argument must be given in call to function %s."
msgstr ""
+"Beim Aufruf der Funktion %s muss mindestens ein Startargument angegeben "
+"werden."
-#: libcpluff/context.c:447
+#: libcpluff/context.c:451
#, c-format
msgid "Function %s was called from within a logger invocation."
msgstr ""
+"Funktion %s wurde im Aufruf eines Protokollierungsprogramms aufgerufen."
-#: libcpluff/context.c:451
+#: libcpluff/context.c:455
#, c-format
msgid "Function %s was called from within an event listener invocation."
msgstr ""
+"Funktion %s wurde im Aufruf einer Ereignisbehandlungsroutine aufgerufen."
-#: libcpluff/context.c:455
+#: libcpluff/context.c:459
#, c-format
msgid "Function %s was called from within a plug-in start function invocation."
-msgstr ""
+msgstr "Funktion %s wurde im Aufruf einer Plug-in-Startfunktion aufgerufen."
-#: libcpluff/context.c:459
+#: libcpluff/context.c:463
#, c-format
msgid "Function %s was called from within a plug-in stop function invocation."
-msgstr ""
+msgstr "Funktion %s wurde im Aufruf einer Plug-in-Stoppfunktion aufgerufen."
-#: libcpluff/context.c:462
+#: libcpluff/context.c:466
#, c-format
msgid ""
"Function %s was called from within a plug-in create function invocation."
msgstr ""
+"Funktion %s wurde im Aufruf einer Plug-in-Erstellungsfunktion aufgerufen."
-#: libcpluff/context.c:465
+#: libcpluff/context.c:469
#, c-format
msgid ""
"Function %s was called from within a plug-in destroy function invocation."
msgstr ""
+"Funktion %s wurde im Aufruf einer Plug-in-Zerstörungsfunktion aufgerufen."
#. TRANSLATORS: The context owner (when it is a plug-in) used in some strings.
#. Search for "context owner" to find these strings.
-#: libcpluff/context.c:515
+#: libcpluff/context.c:519
#, c-format
msgid "Plug-in %s"
-msgstr ""
+msgstr "Plug-in %s"
#. TRANSLATORS: The context owner (when it is the main program) used in some strings.
#. Search for "context owner" to find these strings.
-#: libcpluff/context.c:519
+#: libcpluff/context.c:523
msgid "The main program"
+msgstr "das Hauptprogramm"
+
+#: libcpluff/cpluff.c:143
+msgid "Attempt to destroy uninitialized framework."
msgstr ""
-#: libcpluff/cpluff.c:173
+#: libcpluff/cpluff.c:179
#, c-format
msgid "C-Pluff: FATAL ERROR: %s\n"
-msgstr ""
+msgstr "C-Pluff: SCHWERWIEGENDER FEHLER: %s\n"
-#: libcpluff/cpluff.c:181
+#: libcpluff/cpluff.c:187
#, c-format
msgid "Argument %s has illegal NULL value in call to function %s."
msgstr ""
+"Argument %s enthält beim Aufruf der Funktion %s einen ungültigen NULL-Wert."
-#: libcpluff/logging.c:131
+#: libcpluff/logging.c:135
msgid "Logger could not be registered due to insufficient memory."
msgstr ""
+"Protokollierungsprogramm konnte aufgrund unzureichenden Speichers nicht "
+"registriert werden."
#. TRANSLATORS: %s is the context owner
-#: libcpluff/logging.c:135
+#: libcpluff/logging.c:139
#, c-format
msgid "%s registered a logger."
-msgstr ""
+msgstr "%s registrierte ein Protokollierungsprogramm."
#. TRANSLATORS: %s is the context owner
-#: libcpluff/logging.c:172
+#: libcpluff/logging.c:176
#, c-format
msgid "%s unregistered a logger."
-msgstr ""
+msgstr "%s entfernte die Registrierung eines Protokollierungsprogramms."
-#: libcpluff/logging.c:183
+#: libcpluff/logging.c:187
msgid "Encountered a recursive logging request within a logger invocation."
msgstr ""
+"Innerhalb eines Protokollierungsprogrammaufrufs wurde eine rekursive "
+"Protokollierungsanfrage gefunden."
-#: libcpluff/logging.c:241
+#: libcpluff/logging.c:245
#, c-format
msgid "Illegal severity value in call to %s."
-msgstr ""
+msgstr "ungültiger Schweregrad im Aufruf von %s"
#: libcpluff/pcontrol.c:121
#, c-format
@@ -561,6 +585,8 @@ msgid ""
"Plug-in %s could not be installed because a plug-in with the same identifier "
"is already installed."
msgstr ""
+"Plug-in %s konnte nicht installiert werden, da bereits ein Plug-in mit dem "
+"gleichen Bezeichner installiert ist."
#: libcpluff/pcontrol.c:161
#, c-format
@@ -568,32 +594,41 @@ msgid ""
"Plug-in %s could not be installed because extension point %s conflicts with "
"an already installed extension point."
msgstr ""
+"Plug-in %s konnte nicht installiert werden, da der Erweiterungspunkt %s in "
+"Konflikt mit einem bereits installierten Erweiterungspunkt steht."
#: libcpluff/pcontrol.c:229
#, c-format
msgid "Plug-in %s could not be installed due to insufficient system resources."
msgstr ""
+"Plug-in %s konnte aufgrund unzureichender Systemressourcen nicht installiert "
+"werden."
#: libcpluff/pcontrol.c:293
#, c-format
msgid ""
"Plug-in %s could not be resolved due to version incompatibility with C-Pluff."
msgstr ""
+"Plug-in %s konnte nicht gelöst werden, da die Version mit der von C-Pluff "
+"inkompatibel ist."
#: libcpluff/pcontrol.c:304
#, c-format
msgid ""
"Plug-in %s runtime library could not be loaded due to insufficient memory."
msgstr ""
+"Die Laufzeitbibliothek von Plug-in %s konnte aufgrund unzureichenden "
+"Speichers nicht geladen werden."
-#: libcpluff/pcontrol.c:319 libcpluff/pcontrol.c:332 libcpluff/psymbol.c:188
+#: libcpluff/pcontrol.c:319 libcpluff/pcontrol.c:332 libcpluff/psymbol.c:192
msgid "Unspecified error."
-msgstr ""
+msgstr "nicht spezifizierter Fehler"
#: libcpluff/pcontrol.c:321
#, c-format
msgid "Plug-in %s runtime library %s could not be opened: %s"
msgstr ""
+"Von Plug-in %s konnte die Laufzeitbibliothek %s nicht geöffnet werden: %s"
#: libcpluff/pcontrol.c:334
#, c-format
@@ -601,11 +636,13 @@ msgid ""
"Plug-in %s symbol %s containing plug-in runtime information could not be "
"resolved: %s"
msgstr ""
+"Plug-in %s: Symbol %s, das Laufzeitinformationen des Plug-ins enthält, kann "
+"nicht aufgelöst werden: %s"
#: libcpluff/pcontrol.c:340
#, c-format
msgid "Plug-in %s is missing a constructor or destructor function."
-msgstr ""
+msgstr "Plug-in %s fehlt eine Konstruktor- oder Destruktor-Funktion."
#: libcpluff/pcontrol.c:387
#, c-format
@@ -613,6 +650,8 @@ msgid ""
"Plug-in %s could not be resolved due to version incompatibility with plug-in "
"%s."
msgstr ""
+"Plug-in %s konnte nicht gelöst werden, da die Version mit der des Plug-ins "
+"%s inkompatibel ist."
#: libcpluff/pcontrol.c:397
#, c-format
@@ -620,6 +659,8 @@ msgid ""
"Plug-in %s could not be resolved because it depends on plug-in %s which is "
"not installed."
msgstr ""
+"Plug-in %s konnte nicht gelöst werden, da es vom nicht installierten Plug-in "
+"%s abhängt."
#: libcpluff/pcontrol.c:463
#, c-format
@@ -627,427 +668,513 @@ msgid ""
"Plug-in %s could not be resolved because it depends on plug-in %s which "
"could not be resolved."
msgstr ""
+"Plug-in %s konnte nicht gelöst werden, da es vom Plug-in %s abhängt, das "
+"nicht gelöst werden konnte."
#: libcpluff/pcontrol.c:505
#, c-format
msgid "Plug-in %s could not be resolved because of insufficient memory."
msgstr ""
+"Plug-in %s konnte aufgrund unzureichenden Speichers nicht gelöst werden."
#: libcpluff/pcontrol.c:709 libcpluff/pcontrol.c:800 libcpluff/pcontrol.c:836
#, c-format
msgid "Plug-in %s could not be started due to insufficient memory."
msgstr ""
+"Plug-in %s konnte aufgrund unzureichenden Speichers nicht gestartet werden."
#: libcpluff/pcontrol.c:714
#, c-format
msgid "Plug-in %s failed to start due to plug-in runtime error."
-msgstr ""
+msgstr "Start des Plug-ins %s aufgrund eines Laufzeitfehlers gescheitert"
#: libcpluff/pcontrol.c:732
#, c-format
msgid "Detected a runtime plug-in dependency loop: %s"
msgstr ""
+"In einem Laufzeit-Plug-in wurde eine Abhängigkeitsschleife entdeckt: %s"
#: libcpluff/pcontrol.c:734
#, c-format
msgid "Detected a static plug-in dependency loop: %s"
-msgstr ""
+msgstr "Es wurde eine statische Abhängigkeitsschleife entdeckt: %s"
#: libcpluff/pcontrol.c:858
#, c-format
msgid "Unknown plug-in %s could not be started."
-msgstr ""
+msgstr "Das unbekannte Plug-in %s konnte nicht gestartet werden."
#: libcpluff/pcontrol.c:1003
#, c-format
msgid "Unknown plug-in %s could not be stopped."
-msgstr ""
+msgstr "Das unbekannte Plug-in %s konnte nicht gestoppt werden."
#: libcpluff/pcontrol.c:1214
#, c-format
msgid "Unknown plug-in %s could not be uninstalled."
-msgstr ""
+msgstr "Das unbekannte Plug-in %s konnte nicht deinstalliert werden."
-#: libcpluff/pinfo.c:102
+# FIXME Changed English version
+#: libcpluff/pinfo.c:106
#, c-format
-msgid "An information object at address %p was registered."
-msgstr ""
+msgid "Registered a new reference counted object at address %p."
+msgstr "Es wurde ein Informationsobjekt mit der Adresse %p registriert."
-#: libcpluff/pinfo.c:124
-#, c-format
-msgid ""
-"Reference count of the information object at address %p increased to %d."
+# FIXME Changed English version
+#: libcpluff/pinfo.c:128
+#, fuzzy, c-format
+msgid "Reference count of the object at address %p increased to %d."
msgstr ""
+"Die Referenzzahl des Informationsobjekts mit der Adresse %p wurde auf %d "
+"erhöht."
-#: libcpluff/pinfo.c:126
-#, c-format
+# FIXME Changed English version
+#: libcpluff/pinfo.c:130
+#, fuzzy, c-format
msgid ""
-"Reference count of an unknown information object at address %p could not be "
-"increased."
+"Attempt to increase the reference count of an unknown object at address %p."
msgstr ""
+"Die Referenzzahl eines unbekannten Informationsobjekts mit der Adresse %p "
+"konnte nicht erhöht werden."
-#: libcpluff/pinfo.c:142
-#, c-format
-msgid "The information object at address %p was unregistered."
+# FIXME Changed English version
+#: libcpluff/pinfo.c:144
+#, fuzzy, c-format
+msgid "Reference count of the object at address %p decreased to %d."
msgstr ""
+"Die Referenzzahl eines Informationsobjekts mit der Adresse %p konnte nicht "
+"auf %d vermindert werden."
-#: libcpluff/pinfo.c:145
-#, c-format
-msgid ""
-"Reference count of the information object at address %p decreased to %d."
+# FIXME Changed English version
+#: libcpluff/pinfo.c:148
+#, fuzzy, c-format
+msgid "Deallocated the reference counted object at address %p."
msgstr ""
+"Die Registrierung des Informationsobjekts an Adresse %p wurde entfernt."
-#: libcpluff/pinfo.c:148
-#, c-format
-msgid "Could not release an unknown information object at address %p."
+# FIXME Changed English version
+#: libcpluff/pinfo.c:152
+#, fuzzy, c-format
+msgid "Attempt to release an unknown reference counted object at address %p."
msgstr ""
+"Ein unbekanntes Informationsobjekt mit der Adresse %p konnte nicht "
+"veröffentlicht werden."
-#: libcpluff/pinfo.c:169
+# FIXME Changed English version
+#: libcpluff/pinfo.c:173
#, c-format
msgid ""
"An unreleased information object was encountered at address %p with "
"reference count %d when destroying the associated plug-in context. Not "
"releasing the object."
msgstr ""
+"An Adresse %p wurde ein unveröffentlichtes Informationsobjekt mit der "
+"Referenzzahl %d beim Zerstören des zugehörigen Plug-in-Kontexts vorgefunden. "
+"Das Objekt wird nicht veröffentlicht."
-#: libcpluff/pinfo.c:186
+#: libcpluff/pinfo.c:190
msgid ""
"The plug-in identifier argument to cp_get_plugin_info must not be NULL when "
"the main program calls it."
msgstr ""
+"Das Plug-in-Bezeichnerargument für »cp_get_plugin_info« darf nicht NULL "
+"sein, wenn es vom Hauptprogramm aufgerufen wird."
-#: libcpluff/pinfo.c:197
+#: libcpluff/pinfo.c:201
#, c-format
msgid "Could not return information about unknown plug-in %s."
msgstr ""
+"Es konnten keine Informationen über das unbekannte Plug-in %s zurückgegeben "
+"werden."
-#: libcpluff/pinfo.c:267
+#: libcpluff/pinfo.c:271
msgid "Plug-in information could not be returned due to insufficient memory."
msgstr ""
+"Aufgrund unzureichenden Speichers konnten keine Plug-in-Informationen "
+"zurückgegeben werden."
-#: libcpluff/pinfo.c:358
+#: libcpluff/pinfo.c:362
msgid ""
"Extension point information could not be returned due to insufficient memory."
msgstr ""
+"Aufgrund unzureichenden Speichers konnten keine "
+"Erweiterungspunktinformationen zurückgegeben werden."
-#: libcpluff/pinfo.c:474
+#: libcpluff/pinfo.c:478
msgid "Extension information could not be returned due to insufficient memory."
msgstr ""
+"Aufgrund unzureichenden Speichers konnten keine Erweiterungsinformationen "
+"zurückgegeben werden."
-#: libcpluff/pinfo.c:571
+#: libcpluff/pinfo.c:575
msgid "A plug-in listener could not be registered due to insufficient memory."
msgstr ""
+"Aufgrund unzureichenden Speichers konnte ein Programm, das auf Plug-ins "
+"wartet, nicht registriert werden."
#. TRANSLATORS: %s is the context owner
-#: libcpluff/pinfo.c:575
+#: libcpluff/pinfo.c:579
#, c-format
msgid "%s registered a plug-in listener."
-msgstr ""
+msgstr "%s registrierte ein Programm, das auf Plug-ins wartet."
#. TRANSLATORS: %s is the context owner
-#: libcpluff/pinfo.c:597
+#: libcpluff/pinfo.c:601
#, c-format
msgid "%s unregistered a plug-in listener."
msgstr ""
+"%s entfernte die Registrierung eines Programms, das auf Plug-ins wartet."
-#: libcpluff/pinfo.c:614
+#: libcpluff/pinfo.c:618
#, c-format
msgid "Plug-in %s has been uninstalled."
-msgstr ""
+msgstr "Plug-in %s wurde deinstalliert."
-#: libcpluff/pinfo.c:618
+#: libcpluff/pinfo.c:622
#, c-format
msgid "Plug-in %s has been installed."
-msgstr ""
+msgstr "Plug-in %s wurde installiert."
-#: libcpluff/pinfo.c:620
+#: libcpluff/pinfo.c:624
#, c-format
msgid "Plug-in %s runtime library has been unloaded."
msgstr ""
+"Die Laufzeitbibliothek des Plug-ins %s wurde aus dem Speicher entfernt."
-#: libcpluff/pinfo.c:625
+#: libcpluff/pinfo.c:629
#, c-format
msgid "Plug-in %s runtime library has been loaded."
-msgstr ""
+msgstr "Die Laufzeitbibliothek des Plug-ins %s wurde geladen."
-#: libcpluff/pinfo.c:627
+#: libcpluff/pinfo.c:631
#, c-format
msgid "Plug-in %s has been stopped."
-msgstr ""
+msgstr "Plug-in %s wurde gestoppt."
-#: libcpluff/pinfo.c:631
+#: libcpluff/pinfo.c:635
#, c-format
msgid "Plug-in %s is starting."
-msgstr ""
+msgstr "Plug-in %s ist gestartet."
-#: libcpluff/pinfo.c:634
+#: libcpluff/pinfo.c:638
#, c-format
msgid "Plug-in %s is stopping."
-msgstr ""
+msgstr "Plug-in %s wird gestoppt."
-#: libcpluff/pinfo.c:637
+#: libcpluff/pinfo.c:641
#, c-format
msgid "Plug-in %s has been started."
-msgstr ""
+msgstr "Plug-in %s wurde gestartet."
-#: libcpluff/ploader.c:162
+#: libcpluff/ploader.c:166
#, c-format
msgid "Suspicious plug-in descriptor content in %s, line %d, column %d (%s)."
-msgstr ""
+msgstr "verdächtiger Plug-in-Deskriptorinhalt in %s, Zeile %d, Spalte %d (%s)"
-#: libcpluff/ploader.c:169
+#: libcpluff/ploader.c:173
#, c-format
msgid "Invalid plug-in descriptor content in %s, line %d, column %d (%s)."
-msgstr ""
+msgstr "ungültiger Plug-in-Deskriptorinhalt in %s, Zeile %d, Spalte %d (%s)"
-#: libcpluff/ploader.c:189
+#: libcpluff/ploader.c:193
#, c-format
msgid ""
"Insufficient system resources to parse plug-in descriptor content in %s, "
"line %d, column %d."
msgstr ""
+"Die Systemressourcen reichen nicht zum Auswerten des Plug-in-"
+"Deskriptorinhalts in %s, Zeile %d, Spalte %d aus."
-#: libcpluff/ploader.c:243
+#: libcpluff/ploader.c:247
#, c-format
msgid "required attribute %s for element %s has an empty value"
-msgstr ""
+msgstr "Wert des benötigten Attributs %s für Element %s ist leer"
-#: libcpluff/ploader.c:249
+#: libcpluff/ploader.c:253
#, c-format
msgid "required attribute %s missing for element %s"
-msgstr ""
+msgstr "benötigtes Attribut %s für Element %s fehlt"
-#: libcpluff/ploader.c:283
+#: libcpluff/ploader.c:287
#, c-format
msgid "ignoring unknown attribute %s for element %s"
-msgstr ""
+msgstr "unbekanntes Attribut %s für Element %s wird ignoriert"
-#: libcpluff/ploader.c:376
+#: libcpluff/ploader.c:380
#, c-format
msgid "ignoring unexpected element %s and its contents"
-msgstr ""
+msgstr "unerwartetes Element %s und sein Inhalt werden ignoriert"
-#: libcpluff/ploader.c:759
+#: libcpluff/ploader.c:763
#, c-format
msgid "unknown boolean value: %s"
-msgstr ""
+msgstr "unbekannter boolescher Wert: %s"
-#: libcpluff/ploader.c:969
+#: libcpluff/ploader.c:973
#, c-format
msgid "unexpected closing tag for %s"
-msgstr ""
+msgstr "unerwartete schließende Kennzeichnung für %s"
-#: libcpluff/ploader.c:1085
+#: libcpluff/ploader.c:1037
#, c-format
msgid "XML parsing error in %s, line %d, column %d (%s)."
-msgstr ""
+msgstr "XML-Auswertungsfehler in %s, Zeile %d, Spalte %d (%s)"
-#: libcpluff/ploader.c:1130
+#: libcpluff/ploader.c:1081
#, c-format
msgid "Plug-in descriptor in %s is invalid."
-msgstr ""
+msgstr "Plug-in-Deskriptor in %s ist ungültig."
-#: libcpluff/ploader.c:1134
+#: libcpluff/ploader.c:1085
#, c-format
msgid "An I/O error occurred while loading a plug-in descriptor from %s."
msgstr ""
+"Beim Laden eines Plug-in-Deskriptors von %s ist ein E/A-Fehler aufgetreten."
-#: libcpluff/ploader.c:1138
+#: libcpluff/ploader.c:1089
#, c-format
msgid "Insufficient system resources to load a plug-in descriptor from %s."
msgstr ""
+"Die Systemressourcen reichen nicht aus, um einen Plug-in-Deskriptor von %s "
+"zu laden."
-#: libcpluff/ploader.c:1142
+#: libcpluff/ploader.c:1093
#, c-format
msgid "Failed to load a plug-in descriptor from %s."
-msgstr ""
+msgstr "Laden eines Plug-in-Deskriptors von %s fehlgeschlagen"
-#: libcpluff/pscan.c:60
+#: libcpluff/pscan.c:64
msgid "Plug-in scan is starting."
-msgstr ""
+msgstr "Plug-in-Scan startet."
-#: libcpluff/pscan.c:108
+#: libcpluff/pscan.c:112
#, c-format
msgid ""
"Could not check possible plug-in location %s%c%s due to insufficient system "
"resources."
msgstr ""
+"Möglicher Plug-in-Speicherort %s%c%s konnte aufgrund unzureichender "
+"Systemressourcen nicht überprüft werden."
-#: libcpluff/pscan.c:140
+#: libcpluff/pscan.c:144
#, c-format
msgid ""
"Plug-in %s version %s could not be loaded due to insufficient system "
"resources."
msgstr ""
+"Von Plug-in %s konnte die Version %s aufgrund unzureichender "
+"Systemressourcen nicht geladen werden."
-#: libcpluff/pscan.c:152
+#: libcpluff/pscan.c:156
#, c-format
msgid "Could not read plug-in directory %s: %s"
-msgstr ""
+msgstr "Plug-in-Verzeichnis %s konnte nicht gelesen werden: %s"
-#: libcpluff/pscan.c:158
+#: libcpluff/pscan.c:162
#, c-format
msgid "Could not open plug-in directory %s: %s"
-msgstr ""
+msgstr "Plug-in-Verzeichnis %s konnte nicht geöffnet werden: %s"
-#: libcpluff/pscan.c:272
+#: libcpluff/pscan.c:276
msgid "Plug-in scan has completed successfully."
-msgstr ""
+msgstr "Plug-in-Scan erfolgreich abgeschlossen"
-#: libcpluff/pscan.c:275
+#: libcpluff/pscan.c:279
msgid "Could not scan plug-ins due to insufficient system resources."
msgstr ""
+"Plug-ins konnten aufgrund unzureichender Systemressourcen nicht gescannt "
+"werden."
-#: libcpluff/pscan.c:278
+#: libcpluff/pscan.c:282
msgid "Could not scan plug-ins."
-msgstr ""
+msgstr "Plug-ins konnten nicht gescannt werden."
-#: libcpluff/psymbol.c:79
+#: libcpluff/psymbol.c:83
msgid "Only plug-ins can define context specific symbols."
-msgstr ""
+msgstr "Nur Plug-ins können kontextspezifische Symbole definieren."
-#: libcpluff/psymbol.c:115
+#: libcpluff/psymbol.c:119
#, c-format
msgid "Plug-in %s could not define symbol %s due to insufficient memory."
msgstr ""
+"Plug-in %s konnte Symbol %s aufgrund unzureichenden Speichers nicht "
+"definieren."
-#: libcpluff/psymbol.c:118
+#: libcpluff/psymbol.c:122
#, c-format
msgid "Plug-in %s tried to redefine symbol %s."
-msgstr ""
+msgstr "Plug-in %s versuchte, das Symbol %s neu zu definieren."
-#: libcpluff/psymbol.c:163
+#: libcpluff/psymbol.c:167
#, c-format
msgid "Symbol %s in unknown plug-in %s could not be resolved."
-msgstr ""
+msgstr "Symbol %s in unbekanntem Plug-in %s konnte nicht aufgelöst werden."
-#: libcpluff/psymbol.c:171
+#: libcpluff/psymbol.c:175
#, c-format
msgid ""
"Symbol %s in plug-in %s could not be resolved because the plug-in could not "
"be started."
msgstr ""
+"Symbol %s in Plug-in %s konnte nicht aufgelöst werden, da das Plug-in nicht "
+"gestartet werden konnte."
-#: libcpluff/psymbol.c:190
+#: libcpluff/psymbol.c:194
#, c-format
msgid "Symbol %s in plug-in %s could not be resolved: %s"
+msgstr "Symbol %s in Plug-in %s konnte nicht aufgelöst werden: %s"
+
+#: libcpluff/psymbol.c:245
+#, fuzzy, c-format
+msgid "A dynamic dependency was created from plug-in %s to plug-in %s."
+msgstr ""
+"Eine dynamische Abhängigkeit des Plug-ins %s von Plugin %s wurde entfernt."
+
+#. TRANSLATORS: First %s is the context owner
+#: libcpluff/psymbol.c:255
+#, fuzzy, c-format
+msgid "%s resolved symbol %s defined by plug-in %s."
msgstr ""
+"%s veröffentlichte das Symbol an Adresse %p, das durch das Plug-in %s "
+"definiert wurde."
-#: libcpluff/psymbol.c:271
+#: libcpluff/psymbol.c:275
#, c-format
msgid ""
"Symbol %s in plug-in %s could not be resolved due to insufficient memory."
msgstr ""
+"Symbol %s in Plug-in %s konnte aufgrund unzureichenden Speichers nicht "
+"aufgelöst werden."
-#: libcpluff/psymbol.c:298
+#: libcpluff/psymbol.c:302
#, c-format
msgid "Could not release unknown symbol at address %p."
-msgstr ""
+msgstr "Unbekanntes Symbol an Adresse %p konnte nicht aufgelöst werden."
#. TRANSLATORS: First %s is the context owner
-#: libcpluff/psymbol.c:317
+#: libcpluff/psymbol.c:321
#, c-format
msgid "%s released the symbol at address %p defined by plug-in %s."
msgstr ""
+"%s veröffentlichte das Symbol an Adresse %p, das durch das Plug-in %s "
+"definiert wurde."
-#: libcpluff/psymbol.c:329
+#: libcpluff/psymbol.c:333
#, c-format
msgid "A dynamic dependency from plug-in %s to plug-in %s was removed."
msgstr ""
+"Eine dynamische Abhängigkeit des Plug-ins %s von Plugin %s wurde entfernt."
-#: libcpluff/serial.c:60
+#: libcpluff/serial.c:64
msgid "Only plug-ins can register run functions."
-msgstr ""
+msgstr "Nur Plug-ins können Ausführungsfunktionen registrieren."
-#: libcpluff/serial.c:64
+#: libcpluff/serial.c:68
msgid "Only starting or active plug-ins can register run functions."
msgstr ""
+"Nur startende oder aktive Plug-ins können Ausführungsfunktionen registrieren."
-#: libcpluff/serial.c:111
+#: libcpluff/serial.c:115
msgid "Could not register a run function due to insufficient memory."
msgstr ""
+"Eine Ausführungsfunktion konnte aufgrund unzureichenden Speichers nicht "
+"registriert werden."
-#: libcpluff/thread_posix.c:114
+#: libcpluff/thread_posix.c:118
#, c-format
msgid "Could not lock a mutex due to error %d."
-msgstr ""
+msgstr "Ein Mutex konnte aufgrund des Fehlers %d nicht gesperrt werden."
-#: libcpluff/thread_posix.c:122
+#: libcpluff/thread_posix.c:126
#, c-format
msgid "Could not unlock a mutex due to error %d."
msgstr ""
+"Die Sperre eines Mutex konnte aufgrund des Fehlers %d nicht aufgehoben "
+"werden."
-#: libcpluff/thread_posix.c:134 libcpluff/thread_posix.c:186
+#: libcpluff/thread_posix.c:138 libcpluff/thread_posix.c:190
#, c-format
msgid "Could not wait for a condition variable due to error %d."
msgstr ""
+"Aufgrund des Fehlers %d konnte nicht auf eine Bedingungsvariable gewartet "
+"werden."
-#: libcpluff/thread_posix.c:159 libcpluff/thread_posix.c:181
+#: libcpluff/thread_posix.c:163 libcpluff/thread_posix.c:185
#, c-format
msgid "Could not signal a condition variable due to error %d."
msgstr ""
+"Aufgrund des Fehlers %d konnte einer Bedingungsvariable nichts gemeldet "
+"werden."
-#: libcpluff/thread_posix.c:163 libcpluff/thread_windows.c:206
+#: libcpluff/thread_posix.c:167 libcpluff/thread_windows.c:210
msgid "Internal C-Pluff error: Unauthorized attempt at unlocking a mutex."
msgstr ""
+"Interner C-Pluff-Fehler: unautorisierter Versuch die Sperre eines Mutex "
+"aufzuheben"
-#: libcpluff/thread_posix.c:194 libcpluff/thread_windows.c:240
+#: libcpluff/thread_posix.c:198 libcpluff/thread_windows.c:244
msgid "Internal C-Pluff error: Unauthorized attempt at waiting on a mutex."
msgstr ""
+"Interner C-Pluff-Fehler: unautorisierter Versuch auf einen Mutex zu warten"
-#: libcpluff/thread_posix.c:210
+#: libcpluff/thread_posix.c:214
#, c-format
msgid "Could not broadcast a condition variable due to error %d."
msgstr ""
+"Aufgrund des Fehlers %d konnte eine Bedingungsvariable nicht übertragen "
+"werden."
-#: libcpluff/thread_posix.c:214 libcpluff/thread_windows.c:254
+#: libcpluff/thread_posix.c:218 libcpluff/thread_windows.c:258
msgid "Internal C-Pluff error: Unauthorized attempt at signaling a mutex."
msgstr ""
+"Interner C-Pluff-Fehler: unautorisierter Versuch beim Melden eines Mutex."
-#: libcpluff/thread_windows.c:122
+#: libcpluff/thread_windows.c:126
msgid "unknown error"
-msgstr ""
+msgstr "unbekannter Fehler"
-#: libcpluff/thread_windows.c:134
+#: libcpluff/thread_windows.c:138
#, c-format
msgid "Could not lock a mutex due to error %ld: %s"
-msgstr ""
+msgstr "Ein Mutex konnte aufgrund des Fehlers %ld nicht blockiert werden: %s"
-#: libcpluff/thread_windows.c:143
+#: libcpluff/thread_windows.c:147
#, c-format
msgid "Could not release a mutex due to error %ld: %s"
msgstr ""
+"Ein Mutex konnte aufgrund des Fehlers %ld nicht veröffentlicht werden: %s"
-#: libcpluff/thread_windows.c:152
+#: libcpluff/thread_windows.c:156
#, c-format
msgid "Could not wait for an event due to error %ld: %s"
msgstr ""
+"Aufgrund des Fehlers %ld konnte nicht auf ein Ereignis gewartet werden: %s."
-#: libcpluff/thread_windows.c:161
+#: libcpluff/thread_windows.c:165
#, c-format
msgid "Could not set an event due to error %ld: %s"
-msgstr ""
+msgstr "Aufgrund des Fehlers %ld konnte kein Ereignis gesetzt werden: %s"
-#: libcpluff/thread_windows.c:170
+#: libcpluff/thread_windows.c:174
#, c-format
msgid "Could not reset an event due to error %ld: %s"
-msgstr ""
+msgstr "Aufgrund des Fehlers %ld konnte kein Ereignis zurückgesetzt werden: %s"
#. TRANSLATORS: A formatting string for loader error messages.
#: loader/loader.c:121
#, c-format
msgid "C-Pluff Loader: ERROR: %s\n"
-msgstr ""
+msgstr "C-Pluff-Lader: FEHLER: %s\n"
#: loader/loader.c:152
msgid "Memory allocation failed."
-msgstr ""
+msgstr "Speicherreservierung fehlgeschlagen"
#. TRANSLATORS: This is a version string displayed on startup.
#: loader/loader.c:192 loader/loader.c:328
#, c-format
msgid "C-Pluff Loader, version %s\n"
-msgstr ""
+msgstr "C-Pluff-Lader, Version %s\n"
#: loader/loader.c:194
msgid ""
@@ -1061,59 +1188,70 @@ msgid ""
" -q be quiet\n"
" -V print C-Pluff version number and exit\n"
msgstr ""
+"Aufruf: cpluff-loader <Option> … [--] <an Plug-ins übergebene Argumente>\n"
+"Optionen:\n"
+" -h gibt diesen Hilfetext aus\n"
+" -c VERZ fügt die Plug-in-Sammlung dem Verzeichnis VERZ hinzu\n"
+" -p VERZ fügt das Plug-in dem Verzeichnis VERZ hinzu\n"
+" -s PID startet Plug-in PID\n"
+" -v detailliertere Ausgabe (wiederholen, um Detailgrad zu erhöhen)\n"
+" -q stiller Modus\n"
+" -V gibt die Versionsnummer von C-Pluff aus und beendet sich\n"
#. TRANSLATORS: A formatting string for log messages caused by plug-in activity.
#: loader/loader.c:239
#, c-format
msgid "C-Pluff: %s: [%s] %s\n"
-msgstr ""
+msgstr "C-Pluff: %s: [%s] %s\n"
#. TRANSLATORS: A formatting string for log messages caused by loader activity.
#: loader/loader.c:242
#, c-format
msgid "C-Pluff: %s: [loader] %s\n"
-msgstr ""
+msgstr "C-Pluff: %s: [Lader] %s\n"
#: loader/loader.c:264
msgid "The C-Pluff initialization failed."
-msgstr ""
+msgstr "Die Initialisierung von C-Pluff ist fehlgeschlagen."
#: loader/loader.c:299 loader/loader.c:307
msgid "Quiet and verbose modes are mutually exclusive."
-msgstr ""
+msgstr "Stiller und detailierter Modus schließen sich gegenseitig aus."
#: loader/loader.c:320
msgid "Unrecognized option or argument. Try option -h for help."
-msgstr ""
+msgstr "Option oder Argumente unbekannt. Mit der Option -h erhalten Sie Hilfe."
#: loader/loader.c:338
msgid "No plug-ins to load. Try option -h for help."
-msgstr ""
+msgstr "keine Plug-ins zu Laden. Mit der Option -h erhalten Sie Hilfe."
#: loader/loader.c:343
msgid "Plug-in context creation failed."
-msgstr ""
+msgstr "Die Erstellung des Plug-in-Kontextes schlug fehl."
#: loader/loader.c:376
#, c-format
msgid "Failed to load a plug-in from path %s."
-msgstr ""
+msgstr "Das Laden des Plug-ins aus dem Pfad %s ist fehlgeschlagen."
#: loader/loader.c:379
#, c-format
msgid "Failed to install plug-in %s."
-msgstr ""
+msgstr "Installieren des Plug-ins %s ist fehlgeschlagen."
#: loader/loader.c:388
#, c-format
msgid "Failed to register a plug-in collection at path %s."
-msgstr ""
+msgstr "Registrieren einer Plug-in-Sammlung in Pfad %s ist fehlgeschlagen."
#: loader/loader.c:393
msgid "Failed to load and install plug-ins from plug-in collections."
msgstr ""
+"Das Laden und Installieren von Plug-ins einer Plug-in-Sammlung ist "
+"fehlgeschlagen."
#: loader/loader.c:400
#, c-format
msgid "Failed to start plug-in %s."
-msgstr ""
+msgstr "Starten von Plug-in %s fehlgeschlagen."
diff --git a/lib/cpluff/po/fi.gmo b/lib/cpluff/po/fi.gmo
deleted file mode 100644
index 6fe5056e57..0000000000
--- a/lib/cpluff/po/fi.gmo
+++ /dev/null
Binary files differ
diff --git a/lib/cpluff/po/fi.po b/lib/cpluff/po/fi.po
index 688a69edc0..beb85893d6 100644
--- a/lib/cpluff/po/fi.po
+++ b/lib/cpluff/po/fi.po
@@ -7,16 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: C-Pluff 0.1.1\n"
"Report-Msgid-Bugs-To: johannes.lehtinen@iki.fi\n"
-"POT-Creation-Date: 2007-04-05 04:58+0300\n"
+"POT-Creation-Date: 2016-01-01 22:47+0200\n"
"PO-Revision-Date: 2007-03-26 08:40+0300\n"
"Last-Translator: Johannes Lehtinen <johannes.lehtinen@iki.fi>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
+"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: console/cmdinput_basic.c:49
+#: console/cmdinput_basic.c:52
msgid "ERROR: Command line is too long.\n"
msgstr "VIRHE: Komentorivi on liian pitkä.\n"
@@ -447,11 +448,11 @@ msgstr "C-Pluff -konsoli > "
msgid "Unknown command %s.\n"
msgstr "Tuntematon komento %s.\n"
-#: libcpluff/context.c:270
+#: libcpluff/context.c:274
msgid "Only the main program can destroy a plug-in context."
msgstr "Vain pääohjelma voi tuhota liitännäisympäristön."
-#: libcpluff/context.c:358
+#: libcpluff/context.c:362
#, c-format
msgid ""
"The plug-in collection in path %s could not be registered due to "
@@ -460,53 +461,53 @@ msgstr ""
"Liitännäiskokoelmaa polussa %s ei voitu rekisteröidä riittämättömän muistin "
"takia."
-#: libcpluff/context.c:360
+#: libcpluff/context.c:364
#, c-format
msgid "The plug-in collection in path %s was registered."
msgstr "Liitännäiskokoelma polussa %s rekisteröitiin."
-#: libcpluff/context.c:393
+#: libcpluff/context.c:397
#, c-format
msgid "The plug-in collection in path %s was unregistered."
msgstr "Polussa %s olevan liitännäiskokoelman rekisteröinti poistettiin."
-#: libcpluff/context.c:402
+#: libcpluff/context.c:406
msgid "All plug-in collections were unregistered."
msgstr "Kaikkien liitännäiskokoelmien rekisteröinnit poistettiin."
-#: libcpluff/context.c:416
+#: libcpluff/context.c:420
#, c-format
msgid "At least one startup argument must be given in call to function %s."
msgstr ""
"Käynnistysparametreja pitää olla vähintään yksi kutsuttaessa funktiota %s."
-#: libcpluff/context.c:447
+#: libcpluff/context.c:451
#, c-format
msgid "Function %s was called from within a logger invocation."
msgstr "Funktiota %s kutsuttiin lokitietojen käsittelijän kautta."
-#: libcpluff/context.c:451
+#: libcpluff/context.c:455
#, c-format
msgid "Function %s was called from within an event listener invocation."
msgstr "Funktiota %s kutsuttiin tapahtumakuuntelijan kautta."
-#: libcpluff/context.c:455
+#: libcpluff/context.c:459
#, c-format
msgid "Function %s was called from within a plug-in start function invocation."
msgstr "Funktiota %s kutsuttiin liitännäisen käynnistysfunktion kautta."
-#: libcpluff/context.c:459
+#: libcpluff/context.c:463
#, c-format
msgid "Function %s was called from within a plug-in stop function invocation."
msgstr "Funktiota %s kutsuttiin liitännäisen pysäytysfunktion kautta."
-#: libcpluff/context.c:462
+#: libcpluff/context.c:466
#, c-format
msgid ""
"Function %s was called from within a plug-in create function invocation."
msgstr "Funktiota %s kutsuttiin liitännäisen luontifunktion kautta."
-#: libcpluff/context.c:465
+#: libcpluff/context.c:469
#, c-format
msgid ""
"Function %s was called from within a plug-in destroy function invocation."
@@ -514,50 +515,54 @@ msgstr "Funktiota %s kutsuttiin liitännäisen tuhoamisfunktion kautta."
#. TRANSLATORS: The context owner (when it is a plug-in) used in some strings.
#. Search for "context owner" to find these strings.
-#: libcpluff/context.c:515
+#: libcpluff/context.c:519
#, c-format
msgid "Plug-in %s"
msgstr "Liitännäinen %s"
#. TRANSLATORS: The context owner (when it is the main program) used in some strings.
#. Search for "context owner" to find these strings.
-#: libcpluff/context.c:519
+#: libcpluff/context.c:523
msgid "The main program"
msgstr "Pääohjelma"
-#: libcpluff/cpluff.c:173
+#: libcpluff/cpluff.c:143
+msgid "Attempt to destroy uninitialized framework."
+msgstr "Yritettiin tuhota alustamatonta liitännäisalustaa."
+
+#: libcpluff/cpluff.c:179
#, c-format
msgid "C-Pluff: FATAL ERROR: %s\n"
msgstr "C-Pluff: LOPULLINEN VIRHE: %s\n"
-#: libcpluff/cpluff.c:181
+#: libcpluff/cpluff.c:187
#, c-format
msgid "Argument %s has illegal NULL value in call to function %s."
msgstr "Parametrilla %s on virheellinen NULL-arvo kutsuttaessa funktiota %s."
-#: libcpluff/logging.c:131
+#: libcpluff/logging.c:135
msgid "Logger could not be registered due to insufficient memory."
msgstr ""
"Lokitietojen käsittelijää ei pystytty rekisteröimään riittämättömän muistin "
"takia."
#. TRANSLATORS: %s is the context owner
-#: libcpluff/logging.c:135
+#: libcpluff/logging.c:139
#, c-format
msgid "%s registered a logger."
msgstr "%s rekisteröi lokitietojen käsittelijän."
#. TRANSLATORS: %s is the context owner
-#: libcpluff/logging.c:172
+#: libcpluff/logging.c:176
#, c-format
msgid "%s unregistered a logger."
msgstr "%s poisti lokitietojen käsittelijän rekisteröinnin."
-#: libcpluff/logging.c:183
+#: libcpluff/logging.c:187
msgid "Encountered a recursive logging request within a logger invocation."
msgstr "Kohdattiin rekursiivinen lokimerkintä lokitietojen käsittelijässä."
-#: libcpluff/logging.c:241
+#: libcpluff/logging.c:245
#, c-format
msgid "Illegal severity value in call to %s."
msgstr "Laiton vakavuustaso kutsuttaessa funktiota %s."
@@ -602,23 +607,23 @@ msgstr ""
"Liitännäisen %s ohjelmakoodia ei pystytty lataamaan riittämättömän muistin "
"takia."
-#: libcpluff/pcontrol.c:319 libcpluff/pcontrol.c:332 libcpluff/psymbol.c:188
+#: libcpluff/pcontrol.c:319 libcpluff/pcontrol.c:332 libcpluff/psymbol.c:192
msgid "Unspecified error."
-msgstr ""
+msgstr "Määrittelemätön virhe."
#: libcpluff/pcontrol.c:321
-#, fuzzy, c-format
+#, c-format
msgid "Plug-in %s runtime library %s could not be opened: %s"
-msgstr "Liitännäisen %s ohjelmakoodikirjastoa %s ei pystytty avaamaan."
+msgstr "Liitännäisen %s ohjelmakoodikirjastoa %s ei pystytty avaamaan: %s"
#: libcpluff/pcontrol.c:334
-#, fuzzy, c-format
+#, c-format
msgid ""
"Plug-in %s symbol %s containing plug-in runtime information could not be "
"resolved: %s"
msgstr ""
"Liitännäisen %s ajonaikaiset tiedot sisältävää symbolia %s ei pystytty "
-"selvittämään."
+"selvittämään: %s"
#: libcpluff/pcontrol.c:340
#, c-format
@@ -696,46 +701,42 @@ msgstr "Tuntematonta liitännäistä %s ei voitu pysäyttää."
msgid "Unknown plug-in %s could not be uninstalled."
msgstr "Tuntematonta liitännäistä %s ei voitu poistaa muistista."
-#: libcpluff/pinfo.c:102
+#: libcpluff/pinfo.c:106
#, c-format
-msgid "An information object at address %p was registered."
-msgstr "Informaatio-objekti osoitteessa %p rekisteröitiin."
+msgid "Registered a new reference counted object at address %p."
+msgstr "Rekisteröitiin automaattisesti vapautettava olio osoitteessa %p."
-#: libcpluff/pinfo.c:124
+#: libcpluff/pinfo.c:128
#, c-format
-msgid ""
-"Reference count of the information object at address %p increased to %d."
-msgstr ""
-"Osoitteessa %p olevan Informaatio-objektin viittausmäärä kasvoi ja on nyt %d."
+msgid "Reference count of the object at address %p increased to %d."
+msgstr "Osoitteessa %p olevan olion viittausmäärä kasvoi ja on nyt %d."
-#: libcpluff/pinfo.c:126
+#: libcpluff/pinfo.c:130
#, c-format
msgid ""
-"Reference count of an unknown information object at address %p could not be "
-"increased."
+"Attempt to increase the reference count of an unknown object at address %p."
msgstr ""
-"Tuntemattoman osoitteessa %p olevan informaatio-objektin viittausmäärää ei "
-"voitu kasvattaa."
+"Yritettiin korottaa viittausmäärää tuntemattomalle automaattisesti "
+"vapautettavalle oliolle osoitteessa %p."
-#: libcpluff/pinfo.c:142
+#: libcpluff/pinfo.c:144
#, c-format
-msgid "The information object at address %p was unregistered."
-msgstr "Osoitteessa %p olevan informaatio-objektin rekisteröinti poistettiin."
+msgid "Reference count of the object at address %p decreased to %d."
+msgstr "Osoitteessa %p olevan olion viittausmäärä laski ja on nyt %d."
-#: libcpluff/pinfo.c:145
+#: libcpluff/pinfo.c:148
#, c-format
-msgid ""
-"Reference count of the information object at address %p decreased to %d."
-msgstr ""
-"Osoitteessa %p olevan informaatio-objektin viittausmäärä laski ja on nyt %d."
+msgid "Deallocated the reference counted object at address %p."
+msgstr "Vapautettiin automaattisesti vapautettava olio osoitteessa %p."
-#: libcpluff/pinfo.c:148
+#: libcpluff/pinfo.c:152
#, c-format
-msgid "Could not release an unknown information object at address %p."
+msgid "Attempt to release an unknown reference counted object at address %p."
msgstr ""
-"Tuntematonta osoitteessa %p olevaa informaatio-objektia ei voitu vapauttaa."
+"Yritettiin vapauttaa tuntematonta automaattisesti vapautettavaa oliota "
+"osoitteessa %p."
-#: libcpluff/pinfo.c:169
+#: libcpluff/pinfo.c:173
#, c-format
msgid ""
"An unreleased information object was encountered at address %p with "
@@ -746,7 +747,7 @@ msgstr ""
"viittausmäärällä %d tuhottaessa liitännäisympäristöä. Informaatio-objektia "
"ei vapauteta."
-#: libcpluff/pinfo.c:186
+#: libcpluff/pinfo.c:190
msgid ""
"The plug-in identifier argument to cp_get_plugin_info must not be NULL when "
"the main program calls it."
@@ -754,98 +755,98 @@ msgstr ""
"Liitännäistunnisteparametri ei saa olla NULL pääohjelman kutsuessa funktiota "
"cp_get_plugin_info."
-#: libcpluff/pinfo.c:197
+#: libcpluff/pinfo.c:201
#, c-format
msgid "Could not return information about unknown plug-in %s."
msgstr "Ei voitu palauttaa tietoa tuntemattomasta liitännäisestä %s."
-#: libcpluff/pinfo.c:267
+#: libcpluff/pinfo.c:271
msgid "Plug-in information could not be returned due to insufficient memory."
msgstr "Liitännäisen tietoja ei voitu palauttaa riittämättömän muistin takia."
-#: libcpluff/pinfo.c:358
+#: libcpluff/pinfo.c:362
msgid ""
"Extension point information could not be returned due to insufficient memory."
msgstr ""
"Laajennuskohteen tietoja ei voitu palauttaa riittämättömän muistin takia."
-#: libcpluff/pinfo.c:474
+#: libcpluff/pinfo.c:478
msgid "Extension information could not be returned due to insufficient memory."
msgstr "Laajennoksen tietoja ei voitu palauttaa riittämättömän muistin takia."
-#: libcpluff/pinfo.c:571
+#: libcpluff/pinfo.c:575
msgid "A plug-in listener could not be registered due to insufficient memory."
msgstr ""
"Liitännäistapahtumien kuuntelijaa ei voitu rekisteröidä riittämättömän "
"muistin takia."
#. TRANSLATORS: %s is the context owner
-#: libcpluff/pinfo.c:575
+#: libcpluff/pinfo.c:579
#, c-format
msgid "%s registered a plug-in listener."
msgstr "%s rekisteröi liitännäistapahtumien kuuntelijan."
#. TRANSLATORS: %s is the context owner
-#: libcpluff/pinfo.c:597
+#: libcpluff/pinfo.c:601
#, c-format
msgid "%s unregistered a plug-in listener."
msgstr "%s poisti liitännäistapahtumien kuuntelijan rekisteröinnin"
-#: libcpluff/pinfo.c:614
+#: libcpluff/pinfo.c:618
#, c-format
msgid "Plug-in %s has been uninstalled."
msgstr "Liitännäinen %s on poistettu muistista."
-#: libcpluff/pinfo.c:618
+#: libcpluff/pinfo.c:622
#, c-format
msgid "Plug-in %s has been installed."
msgstr "Liitännäinen %s on asennettu."
-#: libcpluff/pinfo.c:620
+#: libcpluff/pinfo.c:624
#, c-format
msgid "Plug-in %s runtime library has been unloaded."
msgstr "Liitännäisen %s ajonaikainen kirjasto on poistettu muistista."
-#: libcpluff/pinfo.c:625
+#: libcpluff/pinfo.c:629
#, c-format
msgid "Plug-in %s runtime library has been loaded."
msgstr "Liitännäisen %s ajonaikainen kirjasto on ladattu."
-#: libcpluff/pinfo.c:627
+#: libcpluff/pinfo.c:631
#, c-format
msgid "Plug-in %s has been stopped."
msgstr "Liitännäinen %s on pysäytetty."
-#: libcpluff/pinfo.c:631
+#: libcpluff/pinfo.c:635
#, c-format
msgid "Plug-in %s is starting."
msgstr "Liitännäinen %s on käynnistymässä."
-#: libcpluff/pinfo.c:634
+#: libcpluff/pinfo.c:638
#, c-format
msgid "Plug-in %s is stopping."
msgstr "Liitännäinen %s on pysähtymässä."
-#: libcpluff/pinfo.c:637
+#: libcpluff/pinfo.c:641
#, c-format
msgid "Plug-in %s has been started."
msgstr "Liitännäinen %s on käynnistetty."
-#: libcpluff/ploader.c:162
+#: libcpluff/ploader.c:166
#, c-format
msgid "Suspicious plug-in descriptor content in %s, line %d, column %d (%s)."
msgstr ""
"Epäilyttävää sisältöä liitännäiskuvauksessa tiedostossa %s rivillä %d "
"sarakkeessa %d (%s)."
-#: libcpluff/ploader.c:169
+#: libcpluff/ploader.c:173
#, c-format
msgid "Invalid plug-in descriptor content in %s, line %d, column %d (%s)."
msgstr ""
"Laitonta sisältöä liitännäiskuvauksessa tiedostossa %s rivillä %d "
"sarakkeessa %d (%s)."
-#: libcpluff/ploader.c:189
+#: libcpluff/ploader.c:193
#, c-format
msgid ""
"Insufficient system resources to parse plug-in descriptor content in %s, "
@@ -854,70 +855,70 @@ msgstr ""
"Järjestelmäresurssit eivät riitä tulkittaessa liitännäiskuvausta tiedostossa "
"%s rivillä %d sarakkeessa %d."
-#: libcpluff/ploader.c:243
+#: libcpluff/ploader.c:247
#, c-format
msgid "required attribute %s for element %s has an empty value"
msgstr "elementin %2$s vaaditulla attribuutilla %1$s on tyhjä arvo"
-#: libcpluff/ploader.c:249
+#: libcpluff/ploader.c:253
#, c-format
msgid "required attribute %s missing for element %s"
msgstr "elementin %2$s vaadittu attribuutti %1$s puuttuu"
-#: libcpluff/ploader.c:283
+#: libcpluff/ploader.c:287
#, c-format
msgid "ignoring unknown attribute %s for element %s"
msgstr "jätetään huomioimatta elementin %2$s tuntematon attribuutti %1$s"
-#: libcpluff/ploader.c:376
+#: libcpluff/ploader.c:380
#, c-format
msgid "ignoring unexpected element %s and its contents"
msgstr "jätetään huomioimatta odottamaton elementti %s sisältöineen"
-#: libcpluff/ploader.c:759
+#: libcpluff/ploader.c:763
#, c-format
msgid "unknown boolean value: %s"
msgstr "tuntematon totuusarvo: %s"
-#: libcpluff/ploader.c:969
+#: libcpluff/ploader.c:973
#, c-format
msgid "unexpected closing tag for %s"
msgstr "elementti %s sulkeutuu odottamattomasti"
-#: libcpluff/ploader.c:1085
+#: libcpluff/ploader.c:1037
#, c-format
msgid "XML parsing error in %s, line %d, column %d (%s)."
msgstr "XML-tulkintavirhe tiedostossa %s rivillä %d sarakkeessa %d (%s)"
-#: libcpluff/ploader.c:1130
+#: libcpluff/ploader.c:1081
#, c-format
msgid "Plug-in descriptor in %s is invalid."
msgstr "Liitännäiskuvaus tiedostossa %s on viallinen."
-#: libcpluff/ploader.c:1134
+#: libcpluff/ploader.c:1085
#, c-format
msgid "An I/O error occurred while loading a plug-in descriptor from %s."
msgstr ""
"Luku- tai kirjoitusvirhe tapahtui ladattaessa liitännäiskuvausta tiedostosta "
"%s."
-#: libcpluff/ploader.c:1138
+#: libcpluff/ploader.c:1089
#, c-format
msgid "Insufficient system resources to load a plug-in descriptor from %s."
msgstr ""
"Järjestelmäresurssit eivät riitä liitännäiskuvauksen lataamiseksi "
"tiedostosta %s."
-#: libcpluff/ploader.c:1142
+#: libcpluff/ploader.c:1093
#, c-format
msgid "Failed to load a plug-in descriptor from %s."
msgstr "Liitännäiskuvauksen lataaminen tiedostosta %s epäonnistui."
-#: libcpluff/pscan.c:60
+#: libcpluff/pscan.c:64
msgid "Plug-in scan is starting."
msgstr "Liitännäisten etsintä alkaa."
-#: libcpluff/pscan.c:108
+#: libcpluff/pscan.c:112
#, c-format
msgid ""
"Could not check possible plug-in location %s%c%s due to insufficient system "
@@ -926,7 +927,7 @@ msgstr ""
"Mahdollisen liitännäissijainnin %s%c%s tarkistaminen ei onnistunut "
"riittämättömien järjestelmäresurssien takia."
-#: libcpluff/pscan.c:140
+#: libcpluff/pscan.c:144
#, c-format
msgid ""
"Plug-in %s version %s could not be loaded due to insufficient system "
@@ -935,50 +936,50 @@ msgstr ""
"Liitännäisen %s versiota %s ei voitu ladata riittämättömien "
"järjestelmäresurssien takia."
-#: libcpluff/pscan.c:152
+#: libcpluff/pscan.c:156
#, c-format
msgid "Could not read plug-in directory %s: %s"
msgstr "Liitännäishakemistoa %s ei voitu lukea: %s"
-#: libcpluff/pscan.c:158
+#: libcpluff/pscan.c:162
#, c-format
msgid "Could not open plug-in directory %s: %s"
msgstr "Liitännäishakemistoa %s ei voitu avata: %s"
-#: libcpluff/pscan.c:272
+#: libcpluff/pscan.c:276
msgid "Plug-in scan has completed successfully."
msgstr "Liitännäisten etsiminen on päättynyt onnistuneesti."
-#: libcpluff/pscan.c:275
+#: libcpluff/pscan.c:279
msgid "Could not scan plug-ins due to insufficient system resources."
msgstr ""
"Liitännäisiä ei voitu etsiä riittämättömien järjestelmäresurssien takia."
-#: libcpluff/pscan.c:278
+#: libcpluff/pscan.c:282
msgid "Could not scan plug-ins."
msgstr "Liitännäisiä ei voitu etsiä."
-#: libcpluff/psymbol.c:79
+#: libcpluff/psymbol.c:83
msgid "Only plug-ins can define context specific symbols."
msgstr "Vain liitännäiset voivat asettaa ympäristökohtaisia symboleja."
-#: libcpluff/psymbol.c:115
+#: libcpluff/psymbol.c:119
#, c-format
msgid "Plug-in %s could not define symbol %s due to insufficient memory."
msgstr ""
"Liitännäinen %s ei voinut asettaa symbolia %s riittämättömän muistin takia."
-#: libcpluff/psymbol.c:118
+#: libcpluff/psymbol.c:122
#, c-format
msgid "Plug-in %s tried to redefine symbol %s."
msgstr "Liitännäinen %s yritti uudelleenmäärittää symbolin %s."
-#: libcpluff/psymbol.c:163
+#: libcpluff/psymbol.c:167
#, c-format
msgid "Symbol %s in unknown plug-in %s could not be resolved."
msgstr "Symbolia %s tuntemattomassa liitännäisessä %s ei voitu selvittää."
-#: libcpluff/psymbol.c:171
+#: libcpluff/psymbol.c:175
#, c-format
msgid ""
"Symbol %s in plug-in %s could not be resolved because the plug-in could not "
@@ -987,12 +988,23 @@ msgstr ""
"Symbolia %s liitännäisessä %s ei voitu selvittää, koska liitännäistä ei "
"pystytty käynnistämään."
-#: libcpluff/psymbol.c:190
-#, fuzzy, c-format
+#: libcpluff/psymbol.c:194
+#, c-format
msgid "Symbol %s in plug-in %s could not be resolved: %s"
-msgstr "Symbolia %s tuntemattomassa liitännäisessä %s ei voitu selvittää."
+msgstr "Symbolia %s tuntemattomassa liitännäisessä %s ei voitu selvittää: %s"
+
+#: libcpluff/psymbol.c:245
+#, c-format
+msgid "A dynamic dependency was created from plug-in %s to plug-in %s."
+msgstr "Luotiin dynaaminen riippuvuus liitännäisestä %s liitännäiseen %s."
+
+#. TRANSLATORS: First %s is the context owner
+#: libcpluff/psymbol.c:255
+#, c-format
+msgid "%s resolved symbol %s defined by plug-in %s."
+msgstr "%1$s latasi liitännäisen %3$s määrittelemän symbolin %2$s."
-#: libcpluff/psymbol.c:271
+#: libcpluff/psymbol.c:275
#, c-format
msgid ""
"Symbol %s in plug-in %s could not be resolved due to insufficient memory."
@@ -1000,101 +1012,101 @@ msgstr ""
"Symbolia %s liitännäisessä %s ei voitu selvittää riittämättömän muistin "
"takia."
-#: libcpluff/psymbol.c:298
+#: libcpluff/psymbol.c:302
#, c-format
msgid "Could not release unknown symbol at address %p."
msgstr "Ei voitu vapauttaa tuntematonta symbolia osoitteessa %p."
#. TRANSLATORS: First %s is the context owner
-#: libcpluff/psymbol.c:317
+#: libcpluff/psymbol.c:321
#, c-format
msgid "%s released the symbol at address %p defined by plug-in %s."
msgstr ""
"%1$s vapautti liitännäisen %3$s määrittelemän symbolin osoitteessa %2$p."
-#: libcpluff/psymbol.c:329
+#: libcpluff/psymbol.c:333
#, c-format
msgid "A dynamic dependency from plug-in %s to plug-in %s was removed."
msgstr "Liitännäisen %s dynaaminen riippuvuus liitännäiseen %s poistettiin."
-#: libcpluff/serial.c:60
+#: libcpluff/serial.c:64
msgid "Only plug-ins can register run functions."
msgstr "Vain liitännäiset voivat rekisteröidä suoritettavia tehtäviä."
-#: libcpluff/serial.c:64
+#: libcpluff/serial.c:68
msgid "Only starting or active plug-ins can register run functions."
msgstr ""
"Vain käynnistyvät tai aktiiviset liitännäiset voivat rekisteröidä "
"suoritettavia tehtäviä."
-#: libcpluff/serial.c:111
+#: libcpluff/serial.c:115
msgid "Could not register a run function due to insufficient memory."
msgstr ""
"Suoritettavaa tehtävää ei voitu rekisteröidä riittämättömän muistin takia."
-#: libcpluff/thread_posix.c:114
+#: libcpluff/thread_posix.c:118
#, c-format
msgid "Could not lock a mutex due to error %d."
msgstr "Mutexia ei voitu lukita virheen %d takia."
-#: libcpluff/thread_posix.c:122
+#: libcpluff/thread_posix.c:126
#, c-format
msgid "Could not unlock a mutex due to error %d."
msgstr "Mutexia ei voitu vapauttaa virheen %d takia."
-#: libcpluff/thread_posix.c:134 libcpluff/thread_posix.c:186
+#: libcpluff/thread_posix.c:138 libcpluff/thread_posix.c:190
#, c-format
msgid "Could not wait for a condition variable due to error %d."
msgstr "Ehtomuuttujaa ei voitu odottaa virheen %d takia."
-#: libcpluff/thread_posix.c:159 libcpluff/thread_posix.c:181
+#: libcpluff/thread_posix.c:163 libcpluff/thread_posix.c:185
#, c-format
msgid "Could not signal a condition variable due to error %d."
msgstr "Ehtomuuttujaa ei voitu signaloida virheen %d takia."
-#: libcpluff/thread_posix.c:163 libcpluff/thread_windows.c:206
+#: libcpluff/thread_posix.c:167 libcpluff/thread_windows.c:210
msgid "Internal C-Pluff error: Unauthorized attempt at unlocking a mutex."
msgstr "Sisäinen virhe C-Pluffissa: Laiton yritys vapauttaa mutexia."
-#: libcpluff/thread_posix.c:194 libcpluff/thread_windows.c:240
+#: libcpluff/thread_posix.c:198 libcpluff/thread_windows.c:244
msgid "Internal C-Pluff error: Unauthorized attempt at waiting on a mutex."
msgstr "Sisäinen virhe C-Pluffissa: Laiton yritys odottaa mutexia."
-#: libcpluff/thread_posix.c:210
+#: libcpluff/thread_posix.c:214
#, c-format
msgid "Could not broadcast a condition variable due to error %d."
msgstr ""
"Ehtomuuttujan signalointi yleislähetyksenä epäonnistui virheen %d takia."
-#: libcpluff/thread_posix.c:214 libcpluff/thread_windows.c:254
+#: libcpluff/thread_posix.c:218 libcpluff/thread_windows.c:258
msgid "Internal C-Pluff error: Unauthorized attempt at signaling a mutex."
msgstr "Sisäinen virhe C-Pluffissa: Laiton yritys signaloida mutexia."
-#: libcpluff/thread_windows.c:122
+#: libcpluff/thread_windows.c:126
msgid "unknown error"
msgstr "tuntematon virhe"
-#: libcpluff/thread_windows.c:134
+#: libcpluff/thread_windows.c:138
#, c-format
msgid "Could not lock a mutex due to error %ld: %s"
msgstr "Mutexin lukitseminen epäonnistui johtuen virheestä %ld: %s"
-#: libcpluff/thread_windows.c:143
+#: libcpluff/thread_windows.c:147
#, c-format
msgid "Could not release a mutex due to error %ld: %s"
msgstr "Mutexin vapauttaminen epäonnistui johtuen virheestä %ld: %s"
-#: libcpluff/thread_windows.c:152
+#: libcpluff/thread_windows.c:156
#, c-format
msgid "Could not wait for an event due to error %ld: %s"
msgstr "Tapahtuman odottaminen epäonnistui johtuen virheestä %ld: %s"
-#: libcpluff/thread_windows.c:161
+#: libcpluff/thread_windows.c:165
#, c-format
msgid "Could not set an event due to error %ld: %s"
msgstr "Tapahtuman asettaminen epäonnistui johtuen virheestä %ld: %s"
-#: libcpluff/thread_windows.c:170
+#: libcpluff/thread_windows.c:174
#, c-format
msgid "Could not reset an event due to error %ld: %s"
msgstr "Tapahtuman nollaus epäonnistui johtuen virheestä %ld: %s"
@@ -1193,35 +1205,3 @@ msgstr ""
#, c-format
msgid "Failed to start plug-in %s."
msgstr "Liitännäisen %s käynnistäminen epäonnistui."
-
-#~ msgid ""
-#~ "Symbol %s in plug-in %s could not be resolved because it is not defined "
-#~ "or exported."
-#~ msgstr ""
-#~ "Symbolia %s liitännäisessä %s ei voitu selvittää, koska sitä ei ole "
-#~ "asetettu tai julkaistu."
-
-#~ msgid "Could not create a plug-in context."
-#~ msgstr "Liitännäisympäristön luonti epäonnistui."
-
-#~ msgid "Could not install plug-in %s."
-#~ msgstr "Liitännäistä %s ei voitu asentaa."
-
-#~ msgid "I/O error"
-#~ msgstr "luku- tai kirjoitusvirhe"
-
-#~ msgid "error in plug-in runtime"
-#~ msgstr "liitännäisen ohjelmakoodissa tapahtui virhe"
-
-#~ msgid "Insufficient memory.\n"
-#~ msgstr "Muistin varaaminen epäonnistui.\n"
-
-#~ msgid "Ran plug-ins for one step. No more pending run functions.\n"
-#~ msgstr "Suoritettiin yksi liitännäistehtävä. Kaikki tehtävät suoritettu.\n"
-
-#~ msgid ""
-#~ "Could not register plug-in collection directory %s due to insufficient "
-#~ "memory."
-#~ msgstr ""
-#~ "Liitännäiskokoelmaa polussa %s ei pystytty rekisteröimään riittämättömän "
-#~ "muistin takia."
diff --git a/lib/cpluff/po/insert-header.sin b/lib/cpluff/po/insert-header.sin
deleted file mode 100644
index b26de01f6c..0000000000
--- a/lib/cpluff/po/insert-header.sin
+++ /dev/null
@@ -1,23 +0,0 @@
-# Sed script that inserts the file called HEADER before the header entry.
-#
-# At each occurrence of a line starting with "msgid ", we execute the following
-# commands. At the first occurrence, insert the file. At the following
-# occurrences, do nothing. The distinction between the first and the following
-# occurrences is achieved by looking at the hold space.
-/^msgid /{
-x
-# Test if the hold space is empty.
-s/m/m/
-ta
-# Yes it was empty. First occurrence. Read the file.
-r HEADER
-# Output the file's contents by reading the next line. But don't lose the
-# current line while doing this.
-g
-N
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/lib/cpluff/po/quot.sed b/lib/cpluff/po/quot.sed
deleted file mode 100644
index 0122c46318..0000000000
--- a/lib/cpluff/po/quot.sed
+++ /dev/null
@@ -1,6 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
diff --git a/lib/cpluff/po/remove-potcdate.sin b/lib/cpluff/po/remove-potcdate.sin
deleted file mode 100644
index 2436c49e78..0000000000
--- a/lib/cpluff/po/remove-potcdate.sin
+++ /dev/null
@@ -1,19 +0,0 @@
-# Sed script that remove the POT-Creation-Date line in the header entry
-# from a POT file.
-#
-# The distinction between the first and the following occurrences of the
-# pattern is achieved by looking at the hold space.
-/^"POT-Creation-Date: .*"$/{
-x
-# Test if the hold space is empty.
-s/P/P/
-ta
-# Yes it was empty. First occurrence. Remove the line.
-g
-d
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/lib/cpluff/po/stamp-po b/lib/cpluff/po/stamp-po
deleted file mode 100644
index 9788f70238..0000000000
--- a/lib/cpluff/po/stamp-po
+++ /dev/null
@@ -1 +0,0 @@
-timestamp
diff --git a/lib/cpluff/test/Makefile.am b/lib/cpluff/test/Makefile.am
index 3c05d2f9fc..8681b3f351 100644
--- a/lib/cpluff/test/Makefile.am
+++ b/lib/cpluff/test/Makefile.am
@@ -17,7 +17,7 @@ EXTRA_DIST = tests.txt
CPPFLAGS = @CPPFLAGS@
CPPFLAGS += -DCP_HOST="\"$(host)\""
-LIBS = @LIBS_OTHER@ @LIBS@
+LIBS = @LIBS_OTHER@ @LIBS_TESTSUITE@ @LIBS@
check_PROGRAMS = testsuite
@@ -85,19 +85,19 @@ dist-hook:
$(MKDIR_P) '$(distdir)/expected'
cp -p '$(srcdir)'/expected/*.txt '$(distdir)'/expected
$(MKDIR_P) '$(distdir)'/plugins
- cd '$(srcdir)'/plugins && \
- for d in *; do \
- ( mkdir '$(distdir)'/plugins/"$$d" && \
- cp -p "$$d/plugin.xml" '$(distdir)'/plugins/"$$d" ) \
- || exit 1; \
- done
+ for d in $$(ls '$(srcdir)'/plugins); do \
+ ( $(MKDIR_P) '$(distdir)'/plugins/"$$d" && \
+ cp -p '$(srcdir)'"/plugins/$$d/plugin.xml" '$(distdir)'/plugins/"$$d" ) \
+ || exit 1; \
+ done
$(MKDIR_P) '$(distdir)'/pcollections
- cd '$(srcdir)'/pcollections && \
- for d in */*; do \
- ( $(MKDIR_P) '$(distdir)'/pcollections/"$$d" && \
- cp -p "$$d/plugin.xml" '$(distdir)'/pcollections/"$$d" ) \
+ for d in $$(ls '$(srcdir)'/pcollections); do \
+ for d2 in $$(ls '$(srcdir)'"/pcollections/$$d"); do \
+ ( $(MKDIR_P) '$(distdir)'/pcollections/"$$d/$$d2" && \
+ cp -p '$(srcdir)'"/pcollections/$$d/$$d2/plugin.xml" '$(distdir)'/pcollections/"$$d/$$d2" ) \
|| exit 1; \
- done
+ done; \
+ done
install-plugins: build-plugins install-libcpluff
cd plugins-source && $(MAKE) $(AM_MAKEFLAGS) DESTDIR='$(tmpinstalldir)' install
diff --git a/lib/cpluff/test/ploading.c b/lib/cpluff/test/ploading.c
index 4011fbb60d..503516e272 100644
--- a/lib/cpluff/test/ploading.c
+++ b/lib/cpluff/test/ploading.c
@@ -22,8 +22,13 @@
*-----------------------------------------------------------------------*/
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include "test.h"
+#define MEMBUFFERSIZE 16384
+#define PLUGINFILENAME "plugin.xml"
+
void loadonlymaximal(void) {
cp_context_t *ctx;
cp_plugin_info_t *plugin;
@@ -36,3 +41,37 @@ void loadonlymaximal(void) {
cp_destroy();
check(errors == 0);
}
+
+void loadonlymaximalfrommemory(void) {
+ cp_context_t *ctx;
+ cp_plugin_info_t *plugin;
+ cp_status_t status;
+ int errors, bytesloaded = 0, i;
+ const char *pd;
+ char *pdfilename, *membuffer;
+ FILE *f;
+
+ /* Load plugin descriptor to memory buffer */
+ pd = plugindir("maximal");
+ check((pdfilename = malloc((strlen(pd) + strlen(CP_FNAMESEP_STR) + strlen(PLUGINFILENAME) + 1) * sizeof(char))) != NULL);
+ strcpy(pdfilename, pd);
+ strcat(pdfilename, CP_FNAMESEP_STR PLUGINFILENAME);
+ check((membuffer = malloc(MEMBUFFERSIZE * sizeof(unsigned char))) != NULL);
+ check((f = fopen(pdfilename, "r")) != NULL);
+ do {
+ i = fread(membuffer + bytesloaded, sizeof(char), MEMBUFFERSIZE - bytesloaded, f);
+ check(!ferror(f));
+ bytesloaded += i;
+ } while (i > 0);
+ fclose(f);
+
+ /* Load plugin descriptor from memory buffer */
+ ctx = init_context(CP_LOG_ERROR, &errors);
+ check((plugin = cp_load_plugin_descriptor_from_memory(ctx, membuffer, bytesloaded, &status)) != NULL && status == CP_OK);
+
+ /* Clean up */
+ free(membuffer);
+ cp_release_info(ctx, plugin);
+ cp_destroy();
+ check(errors == 0);
+}
diff --git a/lib/cpluff/test/plugins-source/symprovider/symprovider.c b/lib/cpluff/test/plugins-source/symprovider/symprovider.c
index bd7abcc9d0..0008712c54 100644
--- a/lib/cpluff/test/plugins-source/symprovider/symprovider.c
+++ b/lib/cpluff/test/plugins-source/symprovider/symprovider.c
@@ -22,6 +22,7 @@
*-----------------------------------------------------------------------*/
#include <stdlib.h>
+#include <string.h>
#include <cpluff.h>
typedef struct plugin_data_t plugin_data_t;
diff --git a/lib/cpluff/test/test-fatalerrordefault b/lib/cpluff/test/test-fatalerrordefault
index 8a7f1a7c9d..2c98d5e7ad 100755
--- a/lib/cpluff/test/test-fatalerrordefault
+++ b/lib/cpluff/test/test-fatalerrordefault
@@ -6,5 +6,5 @@
set -e
-trap "" SIGABRT
+trap '' 6
! ./testsuite fatalerrordefault 2> /dev/null
diff --git a/lib/cpluff/test/test-fatalerrorreset b/lib/cpluff/test/test-fatalerrorreset
index e9bf59411e..350763743b 100755
--- a/lib/cpluff/test/test-fatalerrorreset
+++ b/lib/cpluff/test/test-fatalerrorreset
@@ -6,5 +6,5 @@
set -e
-trap "" SIGABRT
+trap '' 6
! ./testsuite fatalerrorreset 2> /dev/null
diff --git a/lib/cpluff/test/testmain.c b/lib/cpluff/test/testmain.c
index 63c2374cd4..60203beab6 100644
--- a/lib/cpluff/test/testmain.c
+++ b/lib/cpluff/test/testmain.c
@@ -98,7 +98,7 @@ CP_HIDDEN const char *plugindir(const char *plugin) {
if ((srcdir = getenv("srcdir")) == NULL) {
srcdir=".";
}
- if ((plugindir_buffer = malloc((strlen(srcdir) + strlen("/plugins/") + strlen(plugin) + 1) * sizeof(char))) == NULL) {
+ if ((plugindir_buffer = malloc((strlen(srcdir) + 2 * strlen(CP_FNAMESEP_STR) + strlen("plugins") + strlen(plugin) + 1) * sizeof(char))) == NULL) {
fputs("testsuite: ERROR: Insufficient memory.\n", stderr);
exit(2);
}
diff --git a/lib/cpluff/test/tests.txt b/lib/cpluff/test/tests.txt
index 46435afeee..ceed36de03 100644
--- a/lib/cpluff/test/tests.txt
+++ b/lib/cpluff/test/tests.txt
@@ -24,6 +24,7 @@ updatelogger
logmsg
islogged
loadonlymaximal
+loadonlymaximalfrommemory
loadminimal
loadmaximal
install