doc: updated documentation (incomplete)
authorTimo Lotterbach <timo.lotterbach@bmw-carit.de>
Thu, 17 Jan 2013 11:12:23 +0000 (03:12 -0800)
committerTimo Lotterbach <timo.lotterbach@bmw-carit.de>
Thu, 14 Mar 2013 12:03:40 +0000 (05:03 -0700)
Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
Doxyfile
doc/03_definitions.dox
doc/10_scene_package.dox
doc/11_communications_package.dox
doc/18_howto.dox [new file with mode: 0644]
doc/tex/header.tex

index aa9142c..a9be31c 100644 (file)
--- 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.
 
 # 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.
 
 
 # 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
 
 # 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
index b86a49e..a1c368f 100644 (file)
         <th>Definition</th>
     </tr>
     <tr>
         <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>
     </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>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>
         <td>RenderOrder</td>
         <td>Logical arrangements of surfaces or layers from back to front.</td>
     </tr>
index dc1dce8..11c8bd5 100644 (file)
@@ -22,9 +22,9 @@
 
 \section scenePackageOverview Overview
 
 
 \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
 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
 order.
 
 \image html ./doc/images/class_diagram_internal_container_types.png Class Diagram of Internal Container Types
index 9a1f12e..9e331f0 100644 (file)
@@ -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
 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
 
 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 (file)
index 0000000..1825a7e
--- /dev/null
@@ -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
+
+
+
+*/
index 7fcc334..fc68df7 100644 (file)
@@ -53,7 +53,7 @@
 
 
 \lfoot{}
 
 
 \lfoot{}
-\cfoot{Component Design for $projectname, Version 2.0}
+\cfoot{Component Design for $projectname, Version 3.0}
 \rfoot{}
 
 
 \rfoot{}
 
 
@@ -68,9 +68,9 @@
 \vspace{0.3cm}
 {\Large Component Design for $projectname}\\
 \vspace{0.3cm}
 \vspace{0.3cm}
 {\Large Component Design for $projectname}\\
 \vspace{0.3cm}
-{\large Version 2.0}\\
+{\large Version 3.0}\\
 \vspace{0.3cm}
 \vspace{0.3cm}
-{\small 06.02.2012}\\
+{\small 15.02.2013}\\
 \end{center}
 
 {\large Sponsored by:}\\
 \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
 \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}
 
 
 \end{tabular}