From 08a3fa20f45f92b2419b0397c1dbf3e6fde5f799 Mon Sep 17 00:00:00 2001 From: Louise Poubel Date: Fri, 24 Sep 2021 14:35:24 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=A5=B3=20Tweaks=20to=20README=20and=20tut?= =?UTF-8?q?orials=20(#61)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Louise Poubel --- README.md | 14 +++++++++++++- tutorials/01_intro.md | 6 +++--- tutorials/02_installation.md | 7 +++++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 87d46dc2..86321a0d 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Build | Status Test coverage | [![codecov](https://codecov.io/gh/ignitionrobotics/ign-plugin/branch/ign-plugin1/graph/badge.svg)](https://codecov.io/gh/ignitionrobotics/ign-plugin/branch/ign-plugin1) Ubuntu Bionic | [![Build Status](https://build.osrfoundation.org/job/ignition_plugin-ci-ign-plugin1-bionic-amd64/badge/icon)](https://build.osrfoundation.org/job/ignition_plugin-ci-ign-plugin1-bionic-amd64/) Homebrew | [![Build Status](https://build.osrfoundation.org/job/ignition_plugin-ci-ign-plugin1-bionic-amd64/badge/icon)](https://build.osrfoundation.org/job/ignition_plugin-ci-ign-plugin1-bionic-amd64/) -Windows 7 | [![Build Status](https://build.osrfoundation.org/job/ignition_plugin-ci-ign-plugin1-windows7-amd64/badge/icon)](https://build.osrfoundation.org/job/ignition_plugin-ci-ign-plugin1-windows7-amd64/) +Windows | [![Build Status](https://build.osrfoundation.org/buildStatus/icon?job=ign_plugin-ign-1-win)](https://build.osrfoundation.org/job/ign_plugin-ign-1-win/) **Library for registering plugin libraries and dynamically loading them at runtime.** @@ -21,6 +21,18 @@ of libraries designed to rapidly develop robot applications. [http://ignitionrobotics.org](http://ignitionrobotics.org) +## Features + +* Registration of **templated and non-templated** classes from any translation unit. +* Querying of interfaces **by C++ type or name string**. +* **Dynamically load** plugins at runtime according to the interfaces they provide. +* **Reference counting** of plugin objects to unload libraries no longer in use. +* **Command line tool** `ign plugin` to inspect plugins. + ## Installation See the [installation tutorial](https://ignitionrobotics.org/api/plugin/1.2/installation.html). + +# Documentation + +API documentation and tutorials can be accessed at [https://ignitionrobotics.org/libs/plugin](https://ignitionrobotics.org/libs/plugin) diff --git a/tutorials/01_intro.md b/tutorials/01_intro.md index 724597f3..fb2a24f4 100644 --- a/tutorials/01_intro.md +++ b/tutorials/01_intro.md @@ -15,7 +15,7 @@ following concepts: * A "Library" may contain multiple plugins, which provides a convenient way to distribute different types of functionality in a single file. -The loader component can dynamically load plugin interfaces at runtime +The **loader** component can dynamically load plugin interfaces at runtime either by specifying a desired plugin or by listing plugins within a library file that provide a specific interface. There are highly performant ways to get direct access to a plugin interace @@ -24,13 +24,13 @@ compile time. The loader also can use reference counting of plugin objects to unload libraries that are no longer in use. -The register component provides macros for registering templated and +The **register** component provides macros for registering templated and non-templated classes as plugins and/or interfaces. A plugin can be registered anywhere from within any translation unit. Interfaces can be queried by their C++ type, or they can be queried by name with a string. -The [ignition-physics](https://ignitionrobotics.org/libs/physics) Feature +The [Ignition Physics](https://ignitionrobotics.org/libs/physics) Feature system provides a good example of the use of these unique aspects of ignition-plugin. diff --git a/tutorials/02_installation.md b/tutorials/02_installation.md index 2b5acd63..e71e5e63 100644 --- a/tutorials/02_installation.md +++ b/tutorials/02_installation.md @@ -41,11 +41,15 @@ sudo apt install libignition-plugin-dev ## Source Installation -1. Install Ignition dependencies +1. Install required Ignition dependencies ```bash sudo apt-get install libignition-cmake2-dev ``` +1. Install Ignition Tools if you want to use the `ign plugin` command line tool: + ```bash + sudo apt-get install ignition-tools + 2. Clone the repository ```bash git clone https://github.com/ignitionrobotics/ign-plugin @@ -187,7 +191,6 @@ You can also generate the documentation from a clone of this repository by follo ``` 2. Clone the repository - ```bash git clone https://github.com/ignitionrobotics/ign-plugin ```