From 8fb59400763db5a8d2b8933e4e77ad746447b6b3 Mon Sep 17 00:00:00 2001 From: Christian Linke Date: Thu, 16 Apr 2015 10:45:43 +0200 Subject: * updated documentation, fixed bug in generation of documentation, adopted README Signed-off-by: Christian Linke --- AudioManagerDaemon/docx/02_license.dox | 8 ++- .../docx/15_a_CommandLineParsing.dox | 45 ++++++++++++++ AudioManagerDaemon/docx/Doxyfile.in | 8 +-- AudioManagerDaemon/src/main.cpp | 3 +- README | 67 +++++++++++++++------ README.html | 68 ++++++++++++++++------ 6 files changed, 157 insertions(+), 42 deletions(-) create mode 100644 AudioManagerDaemon/docx/15_a_CommandLineParsing.dox diff --git a/AudioManagerDaemon/docx/02_license.dox b/AudioManagerDaemon/docx/02_license.dox index 45f68f3..c54190e 100644 --- a/AudioManagerDaemon/docx/02_license.dox +++ b/AudioManagerDaemon/docx/02_license.dox @@ -17,9 +17,11 @@ /*! \page lic License -\section contr Code Contribution License -The contribution is done under GENIVI CLA, please see here: -https://collab.genivi.org/wiki/display/genivi/Code+Contribution+Team +\section proj Open Source Projects in the source tree +The AudioManger comes with some open source software distributed in the source tree: +- Google Mock (in \googleMock), licensed under MIT license +- Tclap ( in \tclap-1.2.1), licensed under MIT license +- The headers of the NSM, licensed under MPL 2.0 \section split License Split The licenses of this project are split into two parts:\n 1. the AudioManagerDaemon, licensed under MPL 2.0\n diff --git a/AudioManagerDaemon/docx/15_a_CommandLineParsing.dox b/AudioManagerDaemon/docx/15_a_CommandLineParsing.dox new file mode 100644 index 0000000..74dd2e0 --- /dev/null +++ b/AudioManagerDaemon/docx/15_a_CommandLineParsing.dox @@ -0,0 +1,45 @@ + /* + * Copyright (C) 2012, BMW AG + * + * This file is part of GENIVI Project AudioManager. + * + * Contributions are licensed to the GENIVI Alliance under one or more + * Contribution License Agreements. + * + * \copyright + * This Source Code Form is subject to the terms of the + * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with + * this file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * \\author Christian Linke (christian.linke@bmw.de) + * + */ + /*! +\page cmdline CommandLineParsing +\section tclap TCLAP +Commandline parsing is accomplished via a template library that is added to the source tree of the Audiomanager: TCLAP. +The license of this libraty is MIT. +It manages commandline parsing in a handy way. More information can be found here: +http://tclap.sourceforge.net +\section cmdplugins CommandLine Parsing in the Plugins +The commandline Class that parses the commandline can be accessed via am::CAmCommandLineSingleton . This factory creates +a commandline object that can be accessed everywhere in the Audiomanager. +In the constructor of a plugin, the plugins can add commandline arguments they hold as member. +Here the member, in this case of type TCLAP::ValueArg mCommandLineArg; + +\code +mCommandLineArg("K","controllerPluginArg","a test argument for the controller",false,"bla","string") +\endcode + +In the constructor, add the argument to the commandline like this +\code +CAmCommandLineSingleton::instance()->add(mCommandLineArg); +\endcode +And then in the startup controller routine (or later) you can get the value of the argument, like +\code +mCommandLineArg.getValue() +\endcode + +An example can be found in the plugins repository in the test controller. + +*/ diff --git a/AudioManagerDaemon/docx/Doxyfile.in b/AudioManagerDaemon/docx/Doxyfile.in index 5f04e05..8cd141f 100644 --- a/AudioManagerDaemon/docx/Doxyfile.in +++ b/AudioManagerDaemon/docx/Doxyfile.in @@ -93,9 +93,9 @@ FILE_PATTERNS = *.h *.cpp *.dox RECURSIVE = YES EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = */test/* */build*/* */cmake/* */googleMock/* +EXCLUDE_PATTERNS = */test/* */build*/* */cmake/* */googleMock/* */tclap*/* EXCLUDE_SYMBOLS = -EXAMPLE_PATH = @CMAKE_SOURCE_DIR@ +EXAMPLE_PATH = EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO IMAGE_PATH = @CMAKE_SOURCE_DIR@/AudioManagerDaemon/docx/images @@ -231,8 +231,8 @@ SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- -TAGFILES = qtools_docs/qtools.tag=../../qtools_docs/html -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = NO ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl diff --git a/AudioManagerDaemon/src/main.cpp b/AudioManagerDaemon/src/main.cpp index c2bb2f2..6891a5c 100755 --- a/AudioManagerDaemon/src/main.cpp +++ b/AudioManagerDaemon/src/main.cpp @@ -255,7 +255,7 @@ void mainProgram(int argc, char *argv[]) //initialize the commandline parser, and add all neccessary commands try { - TCLAP::CmdLine* cmd(CAmCommandLineSingleton::instanciateOnce("AudioManager CommandLine Options",' ',DAEMONVERSION,true)); + TCLAP::CmdLine* cmd(CAmCommandLineSingleton::instanciateOnce("The team of the AudioManager wishes you a nice day!",' ',DAEMONVERSION,true)); cmd->add(controllerPlugin_); cmd->add(additionalCommandPluginDirs); @@ -410,6 +410,7 @@ void mainProgram(int argc, char *argv[]) int main(int argc, char *argv[], char** envp) { (void) envp; + printf("bla %s",DEFAULT_PLUGIN_COMMAND_DIR); listCommandPluginDirs.push_back(std::string(DEFAULT_PLUGIN_COMMAND_DIR)); listRoutingPluginDirs.push_back(std::string(DEFAULT_PLUGIN_ROUTING_DIR)); diff --git a/README b/README index 2020626..30ed489 100755 --- a/README +++ b/README @@ -325,24 +325,57 @@ static const am_CustomSystemPropertyType_t SYP_UNKNOWN = 0; The commandline options of the AudioManager: ---- -AudioManagerDaemon Version: 3.0.11 -Usage: AudioManagerDaemon [options] -options: - -h: print this message - -i: info about current settings - -v: print version - -d: daemonize AudioManager - -T: DbusType to be used by CAmDbusWrapper (0=DBUS_SESSION[default], 1=DBUS_SYSTEM) - -p path for sqlite database (default is in memory) - -t port for telnetconnection - -m number of max telnetconnections - -c use controllerPlugin (full path with .so ending) - -l replace command plugin directory with (full path) - -r replace routing plugin directory with (full path) - -L add command plugin directory with (full path) - -R add routing plugin directory with (full path) ----- +USAGE: + + ./AudioManager [-K ] [-m ] [-t ] [-i] [-r ] + [-R ] [-l ] [-L ] [-c ] + [--] [--version] [-h] + + +Where: + + -K , --controllerPluginArg + a test argument for the controller + + -m , --maxConnections + Maximal number of connections for telnet + + -t , --telnetport + The port that is used for telnet + + -i, --currentSettings + print current settings and exit + + -r , --RoutingPluginDir + path for looking for routing plugins + -R , --additionalRoutingPluginDirs + additional path for looking for routing plugins, can be used after -r + option + + -l , --CommandPluginDir + path for looking for command plugins + + -L , --additionalCommandPluginDirs + additional path for looking for command plugins, can be used after -l + option + + -c , --controllerPlugin + use controllerPlugin full path with .so ending + + --, --ignore_rest + Ignores the rest of the labeled arguments following this flag. + + --version + Displays version information and exits. + + -h, --help + Displays usage information and exits. + + + The team of the AudioManager wishes you a nice day! +---- +To learn more about the commandline options, check the doxygen documentation. == Telnet Server The audiomanager has a build- in telnetserver that serves for debuggin purposes. diff --git a/README.html b/README.html index b73bd2d..57eea58 100644 --- a/README.html +++ b/README.html @@ -1095,23 +1095,57 @@ static const am_CustomSystemPropertyType_t SYP_UNKNOWN = 0;

The commandline options of the AudioManager:

-
AudioManagerDaemon Version: 3.0.11
-Usage:  AudioManagerDaemon [options]
-options:
-        -h: print this message
-        -i: info about current settings
-        -v: print version
-        -d: daemonize AudioManager
-        -T: DbusType to be used by CAmDbusWrapper (0=DBUS_SESSION[default], 1=DBUS_SYSTEM)
-        -p<path> path for sqlite database (default is in memory)
-        -t<port> port for telnetconnection
-        -m<max> number of max telnetconnections
-        -c<Name> use controllerPlugin <Name> (full path with .so ending)
-        -l<Name> replace command plugin directory with <Name> (full path)
-        -r<Name> replace routing plugin directory with <Name> (full path)
-        -L<Name> add command plugin directory with <Name> (full path)
-        -R<Name> add routing plugin directory with <Name> (full path)
+
USAGE:
+
+   ./AudioManager  [-K <string>] [-m <int>] [-t <int>] [-i] [-r <string>]
+                   [-R <string>] [-l <string>] [-L <string>] [-c <string>]
+                   [--] [--version] [-h]
+
+
+Where:
+
+   -K <string>,  --controllerPluginArg <string>
+     a test argument for the controller
+
+   -m <int>,  --maxConnections <int>
+     Maximal number of connections for telnet
+
+   -t <int>,  --telnetport <int>
+     The port that is used for telnet
+
+   -i,  --currentSettings
+     print current settings and exit
+
+   -r <string>,  --RoutingPluginDir <string>
+     path for looking for routing plugins
+
+   -R <string>,  --additionalRoutingPluginDirs <string>
+     additional path for looking for routing plugins, can be used after -r
+     option
+
+   -l <string>,  --CommandPluginDir <string>
+     path for looking for command plugins
+
+   -L <string>,  --additionalCommandPluginDirs <string>
+     additional path for looking for command plugins, can be used after -l
+     option
+
+   -c <string>,  --controllerPlugin <string>
+     use controllerPlugin full path with .so ending
+
+   --,  --ignore_rest
+     Ignores the rest of the labeled arguments following this flag.
+
+   --version
+     Displays version information and exits.
+
+   -h,  --help
+     Displays usage information and exits.
+
+
+   The team of the AudioManager wishes you a nice day!
+

To learn more about the commandline options, check the doxygen documentation.

@@ -1289,7 +1323,7 @@ handle later on.


-- cgit v1.2.1