summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Lotterbach <timo.lotterbach@bmw-carit.de>2013-01-17 03:12:23 -0800
committerTimo Lotterbach <timo.lotterbach@bmw-carit.de>2013-03-14 05:03:40 -0700
commit36d005cfb5f691d7ef2423ffc16683ba35342941 (patch)
treedf7583caac712f9904ced4f523db5f0ba7935073
parentc12773a806f574d5220a9cbf2a4809238e8cea4f (diff)
downloadlayer_management-36d005cfb5f691d7ef2423ffc16683ba35342941.tar.gz
doc: updated documentation (incomplete)
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
-rw-r--r--Doxyfile4
-rw-r--r--doc/03_definitions.dox20
-rw-r--r--doc/10_scene_package.dox4
-rw-r--r--doc/11_communications_package.dox3
-rw-r--r--doc/18_howto.dox106
-rw-r--r--doc/tex/header.tex8
6 files changed, 134 insertions, 11 deletions
diff --git a/Doxyfile b/Doxyfile
index aa9142c..a9be31c 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -26,13 +26,13 @@ DOXYFILE_ENCODING = UTF-8
# identify the project. Note that if you do not use Doxywizard you need
# to put quotes around the project name if it contains spaces.
-PROJECT_NAME = "GENIVI LayerManagement 0.9.9"
+PROJECT_NAME = "GENIVI LayerManagement 1.0"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = "ivi-layer-management_version_0_9_9"
+PROJECT_NUMBER = "ivi-layer-management_version_1_0"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
diff --git a/doc/03_definitions.dox b/doc/03_definitions.dox
index b86a49e..a1c368f 100644
--- a/doc/03_definitions.dox
+++ b/doc/03_definitions.dox
@@ -26,18 +26,34 @@
<th>Definition</th>
</tr>
<tr>
- <td>Surface</td>
- <td>Graphical content of an application. One application can provide several surfaces.</td>
+ <td>Scene</td>
+ <td>Logical container for multiple screens, layers and surfaces.</td>
+ </tr>
+ <tr>
+ <td>Screen</td>
+ <td>Logical container for multiple layers.</td>
</tr>
<tr>
<td>Layer</td>
<td>Logical container for multiple surfaces.</td>
</tr>
<tr>
+ <td>Surface</td>
+ <td>Graphical content of an application. One application can provide several surfaces.</td>
+ </tr>
+ <tr>
+ <td>ILM</td>
+ <td>IVI Layer Management</td>
+ </tr>
+ <tr>
<td>IPC</td>
<td>Inter Process Communication.</td>
</tr>
<tr>
+ <td>IVI</td>
+ <td>In Vehicle Infotainment</td>
+ </tr>
+ <tr>
<td>RenderOrder</td>
<td>Logical arrangements of surfaces or layers from back to front.</td>
</tr>
diff --git a/doc/10_scene_package.dox b/doc/10_scene_package.dox
index dc1dce8..11c8bd5 100644
--- a/doc/10_scene_package.dox
+++ b/doc/10_scene_package.dox
@@ -22,9 +22,9 @@
\section scenePackageOverview Overview
-The scene is an entity for managing the list of layers, their surfaces and the
+The scene is an entity for managing the list of screens, layers, their surfaces and the
respective properties. It is passed to the render packages so it can be used to
-iterate through the layers and surfaces and render these in the required render
+iterate through the screens, layers and surfaces and render these in the required render
order.
\image html ./doc/images/class_diagram_internal_container_types.png Class Diagram of Internal Container Types
diff --git a/doc/11_communications_package.dox b/doc/11_communications_package.dox
index 9a1f12e..9e331f0 100644
--- a/doc/11_communications_package.dox
+++ b/doc/11_communications_package.dox
@@ -47,8 +47,7 @@ in chapter 6. When receiving commands on this communication channel the package
one or more of the command objects described below and calls the execute method of the
layermanager with these command objects. The command objects contain everything which
is needed to execute the command, the parameters, the type of command etc. Changes to
-the list of layers and properties are then performed at a central point within the
-layermanager.
+the scene elements and their properties are then executed within the layermanager.
An implementation of a communication library must subclass ICommunicator and
implement the inherited start() and stop() methods, as well as a way to load the
diff --git a/doc/18_howto.dox b/doc/18_howto.dox
new file mode 100644
index 0000000..1825a7e
--- /dev/null
+++ b/doc/18_howto.dox
@@ -0,0 +1,106 @@
+/***************************************************************************
+*
+* Copyright 2012 BMW Car IT GmbH
+*
+*
+* Licensed 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.
+*
+****************************************************************************/
+/*!
+
+\page howto Howtos and Step-by-Step Guides
+
+\section howtoPlugin Howto Create a LayerManagement Plugin
+
+\subsection howtoPluginBuildSystem Setup Build System
+
+\li create folder LayerManagerPlugins/<PluginType>/<PluginName> (referred to as [PLUGIN_DIR])
+\li add File CMakeLists.txt to [PLUGIN_DIR] using this template:
+\code
+############################################################################
+#
+# Copyright <year> <your_company>
+#
+#
+# Licensed 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.
+#
+############################################################################
+
+cmake_minimum_required (VERSION 2.6)
+
+#===========================================================================
+# plugin configuration
+#===========================================================================
+project(<<PLUGIN_NAME>>)
+project_type(PLUGIN)
+
+include_directories(
+ include
+ ${CMAKE_SOURCE_DIR}/LayerManagerUtils/include
+ ${CMAKE_SOURCE_DIR}/LayerManagerBase/include
+)
+
+set(LIBS
+ LayerManagerUtils
+ LayerManagerBase
+)
+
+set(SRC_FILES
+ <<PLUGIN_SOURCE_FILES>>
+)
+
+#===========================================================================
+# create plugin
+#===========================================================================
+add_library(${PROJECT_NAME} ${LIBRARY_BUILDMODE} ${SRC_FILES})
+
+install(TARGETS ${PROJECT_NAME}
+ LIBRARY DESTINATION lib/layermanager/<<PLUGIN_TYPE>>
+ ARCHIVE DESTINATION lib/layermanager/static)
+
+#===========================================================================
+# external libraries
+#===========================================================================
+target_link_libraries(${PROJECT_NAME} ${LIBS})
+
+add_dependencies(${PROJECT_NAME} ${LIBS})
+\endcode
+
+\li fill in your real values for
+ \li <<PLUGIN_NAME>>: any name you like, bu no spaces or special characters except '-' or '_' (e.g. MyNewPlugin_v2_1)
+ \li <<PLUGIN_SOURCE_FILES>>: list of source files to be included in plugin, usually a list like "src/fileA.cpp src/fileB.cpp src/fileC.cpp)
+ \li <<PLUGIN_TYPE>>: may be renderer, communicator, ipcmodule, sceneprovider, healthmonitor
+
+\subsection howtoPluginRenderer Create a Renderer Plugin
+
+\subsection howtoPluginCommunicator Create a Communicator Plugin
+
+\subsection howtoPluginSceneProvider Create a Scene Provider Plugin
+
+\subsection howtoPluginHealthMonitor Create a Health Monitor Plugin
+
+\subsection howtoPluginIpcModule Create a Ipc Module Plugin
+
+
+
+*/
diff --git a/doc/tex/header.tex b/doc/tex/header.tex
index 7fcc334..fc68df7 100644
--- a/doc/tex/header.tex
+++ b/doc/tex/header.tex
@@ -53,7 +53,7 @@
\lfoot{}
-\cfoot{Component Design for $projectname, Version 2.0}
+\cfoot{Component Design for $projectname, Version 3.0}
\rfoot{}
@@ -68,9 +68,9 @@
\vspace{0.3cm}
{\Large Component Design for $projectname}\\
\vspace{0.3cm}
-{\large Version 2.0}\\
+{\large Version 3.0}\\
\vspace{0.3cm}
-{\small 06.02.2012}\\
+{\small 15.02.2013}\\
\end{center}
{\large Sponsored by:}\\
@@ -141,6 +141,8 @@ Date & Document Version & Changes \\
\hline
06.02.2012 & 2.0 & Updated API References to LayerManagement v0.9.5, updated images, switched to auto-generation of document \\
\hline
+15.02.2012 & 2.0 & Updated API References to LayerManagement v1.0 (work in progress) \\
+\hline
\end{tabular}