<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" href="./robodoc.css" type="text/css" />
<title>./src/commands.ads</title>
<!-- Source: ./src/commands.ads -->
<!-- Generated with ROBODoc Version 4.99.43 (Feb  8 2020) -->
</head>
<body>
<div id="logo">
<a name="robo_top_of_doc">Bob v3.1 code documentation</a>
</div> <!-- logo -->
<div id="navigation">
<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
<a class="menuitem" href="./sources.html#top">Source files</a>
<a class="menuitem" href="./index.html#top">Index</a>
<a class="menuitem" href="./robo_constants.html#top">Constants</a>
<a class="menuitem" href="./robo_subprograms.html#top">Subprograms</a>
<a class="menuitem" href="./robo_packages.html#top">Packages</a>
<a class="menuitem" href="./robo_records.html#top">Records</a>
<a class="menuitem" href="./robo_types.html#top">Types</a>
<a class="menuitem" href="./robo_variables.html#top">Variables</a>
</div> <!-- navigation -->
<div id="content">
<h3>TABLE OF CONTENTS</h3>
<ul>
<li>1. <a href="#robo0">Commands/Commands</a></li>
<ul>
<li>1.1. <a href="#robo3">Commands/Commands.Commands_Container</a></li>
<li>1.2. <a href="#robo4">Commands/Commands.Unbounded_String_Container</a></li>
<li>1.3. <a href="#robo5">Commands/Commands.Variables_Container</a></li>
<li>1.4. <a href="#robo7">Commands/Commands.Command_Record</a></li>
<li>1.5. <a href="#robo8">Commands/Empty_Command</a></li>
<li>1.6. <a href="#robo11">Commands/Commands.Execute_Command</a></li>
</ul>
</ul>
<hr />
<a name="Commands2fCommands"></a>
<a name="robo0"></a><h2>Commands/Commands [ Packages ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./robo_packages.html#robo_top_of_doc">Packages</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Provide code for manipulate configured Bob commands
</pre>
<p class="item_name">SOURCE</p>
<pre class="source"><span class="keyword">package</span> <strong>Commands</strong> <span class="keyword">is</span>
</pre>

<hr />
<a name="Commands2fCommands2eCommands5fContainer"></a>
<a name="robo3"></a><h2>Commands/Commands.Commands_Container [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo0">Commands</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Used to store all available Bob commands.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">package</span> Commands_Container <span class="keyword">is</span> <span class="keyword">new</span> Ordered_Maps<span class="sign">(</span>Key_Type <span class="sign">=</span><span class="sign">&gt;</span> Unbounded_String<span class="sign">,</span>
      Element_Type <span class="sign">=</span><span class="sign">&gt;</span> Command_Record<span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="Commands2fCommands2eUnbounded5fString5fContainer"></a>
<a name="robo4"></a><h2>Commands/Commands.Unbounded_String_Container [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo0">Commands</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Used to store commands to execute
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">package</span> Unbounded_String_Container <span class="keyword">is</span> <span class="keyword">new</span> Vectors<span class="sign">(</span>Index_Type <span class="sign">=</span><span class="sign">&gt;</span> Positive<span class="sign">,</span>
      Element_Type <span class="sign">=</span><span class="sign">&gt;</span> Unbounded_String<span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="Commands2fCommands2eVariables5fContainer"></a>
<a name="robo5"></a><h2>Commands/Commands.Variables_Container [ Types ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo0">Commands</a> ] [ <a href="./robo_types.html#robo_top_of_doc">Types</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Used to store enviroment variables for the command
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">package</span> Variables_Container <span class="keyword">is</span> <span class="keyword">new</span> Hashed_Maps<span class="sign">(</span>Key_Type <span class="sign">=</span><span class="sign">&gt;</span> Unbounded_String<span class="sign">,</span>
      Element_Type <span class="sign">=</span><span class="sign">&gt;</span> Unbounded_String<span class="sign">,</span> Hash <span class="sign">=</span><span class="sign">&gt;</span> Ada<span class="sign">.</span>Strings<span class="sign">.</span>Unbounded<span class="sign">.</span>Hash<span class="sign">,</span>
      Equivalent_Keys <span class="sign">=</span><span class="sign">&gt;</span> <span class="quote">"="</span><span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="Commands2fCommands2eCommand5fRecord"></a>
<a name="robo7"></a><h2>Commands/Commands.Command_Record [ Records ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo0">Commands</a> ] [ <a href="./robo_records.html#robo_top_of_doc">Records</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Data structure for the Bob commands.
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">type</span> Command_Record <span class="keyword">is</span> <span class="keyword">record</span>
      Execute<span class="sign">:</span> Unbounded_String_Container<span class="sign">.</span>Vector<span class="sign">;</span>
      Variables<span class="sign">:</span> Variables_Container<span class="sign">.</span>Map<span class="sign">;</span>
      Description<span class="sign">:</span> Unbounded_String<span class="sign">;</span>
      Output<span class="sign">:</span> Unbounded_String<span class="sign">;</span>
      Flags<span class="sign">:</span> Unbounded_String_Container<span class="sign">.</span>Vector<span class="sign">;</span>
   <span class="keyword">end</span> <span class="keyword">record</span><span class="sign">;</span>
</pre>
<p class="item_name">PARAMETERS</p>
<pre> Execute     - <a href="#robo0">Commands</a> or programs to execute with this command.
 Variables   - Environment variables for this command.
 Description - Description of the command. Will be show to the user with
               help command.
 Output      - Where to send output of this command. Possible options are:
               "standard" standard output (default), "error" standard
               error output, anything other will be treated as path to file
               where output should be redirected.
 Flags       - Flags assigned to this command. Possible options are:
               "unixonly" command available only on Unix systems,
               "windowsonly" command available only on Windows,
               "internal" internal command, don't show on list of
               available commands, "evaluratevariables" treat command
               variables as programs to execute and assign result to the
               variables.
</pre>

<hr />
<a name="Commands2fEmpty5fCommand"></a>
<a name="robo8"></a><h2>Commands/Empty_Command [ Constants ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo0">Commands</a> ] [ <a href="./robo_constants.html#robo_top_of_doc">Constants</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Empty command constant
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <strong>Empty_Command</strong><span class="sign">:</span> <span class="keyword">constant</span> Command_Record <span class="sign">:</span><span class="sign">=</span>
     <span class="sign">(</span>Execute <span class="sign">=</span><span class="sign">&gt;</span> Unbounded_String_Container<span class="sign">.</span>Empty_Vector<span class="sign">,</span>
      Variables <span class="sign">=</span><span class="sign">&gt;</span> Variables_Container<span class="sign">.</span>Empty_Map<span class="sign">,</span>
      Description <span class="sign">=</span><span class="sign">&gt;</span> Null_Unbounded_String<span class="sign">,</span>
      Output <span class="sign">=</span><span class="sign">&gt;</span> To_Unbounded_String<span class="sign">(</span>Source <span class="sign">=</span><span class="sign">&gt;</span> <span class="quote">"standard"</span><span class="sign">)</span><span class="sign">,</span>
      Flags <span class="sign">=</span><span class="sign">&gt;</span> Unbounded_String_Container<span class="sign">.</span>Empty_Vector<span class="sign">)</span><span class="sign">;</span>
</pre>

<hr />
<a name="Commands2fCommands2eExecute5fCommand"></a>
<a name="robo11"></a><h2>Commands/Commands.Execute_Command [ Subprograms ]</h2>

<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo0">Commands</a> ] [ <a href="./robo_subprograms.html#robo_top_of_doc">Subprograms</a> ]</p>
<p class="item_name">FUNCTION</p>
<pre> Execute selected Bob command
</pre>
<p class="item_name">SOURCE</p>
<pre class="source">   <span class="keyword">procedure</span> Execute_Command
     <span class="sign">(</span>Key<span class="sign">:</span> Unbounded_String<span class="sign">;</span>
      Bob_Commands_List<span class="sign">:</span> <span class="keyword">in</span> <span class="keyword">out</span> Commands_Container<span class="sign">.</span>Map<span class="sign">)</span> <span class="keyword">with</span>
      Pre <span class="sign">=</span><span class="sign">&gt;</span> Key <span class="sign">/</span><span class="sign">=</span> Null_Unbounded_String<span class="sign">,</span>
      Test_Case <span class="sign">=</span><span class="sign">&gt;</span> <span class="sign">(</span>Name <span class="sign">=</span><span class="sign">&gt;</span> <span class="quote">"Test_ExecuteCommand"</span><span class="sign">,</span> Mode <span class="sign">=</span><span class="sign">&gt;</span> Nominal<span class="sign">)</span><span class="sign">;</span>
</pre>
<p class="item_name">PARAMETERS</p>
<pre> Bob_Commands_List - The list of the program commands
 Key               - Command name which the user entered as a first
                     parameter for the program
</pre>

</div> <!-- content -->
<div id="footer">
<p>Generated from ./src/commands.ads with <a href="http://www.xs4all.nl/~rfsber/Robo/robodoc.html">ROBODoc</a> V4.99.43 on Sun Mar 28 2021 07:50:06
</p>
</div> <!-- footer -->
</body>
</html>

