summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevron Rees <tripzero.kev@gmail.com>2014-11-06 10:53:27 -0800
committerKevron Rees <tripzero.kev@gmail.com>2014-11-06 10:53:27 -0800
commite63578950b997ccd2ed41ec4be9d7d97bbb85666 (patch)
tree14619cbafb59de95e9a632a913ae642d0478fa97
parent8513744ce247e07d2241ad992e9cfb9a98fc41ec (diff)
parentc428ff94d4a0a72e5d4a46de687a4b1261134471 (diff)
downloadautomotive-message-broker-0.12.tar.gz
Merge pull request #31 from tripzero/0.120.12
added mainpage for lib documentation
-rw-r--r--Doxyfile.in2
-rw-r--r--lib/libamb.h32
2 files changed, 33 insertions, 1 deletions
diff --git a/Doxyfile.in b/Doxyfile.in
index 7d069378..015c9ad7 100644
--- a/Doxyfile.in
+++ b/Doxyfile.in
@@ -1,3 +1,3 @@
PROJECT_NAME = @PROJECT_NAME@
PROJECT_NUMBER = @PROJECT_VERSION@
-INPUT = @CMAKE_CURRENT_SOURCE_DIR@/lib/ @CMAKE_CURRENT_SOURCE_DIR@/docs
+INPUT = @CMAKE_CURRENT_SOURCE_DIR@/lib/
diff --git a/lib/libamb.h b/lib/libamb.h
new file mode 100644
index 00000000..7a23034a
--- /dev/null
+++ b/lib/libamb.h
@@ -0,0 +1,32 @@
+/**
+ \mainpage Automotive Message Broker Library Documentation
+
+ \section intro Introduction
+ AMB Library documentation outlines the internal classes and structures for building
+ plugins for AMB.
+
+ \section architecture General Architecture
+ AMB has 3 main parts. Source plugins which provide data, a routing engine that
+ routes data and sink plugins that consume the data.
+
+ \section plugins Plugins
+ There are two types of plugins: plugins that provide data, called "sources"
+ (AbstractSource) and plugins that consume data, called "sinks" (AbstractSink).
+ A typical source would get data from the vehicle and then translate the raw data
+ into AMB property types. Sinks then subscribe to the property types and do useful
+ things with the data.
+
+ Example plugins can be found in plugins/exampleplugin.{h,cpp} for an example
+ source plugin and plugins/examplesink.{h,cpp} for an example sink plugin. There
+ are also many different types of plugins useful for testing and development in the
+ plugins/ directory.
+
+ \section routing_engine Routing Engine Plugins
+ As of 0.12, the routing engine itself can be exchanged for a plugin. This allows
+ users to swap in routing engines with different behaviors, additional security,
+ and custom throttling and filtering features.
+
+ The easiest way to get started creating a routing engine plugin would be to look at
+ AbstractRoutingEngine, the base class for all routing engines and the default
+ routing engine in ambd/core.cpp.
+**/