This is an automated email from the ASF dual-hosted git repository.

pnoltes pushed a commit to branch feature/99-update-documentation
in repository https://gitbox.apache.org/repos/asf/celix.git

commit 511fdb25f3b12bc09a04014d55be1edbf6c8dbfc
Author: Pepijn Noltes <pepijnnol...@gmail.com>
AuthorDate: Sun Sep 10 14:06:56 2023 +0200

    #99: Update documentation
---
 bundles/cxx_remote_services/README.md | 22 ++++++++++++++++++
 documents/bundles.md                  | 10 ++++----
 documents/subprojects.md              | 43 +++++++++++++++++++++++------------
 libs/dfi/README.md                    | 22 ++++++++++++++++++
 libs/promises/README.md               |  8 +++----
 libs/pushstreams/README.md            |  7 ------
 6 files changed, 82 insertions(+), 30 deletions(-)

diff --git a/bundles/cxx_remote_services/README.md 
b/bundles/cxx_remote_services/README.md
new file mode 100644
index 00000000..fcfb8c43
--- /dev/null
+++ b/bundles/cxx_remote_services/README.md
@@ -0,0 +1,22 @@
+---
+title: Apache Celix C++ Remote Services
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+   
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+# Apache Celix C++ Remote Services
diff --git a/documents/bundles.md b/documents/bundles.md
index 4de6e64c..d10bdb5a 100644
--- a/documents/bundles.md
+++ b/documents/bundles.md
@@ -104,7 +104,7 @@ The bundle context provides functions/methods to:
  - Find service ids for a given filter.
  - Use services directly (without manually creating a service tracker).
  - Use bundles directly (without manually creating a bundle tracker).
- - Wait for events in the Celix event thread.
+ - Wait for events in the Apache Celix event thread.
  - Retrieve framework property values. 
  - Retrieve the bundle object associated with the bundle context. 
  
@@ -180,7 +180,7 @@ add_celix_bundle(my_bundle
     SOURCES src/my_bundle_activator.c
 )
 
-#With `make all`, `make celix-containers` or `make my_container` this Celix 
container executable will be created at:
+#With `make all`, `make celix-containers` or `make my_container` this Apache 
Celix container executable will be created at:
 # ${CMAKE_BINARY_DIR}/deploy/my_container/my_container
 add_celix_container(my_container
     C
@@ -221,7 +221,7 @@ add_celix_bundle(MyBundle
     SOURCES src/MyBundleActivator.cc
 )
 
-#With `make all`, `make celix-containers` or `make MyContainer` this Celix 
container executable will be created at:
+#With `make all`, `make celix-containers` or `make MyContainer` this Apache 
Celix container executable will be created at:
 # ${CMAKE_BINARY_DIR}/deploy/my_container/MyContainer
 add_celix_container(MyContainer
     CXX
@@ -278,7 +278,7 @@ Bundles will be installed as zip files in the package 
(default the CMAKE_PROJECT
 It is also possible to use Apache Celix bundles as CMake imported targets, but 
this requires a more complex 
 CMake installation setup.
 
-## Installing Celix CMake targets
+## Installing Apache Celix CMake targets
 The `install_celix_targets` can be used to generate a CMake file with the 
imported Apache Celix Bundle CMake targets 
 and this is ideally coupled with a CMake config file so that the bundles are 
made available when 
 CMake's `find_package` is used.
@@ -296,7 +296,7 @@ add_celix_bundle(ExampleBundleB ...)
 #Install bundle zips
 install_celix_bundle(ExampleBundleA EXPORT MyExport)
 install_celix_bundle(ExampleBundleB EXPORT MyExport)
-#install exported Celix CMake targets
+#install exported Apache Celix CMake targets
 install_celix_targets(MyExport NAMESPACE ExamplePackage:: DESTINATION 
share/ExamplePackage/cmake FILE CelixTargets)
 
 #Install Package CMake configuration
diff --git a/documents/subprojects.md b/documents/subprojects.md
index cef54d7b..85c2c4f3 100644
--- a/documents/subprojects.md
+++ b/documents/subprojects.md
@@ -19,24 +19,39 @@ See the License for the specific language governing 
permissions and
 limitations under the License.
 -->
 
-# Apache Celix - Subprojects
+# Apache Celix - Libraries and Bundles
 
-Apache Celix is organized into several subprojects. The following subproject 
are available:
+The Apache Celix project is organized into several libraries, bundles, group 
of bundles and examples.
+
+## Core Libraries
+The core of Apache Celix is realized in the following libraries:
 
 * [Framework](../libs/framework) - The Apache Celix framework, an 
implementation of OSGi adapted to C and C++11.
-* [Utils](../libs/utils/README.md) - The Celix utils library, containing a 
wide range of utils functions (string, file, C hashmap, C arraylist, etc)
-* [Examples](../examples) - A Selection of examples showing how the framework 
can be used.
-* [Log Service](../bundles/logging/README.md) - A Log Service logging 
abstraction for Apache Celix.
-  * [Syslog Writer](../bundles/logging/log_writers/syslog_writer) - A syslog 
writer for use in combination with the Log Service.
-* [Shell](../bundles/shell/README.md) - A OSGi C and C++11 shell 
implementation.
-* [Pubsub](../bundles/pubsub/README.md) - An implementation for a 
publish-subscribe remote message communication system. 
-* [HTTP Admin](../bundles/http_admin/README.md) - An implementation for the 
OSGi HTTP whiteboard adapted to C and based on civetweb.
-* [Remote Services](../bundles/cxx_remote_services) - A C++17 adaption and 
implementation of the OSGi Remote Service Admin specification.
-* [Components Ready Check](../bundles/components_ready_check/README.md) - A 
bundle which checks if all components are ready.
+* [Utils](../libs/utils/README.md) - The Celix utils library, containing a 
wide range of general utils and 
+                                     OSGi supporting types (properties, 
version, filter, string utils, file utils, etc).
 
-Standalone libraries:
+## Standalone Libraries
+Apache Celix also provides several standalone libraries which can be used 
without the framework:
 
-* [Etcd library](../libs/etcdlib/README.md) - A C library that interfaces with 
ETCD.
+* [ETCD library](../libs/etcdlib/README.md) - A C library that interfaces with 
ETCD.
 * [Promises library](../libs/promises/README.md) - A C++17 header only 
adaption and implementation of the OSGi Promise specification.
-* [Push Streams Library](../libs/pushstreams/README.md) - A C++17 header 
adaption and only implementation of the OSGi Push Stream specification. 
+* [Push Streams Library](../libs/pushstreams/README.md) - A C++17 header 
adaption and only implementation of the OSGi Push Stream specification.
+* [Error Injector Library](../libs/error_injector/README.md) - A C library 
which can be used to inject errors in a running process, for testing purposes.
+* [Dynamic Function Interfacy Library](../libs/dfi/README.md) - A C library, 
build on top of libffi, to dynamical create C function proxies based on 
descriptor files.
+
+## Bundles or Groups of Bundles
+Modularization is an important aspect of OSGi. Apache Celix provides several 
bundles or groups of bundles which extend
+the Apache Celix functionality. Most of these bundles are based on the OSGi 
specification and are adapted to C or C++.
+
+* [HTTP Admin](../bundles/http_admin/README.md) - An implementation for the 
OSGi HTTP whiteboard adapted to C and based on civetweb.
+* [Log Service](../bundles/logging/README.md) - A Log Service logging 
abstraction for Apache Celix.
+  * [Syslog Writer](../bundles/logging/log_writers/syslog_writer) - A syslog 
writer for use in combination with the Log Service.
+* [Shell](../bundles/shell/README.md) - A OSGi C and C++11 shell 
implementation, which can be extended with shell command services.
+* [Pubsub](../bundles/pubsub/README.md) - An implementation for a 
publish-subscribe remote message communication system.
+* [Remote Services](../bundles/remote_services) - A C adaption and 
implementation of the OSGi Remote Service Admin specification.
+* [C++ Remote Services](../bundles/cxx_remote_services/README.md) - A C++17 
adaption and implementation of the OSGi Remote Service Admin specification. 
Requires manually or code-generated import/export factories to work.
+* [Components Ready Check](../bundles/components_ready_check/README.md) - A 
bundle which checks if all components are ready.
 
+## Examples
+The Apache Celix provides several [examples](../examples/celix-examples) 
showing how the framework and bundles can be used. These
+examples are configured in such a way that they can also be used together with 
an installed Apache Celix.
diff --git a/libs/dfi/README.md b/libs/dfi/README.md
new file mode 100644
index 00000000..6956e141
--- /dev/null
+++ b/libs/dfi/README.md
@@ -0,0 +1,22 @@
+---
+title: Apache Celix Dynamic Function Interface
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+   
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+# Apache Celix Dynamic Function Interface
diff --git a/libs/promises/README.md b/libs/promises/README.md
index de861098..0893509b 100644
--- a/libs/promises/README.md
+++ b/libs/promises/README.md
@@ -85,7 +85,7 @@ target_link_libraries(PromiseExamples PRIVATE Celix::Promises)
 
 ## Open Issues & TODOs
 
-- Documentation not complete
-- PromiseFactory is not complete yet
-- The static helper class Promises is not implemented yet (e.g. all/any)
-- Promise::flatMap not implemented yet
+- Documentation not complete.
+- PromiseFactory is not complete.
+- The static helper class Promises is not implemented (e.g. all/any).
+- Promise::flatMap not implemented.
diff --git a/libs/pushstreams/README.md b/libs/pushstreams/README.md
index c1bc005c..a0f4f745 100644
--- a/libs/pushstreams/README.md
+++ b/libs/pushstreams/README.md
@@ -14,10 +14,3 @@ NOTE: this implementation is still experiment and the api 
and behaviour will pro
 [OSGi Compendium Release 7 Push Stream Specification 
(HTML)](https://osgi.org/specification/osgi.cmpn/7.0.0/util.pushstream.html)
 
 [OSGi Compendium Release 7 Specification 
(PDF)](https://docs.osgi.org/download/r7/osgi.cmpn-7.0.0.pdf)
-
-## Usage
-
-## Differences with OSGi PushStreams & Java
-
-
-## Open Issues & TODOs

Reply via email to